3.4.3. WRF-CTSM Tools and Utilities

This section includes instructions on tools and utilities developed for WRF-CTSM simulations. Generate CTSM surface dataset for a WRF domain

Before this step, make sure you have successfully created geo_em* files for your specific WRF domain using WPS. Instructions on how to run geogrid.exe is described in here.

  1. Create SCRIP grid file from WRF geo_em* files, using the following ncl script:

    ncl create_scrip_file.ncl

    This creates two files that are complements of each other only in the mask field

  2. Create mapping files by using mkmapdata code under CTSM/tools/mkmapdata/.

    Using environment variables set the following environment varibales needed by mkunitymap.ncl code:

    setenv GRIDFILE1 wrf2clm_ocean_noneg.nc
    setenv GRIDFILE2 wrf2clm_land_noneg.nc
    setenv MAPFILE wrf2clm_mapping_noneg.nc
    setenv PRINT TRUE
    ncl mkunitymap.ncl


This will throw some git errors if not run in a repository.

  1. Create ESMF mapping files by running regridbatch.sh:

    qsub regridbatch.sh
  2. In your ctsm repository directory, build:

    ../../../configure --macros-format Makefile --mpilib mpi-serial
  3. Generate CTSM domain files using get_domain tool:

    ./gen_domain -m /glade/work/$USER/ctsm/nldas_grid/scrip/wrf2clm_mapping_noneg.nc -o wrf2clm_ocn_noneg -l wrf2clm_lnd_noneg
  4. Create surface datasets in tools/mksurfdata_map:

    ./mksurfdata.pl -res usrspec -usr_gname "nldas" -usr_gdate "190124" -usr_mapdir "/glade/work/$USER/ctsm/nldas_grid/map" -y 2000 -exedir "/glade/u/home/$USER/src/ctsm/ctsm_surfdata/tools/mksurfdata_map" -no-crop Merge WRF initial conditions into an existing CTSM initial condition file

The following procedure is if you’d wish to merget WRF inital conditions from wrfinput file into CTSM initial condition file

ncl transfer_wrfinput_to_ctsm_with_snow.ncl 'finidat="the_existing_finidat_file.nc"' 'wrfinput="your_wrfinput_file"' 'merged="the_merged_finidat_file.nc"'


Sam, can you please make the above ncl script available.