Home

Awesome

Introduction

This repository contains code for the AER continuum used in LBLRTM and as a standalone model, MT_CKD. MT_CKD is an enhancement ot the original CKD model

LBLRTM uses the line parameters and MT_CKD continuum in its calculations. The models and data are thus linked. For the latest release, the relationships are:

LBLRTM ReleaseMT_CKD ReleaseLine File
v12.174.3v3.8.1

If any build or run issues occur, please create an issue or contact the AER-RC Group.

Cloning the Latest Release

Assuming the output directory should be MT_CKD:

git clone --recursive git@github.com:AER-RC/MT_CKD.git

--recursive is important, because this repository is linked with our common FORTRAN modules repository that are required in the model builds. Because LBLRTM uses the continuum, it, too, is also added as a submodule and a couple of its source files link to the LBLRTM submodule (contnm.f90, lblparams.f90, phys_consts.f90, and planet_earth.f90). If this keyword is forgotten, one can do:

git submodule init
git submodule update

in the MT_CKD directory.

Currently, the latest release is MT_CKD_4.3, and it is recommended that this be the version that users clone and checkout (rather than the master branch). To do this, one needs to simply checkout the 4.3 tag:

git checkout tags/4.3

Instead of cloning, users can also download an MT_CKD tarball and unpack it:

tar xvf cntnm_4.3.tar.gz
mv MT_CKD-4.3 cntnm

Though not necessary, the move to cntnm is for consistency with previous release packages and the associated documentation.

Building

To build the continuum model:

cd MT_CKD/build
make -f make_cntnm $TARGET

The TARGET environment variable depends on the user's operating system, compiler, and desired precision. Available targets are:

TargetDescriptionCompiler
aixIBMsglIBM/AIX OS using IBM fortran,single precisionxlf90
linuxPGIsglLinux OS using PGI fortran,single precisionpgf90
linuxGNUsglLinux OS using GNU fortran,single precisiongfortran
linuxG95sglLinux OS using G95 fortran,single precisiong95
inuxINTELsglLinux OS using Intel fortran,single precisionifort
mingwGNUsglWindows unix shell environment using gfortran,single precisiongfortran
osxABSOFTsglMac OS_X using Absoft Pro fortran,singleprecisionf90
osxGNUsglMac OS_X using GNU fortran,singleprecisiongfortran
osxIBMsglMac OS_X using IBM XL fortran,singleprecisionxlf90
osxINTELsglMac OS_X using Intel fortran,single precisionifort
sunSUNsglSun/Solaris OS using Sun fortran,single precisionsunf90
sgiMIPSsglSGI/IRIX64 OS using MIPS fortran,single precisionf90

Run Example

To run MT_CKD as a standalone program instead of in LBLRTM:

cd run_example/
ln -s ../cntnm_v4.3_linux_pgi_dbl cntnm # assuming v4.3 was built with PGI in double precision (linuxPGIdbl)
./cntnm (0, enter)

Push 0, then enter, and CNTNM.OPTDPT and WATER.COEF will be written to working directory. These can be compared with CNTNM.OPTDPT_mt_ckd_AER and WATER.COEF_mt_ckd_AER, which are included in version control and are considered the baseline calculations. They change with every release and will be updated accordingly.

For other runs of the continuum standalone program, the user can edit INPUT.example in the run_example directory.