Skip to content

Commit a84aa0e

Browse files
authored
Merge pull request #1123 from GEOS-ESM/develop
Sync develop into main
2 parents 26928a3 + a6a6f9b commit a84aa0e

File tree

24 files changed

+950
-1082
lines changed

24 files changed

+950
-1082
lines changed

.github/workflows/spack-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ jobs:
8181
- name: Set default compiler and target
8282
shell: spack-bash {0}
8383
run: |
84-
spack config add 'packages:all:compiler:[[email protected]]'
8584
spack config add 'packages:all:require:target=x86_64_v3'
8685
8786
- name: Create Spack environment
@@ -107,6 +106,7 @@ jobs:
107106
- name: Install
108107
shell: spack-bash {0}
109108
run: |
109+
spack clean -m
110110
spack -e spack-env install --add --no-check-signature --use-buildcache only \
111111
esmf gftl gftl-shared fargparse pflogger pfunit yafyaml ecbuild udunits openblas
112112

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOS_SurfaceGridComp.F90

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1555,6 +1555,24 @@ subroutine SetServices ( GC, RC )
15551555
RC=STATUS )
15561556
VERIFY_(STATUS)
15571557

1558+
call MAPL_AddExportSpec(GC, &
1559+
LONG_NAME = 'ocean_icefall' ,&
1560+
UNITS = 'kg m-2 s-1' ,&
1561+
SHORT_NAME = 'ICEFOCN' ,&
1562+
DIMS = MAPL_DimsHorzOnly ,&
1563+
VLOCATION = MAPL_VLocationNone ,&
1564+
RC=STATUS )
1565+
VERIFY_(STATUS)
1566+
1567+
call MAPL_AddExportSpec(GC, &
1568+
LONG_NAME = 'ocean_snow_and_icefall' ,&
1569+
UNITS = 'kg m-2 s-1' ,&
1570+
SHORT_NAME = 'SPTOTOCN' ,&
1571+
DIMS = MAPL_DimsHorzOnly ,&
1572+
VLOCATION = MAPL_VLocationNone ,&
1573+
RC=STATUS )
1574+
VERIFY_(STATUS)
1575+
15581576
call MAPL_AddExportSpec(GC, &
15591577
LONG_NAME = 'ocean_rainfall' ,&
15601578
UNITS = 'kg m-2 s-1' ,&
@@ -5482,6 +5500,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
54825500
real, pointer, dimension(:,:) :: LWNDICE => NULL()
54835501
real, pointer, dimension(:,:) :: SWNDICE => NULL()
54845502
real, pointer, dimension(:,:) :: SNOWOCN => NULL()
5503+
real, pointer, dimension(:,:) :: ICEFOCN => NULL()
5504+
real, pointer, dimension(:,:) :: SPTOTOCN => NULL()
54855505
real, pointer, dimension(:,:) :: RAINOCN => NULL()
54865506
real, pointer, dimension(:,:) :: TSKINW => NULL()
54875507
real, pointer, dimension(:,:) :: TSKINICE => NULL()
@@ -5800,6 +5820,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
58005820
real, pointer, dimension(:) :: LWNDICETILE => NULL()
58015821
real, pointer, dimension(:) :: SWNDICETILE => NULL()
58025822
real, pointer, dimension(:) :: SNOWOCNTILE => NULL()
5823+
real, pointer, dimension(:) :: ICEFOCNTILE => NULL()
5824+
real, pointer, dimension(:) ::SPTOTOCNTILE => NULL()
58035825
real, pointer, dimension(:) :: RAINOCNTILE => NULL()
58045826
real, pointer, dimension(:) :: TSKINWTILE => NULL()
58055827
real, pointer, dimension(:) :: TSKINICETILE => NULL()
@@ -6401,8 +6423,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
64016423
call MAPL_GetPointer(EXPORT, ICE , 'ICE' , alloc=.true., RC=STATUS); VERIFY_(STATUS)
64026424
call MAPL_GetPointer(EXPORT, FRZR, 'FRZR', alloc=.true., RC=STATUS); VERIFY_(STATUS)
64036425

6404-
! These are the precips exported by moist
6405-
!----------------------------------------
6426+
! These are the precips imported from moist
6427+
!------------------------------------------
64066428

64076429
call MAPL_GetPointer(IMPORT, PCU , 'PCU' , RC=STATUS); VERIFY_(STATUS)
64086430
call MAPL_GetPointer(IMPORT, PLS , 'PLS' , RC=STATUS); VERIFY_(STATUS)
@@ -6463,8 +6485,12 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
64636485
allocate( PRECSUM(IM,JM), stat=STATUS )
64646486
VERIFY_(STATUS)
64656487

6466-
PRECSUM = RCU+RLS+SNO+ICE+FRZR
6467-
6488+
! PRECSUM = uncorrected total precip
6489+
! PTTe = total precip from file
6490+
6491+
PRECSUM = RCU+RLS+SNO+ICE ! do *not* add FRZR, which is liquid not solid and (probably) incl. in RCU+RLS
6492+
! see comment re. FRZR in GEOS_CatchGridComp.F90 by reichle, 6/6/2025
6493+
64686494
where (PTTe == MAPL_UNDEF)
64696495
RCU = PCU
64706496
RLS = PLS
@@ -6708,6 +6734,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
67086734
call MAPL_GetPointer(EXPORT , LWNDICE , 'LWNDICE' , RC=STATUS); VERIFY_(STATUS)
67096735
call MAPL_GetPointer(EXPORT , SWNDICE , 'SWNDICE' , RC=STATUS); VERIFY_(STATUS)
67106736
call MAPL_GetPointer(EXPORT , SNOWOCN , 'SNOWOCN' , RC=STATUS); VERIFY_(STATUS)
6737+
call MAPL_GetPointer(EXPORT , ICEFOCN , 'ICEFOCN' , RC=STATUS); VERIFY_(STATUS)
6738+
call MAPL_GetPointer(EXPORT , SPTOTOCN , 'SPTOTOCN' , RC=STATUS); VERIFY_(STATUS)
67116739
call MAPL_GetPointer(EXPORT , RAINOCN , 'RAINOCN' , RC=STATUS); VERIFY_(STATUS)
67126740
call MAPL_GetPointer(EXPORT , TSKINW , 'TSKINW' , alloc=.true., RC=STATUS); VERIFY_(STATUS)
67136741
call MAPL_GetPointer(EXPORT , TSKINICE , 'TSKINICE' , RC=STATUS); VERIFY_(STATUS)
@@ -7310,6 +7338,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
73107338
call MKTILE(LWNDICE ,LWNDICETILE ,NT,RC=STATUS); VERIFY_(STATUS)
73117339
call MKTILE(SWNDICE ,SWNDICETILE ,NT,RC=STATUS); VERIFY_(STATUS)
73127340
call MKTILE(SNOWOCN ,SNOWOCNTILE ,NT,RC=STATUS); VERIFY_(STATUS)
7341+
call MKTILE(ICEFOCN ,ICEFOCNTILE ,NT,RC=STATUS); VERIFY_(STATUS)
7342+
call MKTILE(SPTOTOCN ,SPTOTOCNTILE ,NT,RC=STATUS); VERIFY_(STATUS)
73137343
call MKTILE(RAINOCN ,RAINOCNTILE ,NT,RC=STATUS); VERIFY_(STATUS)
73147344
call MKTILE(TSKINW, TSKINWTILE ,NT,RC=STATUS); VERIFY_(STATUS)
73157345
call MKTILE(TSKINICE, TSKINICETILE ,NT,RC=STATUS); VERIFY_(STATUS)
@@ -7647,7 +7677,7 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
76477677
VERIFY_(STATUS)
76487678

76497679
if(PRECIP_FILE /= "null") then
7650-
TMPTILE = PCUTILE + PLSTILE + SNOFLTILE + ICEFLTILE + FRZRFLTILE
7680+
TMPTILE = PCUTILE + PLSTILE + SNOFLTILE + ICEFLTILE ! do *not* add FRZR, which is liquid not solid and (probably) incl. in PCUTILE+PCSTILE
76517681
call MAPL_LocStreamTransform( LOCSTREAM, PRECTOT, TMPTILE, RC=STATUS)
76527682
VERIFY_(STATUS)
76537683
else
@@ -8123,6 +8153,16 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
81238153
VERIFY_(STATUS)
81248154
endif
81258155

8156+
if(associated( ICEFOCN)) then
8157+
call MAPL_LocStreamTransform( LOCSTREAM, ICEFOCN, ICEFOCNTILE, RC=STATUS)
8158+
VERIFY_(STATUS)
8159+
endif
8160+
8161+
if(associated( SPTOTOCN)) then
8162+
call MAPL_LocStreamTransform( LOCSTREAM, SPTOTOCN, SPTOTOCNTILE, RC=STATUS)
8163+
VERIFY_(STATUS)
8164+
endif
8165+
81268166

81278167
if(associated( EVAPOU)) then
81288168
call MAPL_LocStreamTransform( LOCSTREAM, EVAPOU, EVAPOUTILE, RC=STATUS)
@@ -8891,6 +8931,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
88918931
if(associated(LWNDICETILE )) deallocate(LWNDICETILE )
88928932
if(associated(SWNDICETILE )) deallocate(SWNDICETILE )
88938933
if(associated(SNOWOCNTILE )) deallocate(SNOWOCNTILE )
8934+
if(associated(ICEFOCNTILE )) deallocate(ICEFOCNTILE )
8935+
if(associated(SPTOTOCNTILE )) deallocate(SPTOTOCNTILE )
88948936
if(associated(RAINOCNTILE )) deallocate(RAINOCNTILE )
88958937
if(associated(TSKINWTILE )) deallocate(TSKINWTILE )
88968938
if(associated(TSKINICETILE )) deallocate(TSKINICETILE )
@@ -9479,6 +9521,10 @@ subroutine DOTYPE(type,RC)
94799521
VERIFY_(STATUS)
94809522
call MAPL_GetPointer(GEX(type), dum, 'SNOWOCN' , ALLOC=associated(SNOWOCNTILE ), notFoundOK=.true., RC=STATUS)
94819523
VERIFY_(STATUS)
9524+
call MAPL_GetPointer(GEX(type), dum, 'ICEFOCN' , ALLOC=associated(ICEFOCNTILE ), notFoundOK=.true., RC=STATUS)
9525+
VERIFY_(STATUS)
9526+
call MAPL_GetPointer(GEX(type), dum, 'SPTOTOCN', ALLOC=associated(SPTOTOCNTILE), notFoundOK=.true., RC=STATUS)
9527+
VERIFY_(STATUS)
94829528
call MAPL_GetPointer(GEX(type), dum, 'TSKINW', ALLOC=associated(TSKINWTILE ), notFoundOK=.true., RC=STATUS)
94839529
VERIFY_(STATUS)
94849530
call MAPL_GetPointer(GEX(type), dum, 'TSKINICE', ALLOC=associated(TSKINICETILE ), notFoundOK=.true., RC=STATUS)
@@ -10209,6 +10255,14 @@ subroutine DOTYPE(type,RC)
1020910255
call FILLOUT_TILE(GEX(type), 'SNOWOCN', SNOWOCNTILE, XFORM, RC=STATUS)
1021010256
VERIFY_(STATUS)
1021110257
end if
10258+
if(associated(ICEFOCNTILE)) then
10259+
call FILLOUT_TILE(GEX(type), 'ICEFOCN', ICEFOCNTILE, XFORM, RC=STATUS)
10260+
VERIFY_(STATUS)
10261+
end if
10262+
if(associated(SPTOTOCNTILE)) then
10263+
call FILLOUT_TILE(GEX(type), 'SPTOTOCN', SPTOTOCNTILE,XFORM, RC=STATUS)
10264+
VERIFY_(STATUS)
10265+
end if
1021210266

1021310267
if(associated(HLWUPTILE)) then
1021410268
call FILLOUT_TILE(GEX(type), 'HLWUP', HLWUPTILE, XFORM, RC=STATUS)

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatchCN_GridComp/GEOScatchCNCLM40_GridComp/GEOS_CatchCNCLM40GridComp.F90

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3916,7 +3916,7 @@ subroutine RUN1 ( GC, IMPORT, EXPORT, CLOCK, RC )
39163916
VERIFY_(STATUS)
39173917
Iam=trim(COMP_NAME)//"::RUN1"
39183918

3919-
! Get component's offline mode from its pvt internal state
3919+
! Get component's offline mode from its private internal state
39203920
call ESMF_UserCompGetInternalState(gc, 'CatchcnInternal', wrap, status)
39213921
VERIFY_(status)
39223922
catchcn_internal => wrap%ptr
@@ -4481,7 +4481,6 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
44814481
type(ESMF_Alarm) :: ALARM
44824482

44834483
integer :: IM,JM
4484-
integer :: incl_Louis_extra_derivs
44854484

44864485
real :: SCALE4Z0
44874486

@@ -4506,8 +4505,6 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
45064505
call MAPL_Get(MAPL, RUNALARM=ALARM, RC=STATUS)
45074506
VERIFY_(STATUS)
45084507

4509-
call MAPL_GetResource ( MAPL, incl_Louis_extra_derivs, Label="INCL_LOUIS_EXTRA_DERIVS:", DEFAULT=1, RC=STATUS)
4510-
VERIFY_(STATUS)
45114508
call MAPL_GetResource ( MAPL, SCALE4Z0, Label="SCALE4Z0:", DEFAULT=0.5, RC=STATUS)
45124509
VERIFY_(STATUS)
45134510

@@ -6155,7 +6152,7 @@ subroutine Driver ( RC )
61556152
ALWN(:,N) = -3.0*BLWN(:,N)*TC(:,N)
61566153
BLWN(:,N) = 4.0*BLWN(:,N)
61576154
end do
6158-
if(catchcn_internal%CHOOSEMOSFC==0 .and. incl_Louis_extra_derivs ==1) then
6155+
if(catchcn_internal%CHOOSEMOSFC==0 .and. catchcn_internal%MOSFC_EXTRA_DERIVS_OFFL_LAND==1) then
61596156
do N=1,NUM_SUBTILES
61606157
DEVSBT(:,N)=CQ(:,N)+max(0.0,-DCQ(:,N)*MAPL_VIREPS*TC(:,N)*(QC(:,N)-QA))
61616158
DEDTC(:,N) =max(0.0,-DCQ(:,N)*(1.+MAPL_VIREPS*QC(:,N))*(QC(:,N)-QA))
@@ -6194,8 +6191,20 @@ subroutine Driver ( RC )
61946191
! get total solid precip
61956192
! --------------------------------------------------------------------------
61966193

6197-
SLDTOT = SNO+ICE+FRZR
6194+
SLDTOT = SNO+ICE ! do *not* add FRZR (freezing rain) to solid precip, see comment below
61986195

6196+
! FRZR (freezing rain) is rain that falls as super-cooled liquid water, which freezes upon
6197+
! impact on a sufficiently cold surface. As such, FRZR is *not* solid precipitation
6198+
! and should be considered rainfall.
6199+
!
6200+
! As of Jun 2025, FRZR is identical to 0 and can be ignored. Looking ahead, make sure to
6201+
! account correctly for FRZR in the input precipitation variables. Once it's filled
6202+
! with non-zero values, FRZR will (probably) be included in PLS+PCU. It is (probably)
6203+
! better to replace PCU & PLS with RAIN and FRZR, where RAIN (probably) does *not*
6204+
! include FRZR and PCU+PLS=RAIN+FRZR (TO BE CONFIRMED!).
6205+
!
6206+
! - reichle, 6/6/2025
6207+
61996208
! --------------------------------------------------------------------------
62006209
! protect the forcing from unsavory values, as per practice in offline
62016210
! driver

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatchCN_GridComp/GEOScatchCNCLM45_GridComp/GEOS_CatchCNCLM45GridComp.F90

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4445,7 +4445,6 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
44454445
type(MAPL_MetaComp),pointer :: MAPL
44464446
type(ESMF_Alarm) :: ALARM
44474447
integer :: IM,JM
4448-
integer :: incl_Louis_extra_derivs
44494448

44504449
real :: SCALE4Z0
44514450

@@ -4470,8 +4469,6 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
44704469
call MAPL_Get(MAPL, RUNALARM=ALARM, RC=STATUS)
44714470
VERIFY_(STATUS)
44724471

4473-
call MAPL_GetResource ( MAPL, incl_Louis_extra_derivs, Label="INCL_LOUIS_EXTRA_DERIVS:", DEFAULT=1, RC=STATUS)
4474-
VERIFY_(STATUS)
44754472
call MAPL_GetResource ( MAPL, SCALE4Z0, Label="SCALE4Z0:", DEFAULT=0.5, RC=STATUS)
44764473
VERIFY_(STATUS)
44774474

@@ -6185,7 +6182,7 @@ subroutine Driver ( RC )
61856182
ALWN(:,N) = -3.0*BLWN(:,N)*TC(:,N)
61866183
BLWN(:,N) = 4.0*BLWN(:,N)
61876184
end do
6188-
if(catchcn_internal%CHOOSEMOSFC==0 .and. incl_Louis_extra_derivs ==1) then
6185+
if(catchcn_internal%CHOOSEMOSFC==0 .and. catchcn_internal%MOSFC_EXTRA_DERIVS_OFFL_LAND==1) then
61896186
do N=1,NUM_SUBTILES
61906187
DEVSBT(:,N)=CQ(:,N)+max(0.0,-DCQ(:,N)*MAPL_VIREPS*TC(:,N)*(QC(:,N)-QA))
61916188
DEDTC(:,N) =max(0.0,-DCQ(:,N)*(1.+MAPL_VIREPS*QC(:,N))*(QC(:,N)-QA))
@@ -6225,8 +6222,20 @@ subroutine Driver ( RC )
62256222
! get total solid precip
62266223
! --------------------------------------------------------------------------
62276224

6228-
SLDTOT = SNO+ICE+FRZR
6225+
SLDTOT = SNO+ICE ! do *not* add FRZR (freezing rain) to solid precip, see comment below
62296226

6227+
! FRZR (freezing rain) is rain that falls as super-cooled liquid water, which freezes upon
6228+
! impact on a sufficiently cold surface. As such, FRZR is *not* solid precipitation
6229+
! and should be considered rainfall.
6230+
!
6231+
! As of Jun 2025, FRZR is identical to 0 and can be ignored. Looking ahead, make sure to
6232+
! account correctly for FRZR in the input precipitation variables. Once it's filled
6233+
! with non-zero values, FRZR will (probably) be included in PLS+PCU. It is (probably)
6234+
! better to replace PCU & PLS with RAIN and FRZR, where RAIN (probably) does *not*
6235+
! include FRZR and PCU+PLS=RAIN+FRZR (TO BE CONFIRMED!).
6236+
!
6237+
! - reichle, 6/6/2025
6238+
62306239
! --------------------------------------------------------------------------
62316240
! protect the forcing from unsavory values, as per practice in offline
62326241
! driver

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatchCN_GridComp/Shared/catchmentCN.F90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ MODULE CATCHMENT_CN_MODEL
137137
SUBROUTINE CATCHCN ( &
138138
NCH, LONS, LATS, DTSTEP, UFW4RO, FWETC, FWETL, cat_id, & ! LONS, LATS are in [radians] !!!
139139
ITYP1,ITYP2,FVEG1,FVEG2, &
140-
DZSF, TRAINC,TRAINL, TSNOW, TICE, TFRZR, UM, &
140+
DZSF, TRAINC,TRAINL, TSNOW, TICE, TFRZR, UM, & ! TFRZR=0 as of Jun 2025; needs attention if ever TFRZR/=0
141141
ETURB1, DEDQA1, DEDTC1, HSTURB1,DHSDQA1, DHSDTC1, &
142142
ETURB2, DEDQA2, DEDTC2, HSTURB2,DHSDQA2, DHSDTC2, &
143143
ETURB4, DEDQA4, DEDTC4, HSTURB4,DHSDQA4, DHSDTC4, &
@@ -802,8 +802,8 @@ SUBROUTINE CATCHCN ( &
802802
END IF
803803
AREA(2)= AR2(N)
804804
AREA(3)= AR4(N)
805-
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n)+tfrzr(n)
806-
snowf = tsnow(n)+tice(n)+tfrzr(n)
805+
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n) ! see comment re. FRZR in GEOS_CatchGridComp.F90 by reichle, 6/6/2025:
806+
snowf = tsnow(n)+tice(n) ! freezing rain is liquid not solid, (probably) included in trainl+trainc
807807
dedea = dedqas(n)*epsilon/psur(n)
808808
dhsdea = dhsdqas(n)*epsilon/psur(n)
809809
ea = qm(n)*psur(n)/epsilon
@@ -1283,7 +1283,7 @@ SUBROUTINE CATCHCN ( &
12831283
!FSW_CHANGE IS THE CHANGE IN THE FREE-STANDING WATER, RELEVANT FOR PEATLAND ONLY
12841284
FSW_CHANGE(N) = 0.
12851285
IF(POROS(N) >= PEATCLSM_POROS_THRESHOLD) THEN
1286-
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n)+tfrzr(n)
1286+
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n) ! see comment re. FRZR in GEOS_CatchGridComp.F90 by reichle, 6/6/2025
12871287
FSW_CHANGE(N) = PR - EVAP(N) - RUNOFF(N) - WCHANGE(N)
12881288
ENDIF
12891289

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatchCN_GridComp/utils/dbg_cnlsm_offline.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ PROGRAM dbg_cnlsm_offline
474474

475475
DWLAND = WCHANGE
476476
PRLAND = c_input%PCU+c_input%PLS+c_input%SNO &
477-
+ c_input%ICE + + c_input%FRZR
477+
+ c_input%ICE
478478
EVLAND = EVAPOUT-EVACC
479479
BFLOW = BFLOW
480480
SPWATR = EVACC
@@ -570,7 +570,7 @@ PROGRAM dbg_cnlsm_offline
570570

571571
DWLAND(:) = WCHANGE(tid:tid)
572572
PRLAND(:) = c_input(tid:tid)%PCU + c_input(tid:tid)%PLS + c_input(tid:tid)%SNO &
573-
+ c_input(tid:tid)%ICE + + c_input(tid:tid)%FRZR
573+
+ c_input(tid:tid)%ICE
574574
EVLAND(:) = EVAPOUT(tid:tid)-EVACC(tid:tid)
575575
SPWATR(:) = EVACC(tid:tid)
576576
SUBLIM(:) = EVPICE(tid:tid)*(1./MAPL_ALHS)*FR(tid,4)

0 commit comments

Comments
 (0)