Skip to content
Draft
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3f4dcba
initial commit
gmao-jkolassa May 15, 2024
8a57cdb
group LSM_CHOICE 3 and 4
gmao-jkolassa May 15, 2024
b5f4806
adding autotrophic and heterotrophic respiration as outputs
gmao-jkolassa Aug 23, 2024
b5d5e5c
update to develop
gmao-jkolassa Jun 3, 2025
619eca6
Merge branch 'develop' into feature/jkolassa_cnclm51
gmao-jkolassa Jun 18, 2025
102a589
Merge branch 'develop' into feature/jkolassa_cnclm51
weiyuan-jiang Jun 20, 2025
20c5aed
Merge branch 'develop' into feature/jkolassa_cnclm51
gmao-jkolassa Jun 27, 2025
f055c4f
Merge branch 'develop' into feature/jkolassa_cnclm51
gmao-jkolassa Jul 1, 2025
5b5b153
minor bug fix and cleanup for CatchCN51 (ldas_setup, GEOSldas_HIST.rc…
gmao-rreichle Jul 1, 2025
d8a1da6
updated CHANGELOG.md
gmao-rreichle Jul 1, 2025
c6bdeb6
move CN_CLM51 namelist file to run directory
gmao-jkolassa Jul 7, 2025
0b5f9e3
add processing of CN_CLM51 parameter file
gmao-jkolassa Jul 11, 2025
4e8782e
removed redundant if statement (ldas_setup)
gmao-rreichle Jul 11, 2025
4c1b7ba
Merge branch 'develop' into feature/jkolassa_cnclm51
weiyuan-jiang Jul 11, 2025
1d714da
update comment
weiyuan-jiang Jul 11, 2025
c857716
Updated comment (setup_utils.py)
gmao-rreichle Jul 11, 2025
93c95fc
make CNCLM51 related tasks conditional on running CNCLM51
gmao-jkolassa Jul 11, 2025
9f6eafc
typo fix
gmao-jkolassa Jul 11, 2025
6198d5a
rename file variable for CNCLM51 parameters
gmao-jkolassa Jul 11, 2025
7e71736
fixing input variable name
gmao-jkolassa Jul 15, 2025
108eb75
change long name of CNHR and CNAR
gmao-jkolassa Jul 17, 2025
f28284f
removed Catchment-CN4.5 code; improved vertical alignment (GEOS_EnsGr…
gmao-rreichle Aug 6, 2025
ff4ab3b
RESTART=0 option: removed Catchment-CN4.5 code and disabled for Catch…
gmao-rreichle Aug 6, 2025
a172439
fix zoom value
weiyuan-jiang Aug 8, 2025
22e5e8c
Merge pull request #137 from GEOS-ESM/feature/wjiang/fix_zoom
weiyuan-jiang Aug 8, 2025
62236cc
move get_gridname from remap to setup_utils
weiyuan-jiang Aug 15, 2025
d762dec
added comments to get_gridname() (setup_utils.py)
gmao-rreichle Aug 15, 2025
d0f1774
added documentation for CatchCNCLM51 (GEOSldas_App/GEOSldas_LDAS.rc, …
gmao-rreichle Aug 25, 2025
58df8ba
Merge branch 'develop' into feature/jkolassa_cnclm51
gmao-rreichle Aug 26, 2025
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
30 changes: 30 additions & 0 deletions GEOSens_GridComp/GEOS_EnsGridComp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1604,6 +1604,24 @@ subroutine SetServices(gc, rc)
RC=STATUS )
VERIFY_(STATUS)

call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'CN_autotrophic_respiration' ,&
UNITS = 'kg m-2 s-1' ,&
SHORT_NAME = 'CNAR' ,&
DIMS = MAPL_DimsTileOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
VERIFY_(STATUS)

call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'CN_heterotrophic_respiration' ,&
UNITS = 'kg m-2 s-1' ,&
SHORT_NAME = 'CNHR' ,&
DIMS = MAPL_DimsTileOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
VERIFY_(STATUS)

call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'CN_net_ecosystem_exchange' ,&
UNITS = 'kg m-2 s-1' ,&
Expand Down Expand Up @@ -2448,6 +2466,8 @@ subroutine Collect_land_ens(gc, import, export, clock, rc)
real, dimension(:), pointer :: CNNPP, CNNPP_enavg
real, dimension(:), pointer :: CNGPP, CNGPP_enavg
real, dimension(:), pointer :: CNSR, CNSR_enavg
real, dimension(:), pointer :: CNAR, CNAR_enavg
real, dimension(:), pointer :: CNHR, CNHR_enavg
real, dimension(:), pointer :: CNNEE, CNNEE_enavg
real, dimension(:), pointer :: CNXSMR, CNXSMR_enavg
real, dimension(:), pointer :: CNADD, CNADD_enavg
Expand Down Expand Up @@ -2821,6 +2841,8 @@ subroutine Collect_land_ens(gc, import, export, clock, rc)
call MAPL_GetPointer(import, CNNPP , 'CNNPP' , notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNGPP , 'CNGPP' , notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNSR , 'CNSR' , notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNAR , 'CNAR' , notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNHR , 'CNHR' , notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNNEE , 'CNNEE' , notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNXSMR , 'CNXSMR', notFoundOK=.true., _RC)
call MAPL_GetPointer(import, CNADD , 'CNADD' , notFoundOK=.true., _RC)
Expand Down Expand Up @@ -3123,6 +3145,8 @@ subroutine Collect_land_ens(gc, import, export, clock, rc)
call MAPL_GetPointer(export, CNNPP_enavg , 'CNNPP' , _RC)
call MAPL_GetPointer(export, CNGPP_enavg , 'CNGPP' , _RC)
call MAPL_GetPointer(export, CNSR_enavg , 'CNSR' , _RC)
call MAPL_GetPointer(export, CNAR_enavg , 'CNAR' , _RC)
call MAPL_GetPointer(export, CNHR_enavg , 'CNHR' , _RC)
call MAPL_GetPointer(export, CNNEE_enavg , 'CNNEE' , _RC)
call MAPL_GetPointer(export, CNXSMR_enavg , 'CNXSMR', _RC)
call MAPL_GetPointer(export, CNADD_enavg , 'CNADD' , _RC)
Expand Down Expand Up @@ -3287,6 +3311,8 @@ subroutine Collect_land_ens(gc, import, export, clock, rc)
if(associated( CNNPP_enavg)) CNNPP_enavg = 0.0
if(associated( CNGPP_enavg)) CNGPP_enavg = 0.0
if(associated( CNSR_enavg)) CNSR_enavg = 0.0
if(associated( CNAR_enavg)) CNAR_enavg = 0.0
if(associated( CNHR_enavg)) CNHR_enavg = 0.0
if(associated( CNNEE_enavg)) CNNEE_enavg = 0.0
if(associated( CNXSMR_enavg)) CNXSMR_enavg = 0.0
if(associated( CNADD_enavg)) CNADD_enavg = 0.0
Expand Down Expand Up @@ -3586,6 +3612,8 @@ subroutine Collect_land_ens(gc, import, export, clock, rc)
if(associated( CNNPP_enavg) .and. associated( CNNPP)) CNNPP_enavg = CNNPP_enavg + CNNPP
if(associated( CNGPP_enavg) .and. associated( CNGPP)) CNGPP_enavg = CNGPP_enavg + CNGPP
if(associated( CNSR_enavg) .and. associated( CNSR)) CNSR_enavg = CNSR_enavg + CNSR
if(associated( CNAR_enavg) .and. associated( CNAR)) CNAR_enavg = CNAR_enavg + CNAR
if(associated( CNHR_enavg) .and. associated( CNHR)) CNHR_enavg = CNHR_enavg + CNHR
if(associated( CNNEE_enavg) .and. associated( CNNEE)) CNNEE_enavg = CNNEE_enavg + CNNEE
if(associated( CNXSMR_enavg).and. associated( CNXSMR))CNXSMR_enavg = CNXSMR_enavg+ CNXSMR
if(associated( CNADD_enavg) .and. associated( CNADD)) CNADD_enavg = CNADD_enavg + CNADD
Expand Down Expand Up @@ -3823,6 +3851,8 @@ subroutine Collect_land_ens(gc, import, export, clock, rc)
if(associated( CNNPP_enavg)) CNNPP_enavg = CNNPP_enavg/NUM_ENSEMBLE
if(associated( CNGPP_enavg)) CNGPP_enavg = CNGPP_enavg/NUM_ENSEMBLE
if(associated( CNSR_enavg)) CNSR_enavg = CNSR_enavg/NUM_ENSEMBLE
if(associated( CNAR_enavg)) CNAR_enavg = CNAR_enavg/NUM_ENSEMBLE
if(associated( CNHR_enavg)) CNHR_enavg = CNHR_enavg/NUM_ENSEMBLE
if(associated( CNNEE_enavg)) CNNEE_enavg = CNNEE_enavg/NUM_ENSEMBLE
if(associated( CNXSMR_enavg)) CNXSMR_enavg = CNXSMR_enavg/NUM_ENSEMBLE
if(associated( CNADD_enavg)) CNADD_enavg = CNADD_enavg/NUM_ENSEMBLE
Expand Down
4 changes: 4 additions & 0 deletions GEOSldas_App/GEOSldas_HIST.rc
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,8 @@ EASEv2_M36.LM: 1
>>>HIST_CATCHCN<<< 'CNNPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNGPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNSR' , 'GridComp' ,
>>>HIST_CATCHCNCLM51<<< 'CNAR' , 'GridComp' ,
>>>HIST_CATCHCNCLM51<<< 'CNHR' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNNEE' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNXSMR' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNADD' , 'GridComp' ,
Expand Down Expand Up @@ -312,6 +314,8 @@ EASEv2_M36.LM: 1
>>>HIST_CATCHCN<<< 'CNNPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNGPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNSR' , 'GridComp' ,
>>>HIST_CATCHCNCLM51<<< 'CNAR' , 'GridComp' ,
>>>HIST_CATCHCNCLM51<<< 'CNHR' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNNEE' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNXSMR' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNADD' , 'GridComp' ,
Expand Down
7 changes: 5 additions & 2 deletions GEOSldas_App/ldas_setup
Original file line number Diff line number Diff line change
Expand Up @@ -480,9 +480,12 @@ class LDASsetup:
self.catch = 'catch'
if int(self.rqdExeInp['LSM_CHOICE']) == 2 :
self.catch = 'catchcnclm40'
if int(self.rqdExeInp['LSM_CHOICE']) == 4 :
self.catch = 'catchcnclm51'

if self.with_land:
assert int(self.rqdExeInp['LSM_CHOICE']) <= 2, "\nLSM_CHOICE=3 (Catchment-CN4.5) is no longer supported. Please set LSM_CHOICE to 1 (Catchment) or 2 (Catchment-CN4.0)"
if self.with_land:
assert int(self.rqdExeInp['LSM_CHOICE']) <= 2 or int(self.rqdExeInp['LSM_CHOICE']) == 4, \
"\nLSM_CHOICE=3 (Catchment-CN4.5) is no longer supported. Please set LSM_CHOICE to 1 (Catchment), 2 (Catchment-CN4.0), or 4 (Catchment-CN5.1)."

if 'POSTPROC_HIST' not in self.rqdExeInp:
self.rqdExeInp['POSTPROC_HIST'] = 0
Expand Down
10 changes: 10 additions & 0 deletions GEOSldas_App/process_hist.csh
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,30 @@ if($LSM_CHOICE == 1) then
set GridComp = CATCH
sed -i '/^>>>HIST_CATCHCN<<</d' $HISTRC
sed -i '/^>>>HIST_CATCHCNCLM45<<</d' $HISTRC
sed -i '/^>>>HIST_CATCHCNCLM51<<</d' $HISTRC
endif

if($LSM_CHOICE == 2) then
set GridComp = CATCHCN
sed -i '/^>>>HIST_CATCHCNCLM45<<</d' $HISTRC
sed -i '/^>>>HIST_CATCHCNCLM51<<</d' $HISTRC
sed -i 's/>>>HIST_CATCHCN<<</''/g' $HISTRC
endif

if($LSM_CHOICE == 3) then
set GridComp = CATCHCN
sed -i '/^>>>HIST_CATCHCNCLM51<<</d' $HISTRC
sed -i 's/>>>HIST_CATCHCN<<</''/g' $HISTRC
sed -i 's/>>>HIST_CATCHCNCLM45<<</''/g' $HISTRC
endif

if($LSM_CHOICE == 4) then
set GridComp = CATCHCN
sed -i 's/>>>HIST_CATCHCN<<</''/g' $HISTRC
sed -i 's/>>>HIST_CATCHCNCLM45<<</''/g' $HISTRC
sed -i 's/>>>HIST_CATCHCNCLM51<<</''/g' $HISTRC
endif

if($AEROSOL_DEPOSITION == 0) then
sed -i '/^>>>HIST_AEROSOL<<</d' $HISTRC
else
Expand Down
2 changes: 2 additions & 0 deletions GEOSldas_App/tile_bin2nc4.F90
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,8 @@ FUNCTION getAttribute (SHORT_NAME, LNAME, UNT) result (str_atr)
case ('CNNPP'); LONG_NAME = 'CN_net_primary_production'; UNITS = 'kg m-2 s-1'
case ('CNGPP'); LONG_NAME = 'CN_gross_primary_production'; UNITS = 'kg m-2 s-1'
case ('CNSR'); LONG_NAME = 'CN_total_soil_respiration'; UNITS = 'kg m-2 s-1'
case ('CNAR'); LONG_NAME = 'CN_autotrophic_respiration'; UNITS = 'kg m-2 s-1'
case ('CNHR'); LONG_NAME = 'CN_heterotrophic_respiration'; UNITS = 'kg m-2 s-1'
case ('CNNEE'); LONG_NAME = 'CN_net_ecosystem_exchange'; UNITS = 'kg m-2 s-1'
case ('CNXSMR'); LONG_NAME = 'abstract_C_pool_to_meet_excess_MR_demand'; UNITS = 'kg m-2'
case ('CNADD'); LONG_NAME = 'CN_added_to_maintain_positive_C'; UNITS = 'kg m-2 s-1'
Expand Down
Loading