Skip to content

Graduate Student Test

Benjamin Johnson edited this page Oct 28, 2020 · 2 revisions

The CRTM graduate student test

Version v2.4.0, revision 1.0

Basic requirements:

  1. A Fortran 2003 compatible compiler: Preferred: GNU Fortran > v5.0 (tested), intel fortran > 15.0 (tested). Untested: LLVM Flang, Flang, LFortran, NAG, PGI, CCE, IBM, AOCC, Lahey, FTN95, NEC -- please report issues.

  2. A netCDF4 / HDF5 library (search for libnetcdff.a or libnetcdff.so)

  3. A linux, macOS, or unix-style environment. This has not been tested under any Windows Fortran environments, or a JEDI Container environment. Getting Started with Singularity

  4. Bash shell is required, zsh and csh have very limited support: you'll likely run into all sorts of problems.

  5. NOTE: FTP access is required to obtain the CRTM binary file library, you may have to transfer through other methods if FTP is blocked on your machine. Any existing CRTM v2.3.0 fix/ directory will be sufficient for this test.

GST Instructions:

  1. Start a timer to keep track of how long the whole process takes.

  2. Store your git credentials locally to make downloading easier (otherwise it will ask for your login for each item): git config --global credential.helper store

  3. Download and compile the code following the instructions provided in the package. The code is available from github.com (<15 minutes to download):

    git clone https://github.com/JCSDA/crtm.git --branch v2.4.0 crtm_v2.4.0

  4. Then follow the build instructions in the supplied README.md file. (~15 minutes to download external data and build). Ignore any warnings, but report any errors to crtm-support@googlegroups.com.

  5. Run the included test utility (check_crtm.F90) that exercises several elements of the code, and also verifies that the test completes successfully. (< 1 minute to make and run to completion):

    make check

  6. Modification of the test utility to include additional input information (e.g., add new sensors, more clouds, additional absorbers, etc.), and modify the code to provide additional output information (i.e., the “Jacobian” output) (~ 15 minutes to modify, rebuild, verify output)

   Task: Add a GOES-R visible sensor to the `check_crtm.F90` file by modifying the appropriate lines.

   Action #1: find the big_endian files v.abi_gr.SpcCoeff.bin and v.abi_gr.TauCoeff.bin within the ./crtm_v2.4.0/fix/ directory

   Action #2: copy those files to the ./crtm_v2.4.0/src/Build/libsrc/test/coefficients/big_endian/ directory

   Action #3: modify check_crtm.F90 (located in the ./crtm_v2.4.0/src/Build/libsrc/test/ directory) to add one more sensor: change n_sensors = 3, and append "v.abi_gr" to the sensor list, taking care to maintain the same number of characters for each item in the list.

   Action #4: use the "make check" command to see if it runs successfully.

Additional opportunities for Graduate Student tests and evaluation for v2.4.0 coming soon!