Create domain file#
In this step you will create the domain file for your case using gen_domain
. First, you need to navigate into the gen_domain_files/src/
directory and compile it with the loaded modules ifort, imkl, netCDF and netCDF-Fortran.
cd ../gen_domain_files/src/
# Compile the script
ifort -o ../gen_domain gen_domain.F90 -mkl -lnetcdff -lnetcdf
Attention
If you get a message saying “ifort: command line remark #10412: option ‘-mkl’ is deprecated and will be removed in a future release. Please use the replacement option ‘-qmkl’” or the compiling fails, replace -mkl
with -qmkl
.
Before running the script you need to export the environment variable GRIDNAME
(same as what you used for the SCRIP grid file and in the runscript_mkmapdata.sh
script).
export GRIDNAME="your gridname"
Then you can run the script:
cd ../
./gen_domain -m $MAPFILE -o $GRIDNAME -l $GRIDNAME
The output of this will be two netCDF files domain.lnd.*.nc
and domain.ocn.*.nc
that define the land and ocean mask respectively. The land mask will inform the atmosphere and land inputs of eCLM when running a case.
However, gen_domain
defaults the use of the variables mask
and frac
on these files to be for ocean models, i.e. 0 for land and 1 for ocean. So to use them you have to either manipulate the domain.lnd.*.nc
file to have mask and frac set to 1 instead of 0 (WARNING: some netCDF script languages have mask
as a reserved keyword e.g. NCO, use single quotation marks as workaround).
Or simply swap/rename the domain.lnd.*.nc
and domain.ocn.*.nc
file:
mv domain.lnd."your gridname"_"your gridname"."yymmdd".nc temp.nc
mv domain.ocn."your gridname"_"your gridname"."yymmdd".nc domain.lnd."your gridname"_"your gridname"."yymmdd".nc
mv temp.nc domain.ocn."your gridname"_"your gridname"."yymmdd".nc
Congratulations! You successfully created your domain files and can now move on to the final next step to create your surface data.