Skip to content

Commit 17f3c5e

Browse files
AMLattanziAaron Lattanzi
and
Aaron Lattanzi
authored
RRTMGP Port (#2062)
* First pass at merging port into development. * Fix BuildERFExe.cmake and include a verbose debug file to temporary checks. * Bump the submodule and add an include. * Set RRTMGP submodule to E3SM hash. * Working through issus in Rad source files. * Fix ERF code, still header issue. * Compiled in debug. * Fix codespell. * Ran multiple steps with reasonable heating sources. * Clear gas names before next population. * Add to codespell ignore. * deep copy fixes and o3 vert prof. * This passed the unit test. --------- Co-authored-by: Aaron Lattanzi <[email protected]>
1 parent 629f494 commit 17f3c5e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+3332
-8607
lines changed

.codespell-ignore-words

+1
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ ABL
1010
abl
1111
indx
1212
aer
13+

.gitmodules

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
[submodule "Submodules/RRTMGP"]
1010
path = Submodules/RRTMGP
1111
url = https://github.com/E3SM-Project/rte-rrtmgp
12-
shallow = true
12+
branch = jgfouca/more_perf
13+
shallow = true
1314
[submodule "Submodules/NOAH-MP"]
1415
path = Submodules/NOAH-MP
15-
url = https://github.com/AIEADA/noahmp.git
16-
shallow=true
16+
url = https://github.com/AIEADA/noahmp.git
17+
shallow = true
1718
[submodule "Submodules/WW3"]
1819
path = Submodules/WW3
1920
url = https://github.com/erf-model/WW3

CMake/BuildERFExe.cmake

+24-26
Original file line numberDiff line numberDiff line change
@@ -65,29 +65,36 @@ function(build_erf_lib erf_lib_name)
6565
endif()
6666

6767
if(ERF_ENABLE_RRTMGP)
68+
target_include_directories(${erf_lib_name} PUBLIC
69+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Radiation>
70+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp>
71+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rrtmgp>
72+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rrtmgp/kernels>
73+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rte>
74+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rte/kernels>
75+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples>
76+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples/all-sky>
77+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/cloud_optics>
78+
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/fluxes_byband>
79+
)
6880
target_sources(${erf_lib_name} PRIVATE
69-
${SRC_DIR}/Utils/ERF_Orbit.cpp
70-
${SRC_DIR}/Radiation/ERF_InitRRTMGP.cpp
71-
${SRC_DIR}/Radiation/ERF_FinalizeRRTMGP.cpp
72-
${SRC_DIR}/Radiation/ERF_RunLongWaveRRTMGP.cpp
73-
${SRC_DIR}/Radiation/ERF_RunShortWaveRRTMGP.cpp
74-
${SRC_DIR}/Radiation/ERF_CloudRadProps.cpp
75-
${SRC_DIR}/Radiation/ERF_AeroRadProps.cpp
76-
${SRC_DIR}/Radiation/ERF_Optics.cpp
81+
${SRC_DIR}/Radiation/ERF_RRTMGP_Interface.cpp
7782
${SRC_DIR}/Radiation/ERF_Radiation.cpp
78-
${SRC_DIR}/Radiation/ERF_Albedo.cpp
83+
${SRC_DIR}/Radiation/ERF_OrbCosZenith.cpp
84+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rrtmgp/mo_rrtmgp_util_reorder.cpp
85+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rrtmgp/kernels/mo_gas_optics_kernels.cpp
86+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rte/expand_and_transpose.cpp
87+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rte/kernels/mo_fluxes_broadband_kernels.cpp
88+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rte/kernels/mo_optical_props_kernels.cpp
89+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/rte/kernels/mo_rte_solver_kernels.cpp
7990
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples/mo_load_coefficients.cpp
91+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples/all-sky/mo_garand_atmos_io.cpp
92+
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples/all-sky/mo_load_cloud_coefficients.cpp
8093
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/fluxes_byband/mo_fluxes_byband_kernels.cpp
8194
)
82-
83-
# The interface code needs to know about the RRTMGP includes
8495
target_compile_definitions(${erf_lib_name} PUBLIC ERF_USE_RRTMGP)
85-
86-
target_include_directories(${erf_lib_name} SYSTEM PUBLIC
87-
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/fluxes_byband
88-
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/extensions/cloud_optics
89-
${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp/examples
90-
)
96+
target_compile_definitions(${erf_lib_name} PUBLIC RRTMGP_ENABLE_YAKL)
97+
target_link_libraries(${erf_lib_name} PUBLIC yakl)
9198
endif()
9299

93100
target_sources(${erf_lib_name}
@@ -227,10 +234,6 @@ endif()
227234
endif()
228235
endif()
229236

230-
if(ERF_ENABLE_RRTMGP)
231-
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/Radiation>)
232-
endif()
233-
234237
if(ERF_ENABLE_MPI)
235238
target_link_libraries(${erf_lib_name} PUBLIC $<$<BOOL:${MPI_CXX_FOUND}>:MPI::MPI_CXX>)
236239
endif()
@@ -266,11 +269,6 @@ endif()
266269
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/LandSurfaceModel/SLM>)
267270
target_include_directories(${erf_lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/Source/LandSurfaceModel/MM5>)
268271

269-
if(ERF_ENABLE_RRTMGP)
270-
target_link_libraries(${erf_lib_name} PUBLIC yakl)
271-
target_link_libraries(${erf_lib_name} PUBLIC rrtmgp)
272-
endif()
273-
274272
#Link to amrex library
275273
target_link_libraries_system(${erf_lib_name} PUBLIC AMReX::amrex)
276274
if(ERF_ENABLE_CUDA)

CMakeLists.txt

+9-16
Original file line numberDiff line numberDiff line change
@@ -176,23 +176,21 @@ if(ERF_ENABLE_RRTMGP)
176176
endif()
177177

178178
# Build YAKL as a static library
179-
# YAKL_HOME is YAKL's source directlry
180179
set(YAKL_HOME ${CMAKE_SOURCE_DIR}/Submodules/YAKL)
181-
# YAKL_BIN is where we're placing the YAKL library
182180
set(YAKL_BIN ${CMAKE_BINARY_DIR}/yakl)
183-
# Build the YAKL static library
184181
add_subdirectory(${YAKL_HOME} ${YAKL_BIN})
185182

186183
# Build the static rrtmgp library
187184
set(RRTMGP_BIN ${CMAKE_BINARY_DIR}/rrtmgp)
188185
add_subdirectory(${CMAKE_SOURCE_DIR}/Submodules/RRTMGP/cpp ${RRTMGP_BIN})
189186

190-
# Find the radiation data files
191-
if (DEFINED ENV{ERF_RADIATION_DATA_DIR})
192-
set(ERF_RADIATION_DATA_DIR "$ENV{ERF_RADIATION_DATA_DIR}")
193-
else()
194-
message(FATAL_ERROR "Environment variable ERF_RADIATION_DATA_DIR not set!")
195-
endif()
187+
# Set up libraries and definitions
188+
set(RRTMGP_ENABLE_YAKL TRUE)
189+
include(${YAKL_HOME}/yakl_utils.cmake)
190+
yakl_process_target(rrtmgp)
191+
target_compile_definitions(rrtmgp PUBLIC RRTMGP_ENABLE_YAKL)
192+
target_include_directories(rrtmgp PUBLIC ${YAKL_HOME})
193+
message(STATUS "YAKL Flags: ${YAKL_COMPILER_FLAGS}")
196194
endif()
197195

198196
########################### ERF #####################################
@@ -201,12 +199,6 @@ if(ERF_ENABLE_MPI)
201199
find_package(MPI REQUIRED)
202200
endif()
203201

204-
configure_file(
205-
${CMAKE_SOURCE_DIR}/Source/ERF_Config.H.in
206-
${CMAKE_BINARY_DIR}/ERF_Config.H
207-
@ONLY
208-
)
209-
210202
# General information about machine, compiler, and build type
211203
message(STATUS "ERF Information:")
212204
message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
@@ -245,7 +237,8 @@ target_link_libraries(erf_api PUBLIC erf_srclib)
245237
add_library(${PROJECT_NAME}::erf_api ALIAS erf_srclib)
246238

247239
# Collect all headers and make them installable with the target
248-
set(ERF_INCLUDES "Source/ERF.H;Source/ERF_Constants.H;Source/WindFarmParametrization/SimpleActuatorDisk/ERF_SimpleAD.H;Source/WindFarmParametrization/EWP/ERF_EWP.H;Source/WindFarmParametrization/Null/ERF_NullWindFarm.H;Source/WindFarmParametrization/ERF_WindFarm.H;Source/WindFarmParametrization/Fitch/ERF_Fitch.H;Source/BoundaryConditions/ERF_PhysBCFunct.H;Source/BoundaryConditions/ERF_MOSTAverage.H;Source/BoundaryConditions/ERF_MOSTRoughness.H;Source/BoundaryConditions/ERF_ABLMost.H;Source/BoundaryConditions/ERF_FillPatcher.H;Source/BoundaryConditions/ERF_MOSTStress.H;Source/BoundaryConditions/ERF_TimeInterpolatedData.H;Source/Utils/ERF_InitTerrain.H;Source/Utils/ERF_Interpolation.H;Source/Utils/ERF_TileNoZ.H;Source/Utils/ERF_PlaneAverage.H;Source/Utils/ERF_Interpolation_WENO.H;Source/Utils/ERF_DirectionSelector.H;Source/Utils/ERF_ParFunctions.H;Source/Utils/ERF_Wstar.H;Source/Utils/ERF_MicrophysicsUtils.H;Source/Utils/ERF_SatMethods.H;Source/Utils/ERF_Interpolation_1D.H;Source/Utils/ERF_Interpolation_UPW.H;Source/Utils/ERF_TerrainMetrics.H;Source/Utils/ERF_Interpolation_WENO_Z.H;Source/Utils/ERF_Thetav.H;Source/Utils/ERF_WaterVaporSaturation.H;Source/Utils/ERF_Utils.H;Source/Utils/ERF_Orbit.H;Source/Utils/ERF_EOS.H;Source/Utils/ERF_HSEUtils.H;Source/EB/ERF_EBIFTerrain.H;Source/EB/ERF_EBIF.H;Source/EB/ERF_EBAux.H;Source/EB/ERF_EBCutCell.H;Source/EB/ERF_EB.H/Source/EB/ERF_EBPolygon.H;Source/EB/ERF_EBUtils.H;Source/Particles/ERFPC.H;Source/Particles/ERF_ParticleData.H;Source/Prob/ERF_InitDensityHSEDry.H;Source/Prob/ERF_InitRayleighDamping.H;Source/Prob/ERF_InitConstantDensityHSE.H;Source/ERF_ProbCommon.H;Source/ERF_Derive.H;Source/Radiation/ERF_Mam4Constituents.H;Source/Radiation/ERF_Mam4Aero.H;Source/Radiation/ERF_Optics.H;Source/Radiation/ERF_ModalAeroWaterUptake.H;Source/Radiation/ERF_CloudRadProps.H;Source/Radiation/ERF_PhysProp.H;Source/Radiation/ERF_Radiation.H;Source/Radiation/ERF_Albedo.H;Source/Radiation/ERF_Parameterizations.H;Source/Radiation/ERF_RadConstants.H;Source/Radiation/ERF_AeroRadProps.H;Source/Radiation/ERF_M2005EffRadius.H;Source/Radiation/ERF_LinearInterpolate.H;Source/Radiation/ERF_Slingo.H;Source/Radiation/ERF_RRTMGP.H;Source/Radiation/ERF_EbertCurry.H;Source/SourceTerms/ERF_NumericalDiffusion.H;Source/SourceTerms/ERF_SrcHeaders.H;Source/SourceTerms/ERF_ForestDrag.H;Source/IO/ERF_SampleData.H;Source/IO/ERF_NCInterface.H;Source/IO/ERF_NCWpsFile.H;Source/IO/ERF_NCPlotFile.H;Source/IO/ERF_ReadBndryPlanes.H;Source/IO/ERF_WriteBndryPlanes.H;Source/PBL/ERF_MYNNStruct.H;Source/PBL/ERF_PBLModels.H;Source/PBL/ERF_PBLHeight.H;Source/TimeIntegration/ERF_TI_substep_fun.H;Source/TimeIntegration/ERF_TI_slow_headers.H;Source/TimeIntegration/ERF_TI_slow_rhs_fun.H;Source/TimeIntegration/ERF_TI_fast_headers.H;Source/TimeIntegration/ERF_TI_utils.H;Source/TimeIntegration/ERF_MRI.H;Source/TimeIntegration/ERF_TI_no_substep_fun.H;Source/LandSurfaceModel/Null/ERF_NullSurf.H;Source/LandSurfaceModel/ERF_LandSurface.H;Source/LandSurfaceModel/MM5/ERF_MM5.H;Source/LandSurfaceModel/SLM/ERF_SLM.H;Source/ERF_IndexDefines.H;Source/Advection/ERF_AdvectionSrcForMom_N.H;Source/Advection/ERF_AdvectionSrcForScalars.H;Source/Advection/ERF_AdvectionSrcForMom_T.H;Source/Advection/ERF_Advection.H;Source/MultiBlock/ERF_MultiBlockContainer.H;Source/Initialization/ERF_MetgridUtils.H;Source/Diffusion/ERF_EddyViscosity.H;Source/Diffusion/ERF_Diffusion.H;Source/Microphysics/Null/ERF_NullMoistLagrangian.H;Source/Microphysics/Null/ERF_NullMoist.H;Source/Microphysics/ERF_Microphysics.H;Source/Microphysics/ERF_LagrangianMicrophysics.H;Source/Microphysics/ERF_EulerianMicrophysics.H;Source/Microphysics/Kessler/ERF_Kessler.H;Source/Microphysics/SAM/ERF_SAM.H;Source/Microphysics/SatAdj/ERF_SatAdj.H;Source/DataStructs/ERF_InputSpongeData.H;Source/DataStructs/ERF_TurbPertStruct.H;Source/DataStructs/ERF_SpongeStruct.H;Source/DataStructs/ERF_AdvStruct.H;Source/DataStructs/ERF_DataStruct.H;Source/DataStructs/ERF_InputSoundingData.H;Source/DataStructs/ERF_DiffStruct.H;Source/DataStructs/ERF_TurbStruct.H;Source/LinearSolvers/ERF_TerrainPoisson.H;Source/LinearSolvers/ERF_FFTUtils.H")
240+
set(ERF_INCLUDES "Source/ERF.H;Source/ERF_Constants.H;Source/WindFarmParametrization/SimpleActuatorDisk/ERF_SimpleAD.H;Source/WindFarmParametrization/EWP/ERF_EWP.H;Source/WindFarmParametrization/Null/ERF_NullWindFarm.H;Source/WindFarmParametrization/ERF_WindFarm.H;Source/WindFarmParametrization/Fitch/ERF_Fitch.H;Source/BoundaryConditions/ERF_PhysBCFunct.H;Source/BoundaryConditions/ERF_MOSTAverage.H;Source/BoundaryConditions/ERF_MOSTRoughness.H;Source/BoundaryConditions/ERF_ABLMost.H;Source/BoundaryConditions/ERF_FillPatcher.H;Source/BoundaryConditions/ERF_MOSTStress.H;Source/BoundaryConditions/ERF_TimeInterpolatedData.H;Source/Utils/ERF_InitTerrain.H;Source/Utils/ERF_Interpolation.H;Source/Utils/ERF_TileNoZ.H;Source/Utils/ERF_PlaneAverage.H;Source/Utils/ERF_Interpolation_WENO.H;Source/Utils/ERF_DirectionSelector.H;Source/Utils/ERF_ParFunctions.H;Source/Utils/ERF_Wstar.H;Source/Utils/ERF_MicrophysicsUtils.H;Source/Utils/ERF_SatMethods.H;Source/Utils/ERF_Interpolation_1D.H;Source/Utils/ERF_Interpolation_UPW.H;Source/Utils/ERF_TerrainMetrics.H;Source/Utils/ERF_Interpolation_WENO_Z.H;Source/Utils/ERF_Thetav.H;Source/Utils/ERF_WaterVaporSaturation.H;Source/Utils/ERF_Utils.H;Source/Utils/ERF_Orbit.H;Source/Utils/ERF_EOS.H;Source/Utils/ERF_HSEUtils.H;Source/EB/ERF_TerrainIF.H;Source/EB/ERF_EBIF.H;Source/Particles/ERFPC.H;Source/Particles/ERF_ParticleData.H;Source/Prob/ERF_InitDensityHSEDry.H;Source/Prob/ERF_InitRayleighDamping.H;Source/Prob/ERF_InitConstantDensityHSE.H;Source/ERF_ProbCommon.H;Source/ERF_Derive.H;Source/Radiation/ERF_RRTMGP_Interface.H;Source/Radiation/ERF_RRTMGP_Utils.H;Source/Radiation/ERF_Radiation.H;Source/Radiation/ERF_OrbCosZenith.H;Source/SourceTerms/ERF_NumericalDiffusion.H;Source/SourceTerms/ERF_SrcHeaders.H;Source/SourceTerms/ERF_ForestDrag.H;Source/IO/ERF_SampleData.H;Source/IO/ERF_NCInterface.H;Source/IO/ERF_NCWpsFile.H;Source/IO/ERF_NCPlotFile.H;Source/IO/ERF_ReadBndryPlanes.H;Source/IO/ERF_WriteBndryPlanes.H;Source/PBL/ERF_MYNNStruct.H;Source/PBL/ERF_PBLModels.H;Source/PBL/ERF_PBLHeight.H;Source/TimeIntegration/ERF_TI_substep_fun.H;Source/TimeIntegration/ERF_TI_slow_headers.H;Source/TimeIntegration/ERF_TI_slow_rhs_fun.H;Source/TimeIntegration/ERF_TI_fast_headers.H;Source/TimeIntegration/ERF_TI_utils.H;Source/TimeIntegration/ERF_MRI.H;Source/TimeIntegration/ERF_TI_no_substep_fun.H;Source/LandSurfaceModel/Null/ERF_NullSurf.H;Source/LandSurfaceModel/ERF_LandSurface.H;Source/LandSurfaceModel/MM5/ERF_MM5.H;Source/LandSurfaceModel/SLM/ERF_SLM.H;Source/ERF_IndexDefines.H;Source/Advection/ERF_AdvectionSrcForMom_N.H;Source/Advection/ERF_AdvectionSrcForScalars.H;Source/Advection/ERF_AdvectionSrcForMom_T.H;Source/Advection/ERF_Advection.H;Source/MultiBlock/ERF_MultiBlockContainer.H;Source/Initialization/ERF_MetgridUtils.H;Source/Diffusion/ERF_EddyViscosity.H;Source/Diffusion/ERF_Diffusion.H;Source/Microphysics/Null/ERF_NullMoistLagrangian.H;Source/Microphysics/Null/ERF_NullMoist.H;Source/Microphysics/ERF_Microphysics.H;Source/Microphysics/ERF_LagrangianMicrophysics.H;Source/Microphysics/ERF_EulerianMicrophysics.H;Source/Microphysics/Kessler/ERF_Kessler.H;Source/Microphysics/SAM/ERF_SAM.H;Source/Microphysics/SatAdj/ERF_SatAdj.H;Source/DataStructs/ERF_InputSpongeData.H;Source/DataStructs/ERF_TurbPertStruct.H;Source/DataStructs/ERF_SpongeStruct.H;Source/DataStructs/ERF_AdvStruct.H;Source/DataStructs/ERF_DataStruct.H;Source/DataStructs/ERF_InputSoundingData.H;Source/DataStructs/ERF_DiffStruct.H;Source/DataStructs/ERF_TurbStruct.H;Source/LinearSolvers/ERF_TerrainPoisson.H;Source/LinearSolvers/ERF_FFTUtils.H")
241+
249242
set_target_properties(
250243
erf_srclib PROPERTIES PUBLIC_HEADER "${ERF_INCLUDES}")
251244

Docs/sphinx_doc/Inputs.rst

+48
Original file line numberDiff line numberDiff line change
@@ -1515,6 +1515,54 @@ List of Parameters
15151515
| | in treatment of moisture | | |
15161516
+-----------------------------+--------------------------+--------------------+------------+
15171517

1518+
1519+
Radiation
1520+
=========
1521+
1522+
ERF allows for radiative heating computations with the RRTMGP library. Source code must be compiled with CMAKE and the following flags enabled: ``-DERF_ENABLE_RRTMGP:BOOL=ON``, ``-DERF_ENABLE_NETCDF:BOOL=ON``, and ``-DERF_ENABLE_HDF5:BOOL=ON``; see **ERF/Build/cmake_with_radiation.sh**.
1523+
1524+
List of Parameters
1525+
------------------
1526+
1527+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1528+
| Parameter | Definition | Acceptable | Default |
1529+
| | | Values | |
1530+
+================================+==========================+====================+===================================+
1531+
| **erf.rad_freq_in_steps** | Number of steps between | int | 1 |
1532+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1533+
| **erf.nswbands** | Number sw bands | int | 14 |
1534+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1535+
| **erf.nlwbands** | Number lw bands | int | 16 |
1536+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1537+
| **erf.nswgpts** | Number sw gauss pts | int | 112 |
1538+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1539+
| **erf.nlwgpts** | Number lw gaiss pts | int | 128 |
1540+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1541+
| **erf.co2vmr** | CO2 volume mixing ratio | Real | 388.717e-6 |
1542+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1543+
| **erf.o3 vmr** | O3 volume mixing ratio | Real | 1.887e-7 |
1544+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1545+
| **erf.n2ovmr** | N2O volume mixing ratio | Real | 323.141e-9 |
1546+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1547+
| **erf.covmr** | CO volume mixing ratio | Real | 1.000e-7 |
1548+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1549+
| **erf.ch4vmr** | CH4 volume mixing ratio | Real | 1.807e-6 |
1550+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1551+
| **erf.o2vmr** | O2 volume mixing ratio | Real | 0.209 |
1552+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1553+
| **erf.n2vmr** | N2 volume mixing ratio | Real | 0.791 |
1554+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1555+
| **erf.rrtmgp_file_path** | path to NC files | String | "./" |
1556+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1557+
| **erf.rrtmgp_coeffs_sw** | path to NC files | String | rrtmgp-data-sw-g224-2018-12-04.nc |
1558+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1559+
| **erf.rrtmgp_coeffs_lw** | path to NC files | String | rrtmgp-data-lw-g224-2018-12-04.nc |
1560+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1561+
| **erf.rrtmgp_cloud_optics_sw** | path to NC files | String | rrtmgp-cloud-optics-coeffs-sw.nc |
1562+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1563+
| **erf.rrtmgp_cloud_optics_lw** | path to NC files | String | rrtmgp-cloud-optics-coeffs-lw.nc |
1564+
+--------------------------------+--------------------------+--------------------+-----------------------------------+
1565+
15181566
Runtime Error Checking
15191567
======================
15201568

0 commit comments

Comments
 (0)