Made the following changes in CTM Env to align the Icarus version of the code with the Jason one:
Added an option to produce the courant numbers and mass fluxes needed for Advection.
The flag output_forcingData needs to be set to true in CTM_GridComp.rc.
The fields MFX, MFY, CX and CY should be included in HISTORY.rc
Added an option to read the courant number and mass fluxes.
The flag read_advCoreFields needs to be set to true in CTM_GridComp.rc
CTM Convection was refactored.
Added an option to do RAS calculations.
The flag enable_rasCalculations needs to be set to true in CTM_GridComp.rc
Added an option to do Advection or not.
If choosing not to do Advection, the flag do_ctmAdvection needs to be set to false in CTM_GridComp.rc
CTM Env was refactored to add an internal state and to include calculations to derive fields into subroutines.
CTM GridComp was edited to include an internal state.
The atmospheric pressure is now calculated using the surface pressure and AK and BK. This is the most significant change among all the modifications.
Included the setting Ext_AllowExtrap: .TRUE. (in the ExtData rc file templates) to allow reading data files that have one record only.
The following tests were done to validate the changes:
Ran the Idealized Passive Tracers configuration using MERRA2 forcings and showed that there is total mass conservation.
Compared the regridding outputs of this version of the code and that of Icarus and showed that both versions of the code produce the same total budget.
Did a one-month TR+GOCART experiment.
Ran the Idealized Passive Tracers configuration using FP collections where the courant numbers (CX, CY), mass fluxes (MFX, MFY), surface pressure (PS) and specific humidity (Q) are read on the cubed-sphere grid and the remaining fields on the lat-lon grid. The results showed mass conservation.
Made the following changes in CTM Env to align the Icarus version of the code with the Jason one:
The following tests were done to validate the changes: