Enabling Operating System Independent Urban Climate Simulations
393
CLMU is the Community Land Model-Urban, hosted by the National Center for Atmospheric Research (NCAR). CLMU acts as an urban model with a single-layer canopy scheme under the Earth system model hierarchy. Running a CLMU simulation, at least, needs to run a Community Land Model (CLM) case. Running a global CESM/CTSM case requires a lot of computing resources that HARDLY be done on a local computer. Therefore, the clmu-app only serves a single point of simulation, and it is not recommended to use container for global simulation. The clm5.0 has beed installed in /p/project. For the detail of clmu-app, please refer to clam-app document.
To run the a case with clam-app:
# 1 pull image
docker pull envdes/clmu-app:1.0
# 2 run container
# need to specify the hostname as clmu-app,
# can change the ContainerName to others
docker run --hostname clmu-app --name ContainerName -it envdes/clmu-app:1.0
# Now we are in the Fedora 31 Bash.
# 3 Optional
# If there is a container, start the clmu container
docker start ContainerName
# Use interactivate way to operate container
docker exec -it ContainerName /bin/bash
# Now we are in the Fedora 31 Bash.
code revised from CTSM official tutorial
cd $CASESCRIPT
# Create a case at the single-point resolutions with their forcing
./create_newcase -case testSPDATASETnAtmForcing -res 1x1_vancouverCAN -compset I1PtClm50SpGs
cd testSPDATASETnAtmForcing
# Figure out the start and end date for this dataset
# You can do this by examining the datafile.
export STOP_N=30
export START_YEAR=1992
export STARTDATE=${START_YEAR}-08-12
./xmlchange RUN_STARTDATE=$STARTDATE,STOP_N=$STOP_N,STOP_OPTION=nsteps
./case.setup
./case.build
./case.submit
# There will need plenty of input data, so it will take a long time to download the data.
# Make sure you have enough space to store the data.
If you get the result like
./case.submit
Submitting case...
check for resubmit
dout_s True
resubmit_num 0
Submit job case.st_archive
ERROR: No result from jobs [('case.run', None), ('case.st_archive', 'case.run or case.test')]
Congratulations, you mostly successfully run your case.
Check the result.
ncdump -h /p/scratch/CESMDATAROOT/Archive/rest/1992-08-13-21600/testSPDATASETnAtmForcing.cpl.r.1992-08-13-21600.nc
# You will see the result of the case.
# double fractions_lx_lfrin(fractions_lx_ny, fractions_lx_nx) ;
# fractions_lx_lfrin:_FillValue = 1.e+30 ;
# fractions_lx_lfrin:units = "unknown" ;
# fractions_lx_lfrin:long_name = "unknown" ;
# fractions_lx_lfrin:standard_name = "unknown" ;
# fractions_lx_lfrin:internal_dname = "fractions_lx" ;
#
#// global attributes:
# :file_version = "cpl7v10" ;
# :model_doi_url = "https://doi.org/10.5065/D67H1H0V" ;
#}
If you get the prepared input data, we recommend using the mont mode to bind the input data local to the container.
This image has amended from https://github.com/HPSCTerrSys/dockerfiles/blob/master/clm5/Dockerfile. The original dockerfile was created by the TerrSysMP team at the Helmholtz Centre for Environmental Research - UFZ. We used fedora 31 as the base image rather that Centos 8, and install the required packages for building CESM/CTSM. We also amended version of the required packages for building ESMF, PnetCDF, and CMake. The the clm5.0 source code is cloned from the release-clm5.0 branch of the CTSM repository. cime_config files are copied to the image to set the environment variables for building CTSM. note!: the config of new version of CTSM is different from the this version, so the cime_config files are different. p/pyscripts is created to store python scripts / sh scripts for running CTSM.
For CLMU-App 1.1, we added the necessary data used to drive the model, especially for Pyclmuapp.
For any issue, feel free to chat with [email protected] / [email protected] .
Content type
Image
Digest
sha256:16c21b027…
Size
1.1 GB
Last updated
about 2 years ago
docker pull envdes/clmu-app:1.1