Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
105059b
GF2020: changed PLUME_ORDER to SHALLOW_MID_DEEP, bringing it back in …
CharlesKrop Mar 24, 2026
decb652
GF2020: removing dynamic intervals
CharlesKrop Mar 24, 2026
1f3ca4d
GF2020: updating a couple translate tests that were missed in the DTI…
CharlesKrop Mar 24, 2026
90366d6
GF2020: Updated CumulusParameterization comments with new test result…
CharlesKrop Mar 24, 2026
bc8b40b
GF2020: cleaning up large_scale_forcing
CharlesKrop Mar 24, 2026
3028745
better .gitignore (#8)
romanc Mar 25, 2026
27643b5
GF2020: fix typos (#9)
romanc Mar 25, 2026
e1d90aa
GF2020: fix ensemble_forcing_mid_plume (#10)
romanc Mar 25, 2026
395719b
GF2020: updating comments for LargeScaleForcing test
CharlesKrop Mar 25, 2026
b0c692e
GF2020: removing a quantity --> np array --> stencil, passing a slice…
CharlesKrop Mar 26, 2026
d82846f
GF2020: changing .field to .data in a few places
CharlesKrop Mar 26, 2026
17845d0
GF2020: .data to .field in translate test
CharlesKrop Mar 26, 2026
d0c0dae
Updated UW to include code for LM=181. This code has not been tested.
Mar 26, 2026
e15012d
constants file was broken when GF2020 was manually merged, fixing
CharlesKrop Mar 26, 2026
4c9ff49
Merge branch 'dsl/feature/moist/UW_and_GFDL1M' into dsl/feature/UW_al…
FlorianDeconinck Mar 27, 2026
8490ee3
Fixed UW interface and config for 181 level code. And set NUMBER_OF_T…
Mar 27, 2026
0486277
Clean up of bad code calling down to Python
FlorianDeconinck Mar 27, 2026
210ab07
Merge remote-tracking branch 'fdeconinck/dsl/feature/UW_all_levels' i…
FlorianDeconinck Mar 27, 2026
8cb3578
Protect GetPointer call when association has been read to be False - …
FlorianDeconinck Mar 27, 2026
9014100
Merge branch 'dsl/feature/moist/UW_and_GFDL1M' into dsl/feature/UW_al…
FlorianDeconinck Mar 27, 2026
1b25938
fix: manually inline `cap_max_internal` in the right computation (#11)
romanc Mar 31, 2026
fc2ceb4
[dsl]: Fix and cleanup GF2020 and GFDL_1M translate tests (#12)
romanc Apr 1, 2026
d4e3c56
Updating tracer constants
CharlesKrop Apr 1, 2026
05aae54
GF2020: more guards and removing duplicate constant
CharlesKrop Apr 1, 2026
9b8195a
GF2020 fortran side of the interface
CharlesKrop Apr 1, 2026
63cb1b6
GF2020 python side of the interface
CharlesKrop Apr 1, 2026
69790dc
GF2020 integration - python is numerically stable, but does not quite…
CharlesKrop Apr 2, 2026
4917bf6
GF2020: Safer data dimension management
CharlesKrop Apr 3, 2026
0d78e56
GF2020: fixed a few small bugs in the numerics
CharlesKrop Apr 3, 2026
c669f5d
GF2020: put namelist back into a translate test
CharlesKrop Apr 3, 2026
b71baab
GF2020: disable two variables in GF2020_CumulusParameterization that …
CharlesKrop Apr 3, 2026
8fdfd0c
GF2020: minor translate test updates
CharlesKrop Apr 3, 2026
acf3cc7
GF2020: bunch of changes/bugfixes in Setup & Finalize
CharlesKrop Apr 4, 2026
ca5b8d1
Minor fix to 181 level code
Apr 6, 2026
046ed8b
Merge branch 'dsl/feature/UW_all_levels' of github.com:FlorianDeconin…
Apr 6, 2026
6c64fd6
GF2020: test reorganization
CharlesKrop Apr 7, 2026
5f65334
GF2020: fixes bringing the code in line with 11.8.1
CharlesKrop Apr 7, 2026
346f1f0
GF2020: flipped shallow and deep entrainment in the interface
CharlesKrop Apr 7, 2026
cd457ad
GF2020: remove seed convection from inputs in GF2020 translate test
CharlesKrop Apr 7, 2026
31b1b26
GFDL1M: few bugs in the interface
CharlesKrop Apr 7, 2026
7ca452d
GF2020: stencil in setup needed K_INTERFACE_DIM instead of K_DIM
CharlesKrop Apr 7, 2026
8aa3dcc
GF2020: fixing bad fortran conditional
CharlesKrop Apr 7, 2026
8a2b322
GF2020: added dynamic call support to GF2020 test
CharlesKrop Apr 7, 2026
e306713
Merge branch 'fdeconinck/feat/pyMoist_infra' of github.com:FlorianDec…
CharlesKrop Apr 7, 2026
4f72946
GF2020: reworked lat/lon integration to python
CharlesKrop Apr 9, 2026
72c2ccc
GF2020: removing initial precipitable water fields from inputs of GF2…
CharlesKrop Apr 9, 2026
9452cab
GF2020: getting domain side properly for one of the setup stencils
CharlesKrop Apr 10, 2026
28e7187
fixing a dace bug
CharlesKrop Apr 10, 2026
683eaaf
GF2020: fixed some bad defaults in the interface
CharlesKrop Apr 10, 2026
e622871
GF2020: bugfix in finalize, putting optional outputs in their own ste…
CharlesKrop Apr 17, 2026
396c819
GF2020: minor bugfixes in the interface - bad defaults and incorrect …
CharlesKrop Apr 17, 2026
1cfa723
Added NOOP to get Fortran-In and -Out files
Apr 21, 2026
1b2cee9
Added UW init to UW run to get a clean class each timestep
Apr 22, 2026
34ca79f
Reset state output vars to zero. Just a test.
Apr 23, 2026
a24950a
Remove debug code.
Apr 23, 2026
b883b3e
GF2020: added a pbl level shift to the interface
CharlesKrop Apr 23, 2026
99ba65c
Added flag to turn on/off state recorder.
Apr 23, 2026
1f66647
Merge remote-tracking branch 'Florian/dsl/feature/moist/UW_and_GFDL1M…
Apr 24, 2026
7963b66
Formatting fixes from `pre-commit run` and other PR fixes.
Apr 24, 2026
894f483
Merge branch 'dsl/feature/UW_all_levels' into fdeconinck/feat/pyMoist…
FlorianDeconinck Apr 24, 2026
50c001b
GF2020: pre-commit - automatic changes, reformatting and such
CharlesKrop Apr 24, 2026
19b892f
GF2020: removing most instances of == True. some cannot be removed, a…
CharlesKrop Apr 24, 2026
5569fda
GF2020: changing == False to "not"
CharlesKrop Apr 24, 2026
ac175ef
GF2020: bugfix, changing == True to == 1 for ENABLE_SHALLOW/MID/DEEP,…
CharlesKrop Apr 24, 2026
3d5c980
GF2020: unused imports
CharlesKrop Apr 24, 2026
67ab3cd
GF2020: two minor changes to make pre-commit happy
CharlesKrop Apr 24, 2026
e8938ad
GF2020: type: ignores and noqas to make pre-commit happy
CharlesKrop Apr 24, 2026
08317cb
Merge remote-tracking branch 'Florian/dsl/feature/moist/UW_and_GFDL1M…
CharlesKrop Apr 24, 2026
67c3ffb
reverting changes that were made at various times that should not hav…
CharlesKrop Apr 27, 2026
7904b05
Changed pre-commit line length to 170
CharlesKrop Apr 27, 2026
0067e00
Cast is enforced via dtype callable - which fails lint but is portabl…
FlorianDeconinck Apr 27, 2026
e96b99f
Remove unused code
FlorianDeconinck Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/@GEOSchem_GridComp
/GEOSchem_GridComp
/GEOSchem_GridComp@
.vscode/
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ module GEOS_GF_InterfaceMod
real :: SCLM_DEEP
real :: GF_MIN_AREA
logical :: FIX_CNV_CLOUD
logical :: USE_PYMOIST_GF2020

public :: GF_Setup, GF_Initialize, GF_Run
public :: GF_Setup, GF_Initialize, GF_Run, GF_Finalize

contains

Expand Down Expand Up @@ -72,13 +73,32 @@ subroutine GF_Setup (GC, CF, RC)
DEFAULT = 0.0, RC=STATUS )
VERIFY_(STATUS)

call MAPL_AddInternalSpec(GC, &
SHORT_NAME = 'DSL__GF2020_LONS', &
LONG_NAME = 'DSL_longitude', &
UNITS = 'radians', &
DIMS = MAPL_DimsHorzOnly, &
VLOCATION = MAPL_VLocationNone, RC=STATUS )
VERIFY_(STATUS)

call MAPL_AddInternalSpec(GC, &
SHORT_NAME = 'DSL__GF2020_LATS', &
LONG_NAME = 'DSL_longitude', &
UNITS = 'radians', &
DIMS = MAPL_DimsHorzOnly, &
VLOCATION = MAPL_VLocationNone, RC=STATUS )
VERIFY_(STATUS)

call MAPL_TimerAdd(GC, name="--GF", RC=STATUS)
VERIFY_(STATUS)

end subroutine GF_Setup

subroutine GF_Initialize (MAPL, CLOCK, RC)
subroutine GF_Initialize (MAPL, CF, CLOCK, IMPORT, EXPORT, RC)
type (MAPL_MetaComp), intent(inout) :: MAPL
type (ESMF_Config), intent(inout) :: CF
type (ESMF_State), intent(inout) :: IMPORT
type (ESMF_State), intent(inout) :: EXPORT
type (ESMF_Clock), intent(inout) :: CLOCK ! The clock
integer, optional :: RC ! return code
integer :: LM
Expand Down Expand Up @@ -113,6 +133,18 @@ subroutine GF_Initialize (MAPL, CLOCK, RC)
Enabled = .true. , &
Sticky = .false. , RC=STATUS); VERIFY_(STATUS)

call MAPL_GetResource(MAPL, USE_PYMOIST_GF2020, 'USE_PYMOIST_GF2020:', default=.FALSE., RC=STATUS); VERIFY_(STATUS)

if (USE_PYMOIST_GF2020) then
call MAPL_ConfigSetAttribute(CF, MOIST_DT, 'DSL__GF2020_DT', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetResource(MAPL, GF_ENV_SETTING , 'GF_ENV_SETTING:' ,default= 'DYNAMICS', RC=STATUS); VERIFY_(STATUS)
if (trim(GF_ENV_SETTING)=='CURRENT') then
call MAPL_ConfigSetAttribute(CF, 0, 'DSL__GF_ENV_SETTING:', RC=STATUS); VERIFY_(STATUS)
elseif (trim(GF_ENV_SETTING)=='DYNAMICS') then
call MAPL_ConfigSetAttribute(CF, 1, 'DSL__GF_ENV_SETTING:', RC=STATUS); VERIFY_(STATUS)
endif
call MAPL_pybridge_gcinit( "pyMoist.fortran.param_interfaces.convection.GF2020_interface", MAPL, IMPORT, EXPORT )
else
if (LM .eq. 72) then
call MAPL_GetResource(MAPL, USE_GF2020 , 'USE_GF2020:' ,default= 0, RC=STATUS );VERIFY_(STATUS)
else
Expand Down Expand Up @@ -296,6 +328,8 @@ subroutine GF_Initialize (MAPL, CLOCK, RC)
call MAPL_GetResource(MAPL, FIX_CNV_CLOUD ,'FIX_CNV_CLOUD:' ,default= .FALSE., RC=STATUS); VERIFY_(STATUS)
ENDIF

endif ! USE_PYMOIST_GF2020

end subroutine GF_Initialize


Expand Down Expand Up @@ -371,6 +405,9 @@ subroutine GF_Run (GC, IMPORT, EXPORT, CLOCK, RC)
real, pointer, dimension(:,: ) :: CNV_TOPP_DP, CNV_TOPP_MD, CNV_TOPP_SH
real, pointer, dimension(:,:,:) :: PTR3D
real, pointer, dimension(:,: ) :: PTR2D

! DSL fields
real, pointer, dimension(:,:) :: DSL__GF2020_LONS, DSL__GF2020_LATS

call ESMF_ClockGetAlarm(clock, 'GF_RunAlarm', alarm, RC=STATUS); VERIFY_(STATUS)
alarm_is_ringing = ESMF_AlarmIsRinging(alarm, RC=STATUS); VERIFY_(STATUS)
Expand Down Expand Up @@ -403,6 +440,14 @@ subroutine GF_Run (GC, IMPORT, EXPORT, CLOCK, RC)
RC=STATUS )
VERIFY_(STATUS)

if (USE_PYMOIST_GF2020) then
call MAPL_GetPointer(INTERNAL, DSL__GF2020_LONS, 'DSL__GF2020_LONS', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(INTERNAL, DSL__GF2020_LATS, 'DSL__GF2020_LATS', RC=STATUS); VERIFY_(STATUS)
DSL__GF2020_LONS = LONS
DSL__GF2020_LATS = LATS
call MAPL_pybridge_gcrun_with_internal( "pyMoist.fortran.param_interfaces.convection.GF2020_interface", MAPL, IMPORT, EXPORT, INTERNAL )
else

! Internals
call MAPL_GetPointer(INTERNAL, Q, 'Q' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(INTERNAL, QLLS, 'QLLS' , RC=STATUS); VERIFY_(STATUS)
Expand Down Expand Up @@ -692,10 +737,33 @@ subroutine GF_Run (GC, IMPORT, EXPORT, CLOCK, RC)
call MAPL_GetPointer(EXPORT, PTR3D, 'DQRC', RC=STATUS); VERIFY_(STATUS)
if(associated(PTR3D)) PTR3D = CNV_PRC3 / GF_DT

endif ! USE_PYMOIST_GF2020

call MAPL_TimerOff (MAPL,"--GF")

endif

end subroutine GF_Run

subroutine GF_Finalize(gc, import, export, rc)

type(ESMF_GridComp), intent(inout) :: GC ! Gridded component
type(ESMF_State), intent(inout) :: IMPORT ! Import state
type(ESMF_State), intent(inout) :: EXPORT ! Export state
integer, optional, intent( out) :: RC ! Error code

type (MAPL_MetaComp), pointer :: MAPL

! Get my internal MAPL_Generic state
!-----------------------------------
call MAPL_GetObjectFromGC ( GC, MAPL, RC=STATUS)
VERIFY_(STATUS)


if (USE_PYMOIST_GF2020) then
call MAPL_pybridge_gcfinalize( "pyMoist.fortran.param_interfaces.convection.GF2020_interface", MAPL, IMPORT, EXPORT )
endif

end subroutine GF_Finalize

end module GEOS_GF_InterfaceMod
Original file line number Diff line number Diff line change
Expand Up @@ -5162,7 +5162,7 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetResource( MAPL, CCN_LND, 'NCCN_LND:', DEFAULT= 300., RC=STATUS); VERIFY_(STATUS) ! #/cm^3

if (adjustl(CONVPAR_OPTION)=="RAS" ) call RAS_Initialize(MAPL, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(CONVPAR_OPTION)=="GF" ) call GF_Initialize(MAPL, CLOCK, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(CONVPAR_OPTION)=="GF" ) call GF_Initialize(MAPL, CF, CLOCK, IMPORT, EXPORT, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(SHALLOW_OPTION)=="UW" ) call UW_Initialize(MAPL, CF, CLOCK, IMPORT, EXPORT, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(CLDMICR_OPTION)=="BACM_1M") call BACM_1M_Initialize(MAPL, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(CLDMICR_OPTION)=="GFDL_1M") call GFDL_1M_Initialize(MAPL, CF, IMPORT, EXPORT, RC=STATUS) ; VERIFY_(STATUS)
Expand Down Expand Up @@ -6094,6 +6094,7 @@ subroutine FINALIZE ( GC, IMPORT, EXPORT, CLOCK, RC )

if (adjustl(CLDMICR_OPTION)=="GFDL_1M") call GFDL_1M_FINALIZE(GC, IMPORT, EXPORT, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(SHALLOW_OPTION)=="UW" ) call UW_Finalize(GC, IMPORT, EXPORT, RC=STATUS) ; VERIFY_(STATUS)
if (adjustl(CONVPAR_OPTION)=="GF" ) call GF_Finalize(GC, IMPORT, EXPORT, RC=STATUS) ; VERIFY_(STATUS)

! Call Finalize for every child
call MAPL_GenericFinalize(gc, import, export, clock, rc=status)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ sandbox/
.gt4py_cache/
.gt_cache_*/
.translate*/
_dacegraphs/
**/build/
.venv/
site/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ repos:
rev: 25.1.0
hooks:
- id: black
args: ["--line-length", "110"]
args: ["--line-length", "170"]
additional_dependencies: ["click==8.0.4"]

- repo: https://github.com/pre-commit/mirrors-isort
rev: v5.10.1
hooks:
- id: isort
args: ["--profile", "black", "--line-length", "110"]
args: ["--profile", "black", "--line-length", "170"]

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
Expand All @@ -41,7 +41,7 @@ repos:
- id: flake8
name: flake8
language_version: python3
args: ["--exclude=docs", "--ignore=W503,E302,E203,F841", "--max-line-length=110"]
args: ["--exclude=docs", "--ignore=W503,E302,E203,F841", "--max-line-length=170"]
exclude: |
(?x)^(
.*/__init__.py |
Expand All @@ -50,7 +50,7 @@ repos:
name: flake8 __init__.py files
files: "__init__.py"
# ignore unused import error in __init__.py files
args: ["--exclude=docs", "--ignore=W503,E302,E203,F841,F401", "--max-line-length=110"]
args: ["--exclude=docs", "--ignore=W503,E302,E203,F841,F401", "--max-line-length=170"]

- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.15.0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GF_2020

::: pyMoist.convection.GF_2020.GF_2020
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# config

::: pyMoist.convection.GF_2020.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# air_density

::: pyMoist.convection.GF_2020.air_density
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# buoyancy

::: pyMoist.convection.GF_2020.buoyancy
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# check_config

::: pyMoist.convection.GF_2020.check_config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# config

::: pyMoist.convection.GF_2020.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# constants

::: pyMoist.convection.GF_2020.constants
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# convective_tracers

::: pyMoist.convection.GF_2020.convective_tracers
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# cumulus_parameterization

::: pyMoist.convection.GF_2020.cumulus_parameterization
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# diurnal_cycle

::: pyMoist.convection.GF_2020.diurnal_cycle
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# downdraft

::: pyMoist.convection.GF_2020.downdraft
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# entrainment

::: pyMoist.convection.GF_2020.entrainment
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# environment

::: pyMoist.convection.GF_2020.environment
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# field_types

::: pyMoist.convection.GF_2020.field_types
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# get_levels

::: pyMoist.convection.GF_2020.get_levels
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# kinetic_energy_to_heating

::: pyMoist.convection.GF_2020.kinetic_energy_to_heating
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# large_scale_forcing

::: pyMoist.convection.GF_2020.large_scale_forcing
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# locals

::: pyMoist.convection.GF_2020.locals
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# mass_conservation

::: pyMoist.convection.GF_2020.mass_conservation
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# moist_static_energy

::: pyMoist.convection.GF_2020.moist_static_energy
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# plume_dependent_constants

::: pyMoist.convection.GF_2020.plume_dependent_constants
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# precip

::: pyMoist.convection.GF_2020.precip
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# prepare_output

::: pyMoist.convection.GF_2020.prepare_output
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# profiles

::: pyMoist.convection.GF_2020.profiles
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# set_constants

::: pyMoist.convection.GF_2020.set_constants
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# setup

::: pyMoist.convection.GF_2020.setup
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# shared_functions

::: pyMoist.convection.GF_2020.shared_functions
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# shared_stencils

::: pyMoist.convection.GF_2020.shared_stencils
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# smoothing

::: pyMoist.convection.GF_2020.smoothing
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# sounding

::: pyMoist.convection.GF_2020.sounding
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# state

::: pyMoist.convection.GF_2020.state
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# triggers

::: pyMoist.convection.GF_2020.triggers
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# updraft

::: pyMoist.convection.GF_2020.updraft
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# vertical_discretization

::: pyMoist.convection.GF_2020.vertical_discretization
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# finalize

::: pyMoist.convection.GF_2020.finalize
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# locals

::: pyMoist.convection.GF_2020.locals
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# setup

::: pyMoist.convection.GF_2020.setup
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# state

::: pyMoist.convection.GF_2020.state
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GF_2020

::: pyMoist.fortran.param_interfaces.convection.GF_2020
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GFDL_1M

::: pyMoist.fortran.param_interfaces.microphysics.GFDL_1M
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
EXPERIMENT_TRACERS = {"arm_97jul": 18, "arm_97jun": 18, "armtwp_ice": 18, "bomex": 18, "gcm-fp": 23}
EXP_NAME = os.getenv("EXP_NAME", "")
if EXP_NAME == "":
raise ValueError("EXP_NAME env var is not set - experiment unknown.")
raise ValueError(f"EXP_NAME env var is not set - experiment unknown. Options are {list(EXPERIMENT_TRACERS.keys())}")
if EXP_NAME not in EXPERIMENT_TRACERS:
raise ValueError(f"Experiment {EXP_NAME} unknown - tracers can't be initialized.")
NCNST = _i32(EXPERIMENT_TRACERS[EXP_NAME])

NUMBER_OF_TRACERS = NCNST

NUMBER_OF_TRACERS = NCNST

Expand Down Expand Up @@ -136,11 +136,7 @@
RHO_W = Float(1000.0)
LDISS = Float(0.07)
LK = Float(0.75)
LBX = (
LDISS
* Float(1.0e3)
* (Float(3.0) / (Float(4.0) * MAPL_PI * LK * RHO_W * Float(1.0e-3))) ** (Float(1.0) / Float(3.0))
)
LBX = LDISS * Float(1.0e3) * (Float(3.0) / (Float(4.0) * MAPL_PI * LK * RHO_W * Float(1.0e-3))) ** (Float(1.0) / Float(3.0))
LBE = Float(1.0) / Float(3.0) - Float(0.14)

# Aer Activation constants
Expand Down
Loading