Skip to content

Commit a6a6f9b

Browse files
authored
Merge pull request #1111 from GEOS-ESM/bugfix/zhaobin74/fix-missing-connection-ice-frzr
fix missing connection of ICE and FRZR in some of the SURF components
2 parents 49227ef + 7cef2f6 commit a6a6f9b

File tree

14 files changed

+257
-32
lines changed

14 files changed

+257
-32
lines changed

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: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6191,8 +6191,20 @@ subroutine Driver ( RC )
61916191
! get total solid precip
61926192
! --------------------------------------------------------------------------
61936193

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

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+
61966208
! --------------------------------------------------------------------------
61976209
! protect the forcing from unsavory values, as per practice in offline
61986210
! driver

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6222,8 +6222,20 @@ subroutine Driver ( RC )
62226222
! get total solid precip
62236223
! --------------------------------------------------------------------------
62246224

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

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+
62276239
! --------------------------------------------------------------------------
62286240
! protect the forcing from unsavory values, as per practice in offline
62296241
! 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)

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatch_GridComp/GEOS_CatchGridComp.F90

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5515,7 +5515,19 @@ subroutine Driver ( RC )
55155515
! get total solid precip
55165516
! --------------------------------------------------------------------------
55175517

5518-
SLDTOT = SNO+ICE+FRZR
5518+
SLDTOT = SNO+ICE ! do *not* add FRZR (freezing rain) to solid precip, see comment below
5519+
5520+
! FRZR (freezing rain) is rain that falls as super-cooled liquid water, which freezes upon
5521+
! impact on a sufficiently cold surface. As such, FRZR is *not* solid precipitation
5522+
! and should be considered rainfall.
5523+
!
5524+
! As of Jun 2025, FRZR is identical to 0 and can be ignored. Looking ahead, make sure to
5525+
! account correctly for FRZR in the input precipitation variables. Once it's filled
5526+
! with non-zero values, FRZR will (probably) be included in PLS+PCU. It is (probably)
5527+
! better to replace PCU & PLS with RAIN and FRZR, where RAIN (probably) does *not*
5528+
! include FRZR and PCU+PLS=RAIN+FRZR (TO BE CONFIRMED!).
5529+
!
5530+
! - reichle, 6/6/2025
55195531

55205532
! protect the forcing from unsavory values, as per practice in offline
55215533
! driver

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSland_GridComp/GEOScatch_GridComp/catchment.F90

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ MODULE CATCHMENT_MODEL
130130

131131
SUBROUTINE CATCHMENT ( &
132132
NCH, LONS, LATS, DTSTEP, UFW4RO, FWETC, FWETL, & ! LONS, LATS are in [radians] !!!
133-
cat_id,ITYP,DZSF,TRAINC,TRAINL, TSNOW, TICE, TFRZR, UM, & ! cat_id is set to no-data in GEOS_CatchGridcomp; DZSF in [mm] !!!
133+
cat_id,ITYP,DZSF, & ! cat_id is set to no-data in GEOS_CatchGridcomp; DZSF in [mm] !!!
134+
TRAINC,TRAINL, TSNOW, TICE, TFRZR, UM, & ! TFRZR=0 as of Jun 2025; needs attention if ever TFRZR/=0
134135
ETURB1, DEDQA1, DEDTC1, HSTURB1,DHSDQA1, DHSDTC1, &
135136
ETURB2, DEDQA2, DEDTC2, HSTURB2,DHSDQA2, DHSDTC2, &
136137
ETURB4, DEDQA4, DEDTC4, HSTURB4,DHSDQA4, DHSDTC4, &
@@ -845,8 +846,8 @@ SUBROUTINE CATCHMENT ( &
845846
END IF
846847
AREA(2)= AR2(N)
847848
AREA(3)= AR4(N)
848-
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n)+tfrzr(n)
849-
snowf = tsnow(n)+tice(n)+tfrzr(n)
849+
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n) ! see comment re. FRZR in GEOS_CatchGridComp.F90 by reichle, 6/6/2025:
850+
snowf = tsnow(n)+tice(n) ! freezing rain is liquid not solid, (probably) included in trainl+trainc
850851
dedea = dedqas(n)*epsilon/psur(n)
851852
dhsdea = dhsdqas(n)*epsilon/psur(n)
852853
ea = qm(n)*psur(n)/epsilon
@@ -1302,7 +1303,7 @@ SUBROUTINE CATCHMENT ( &
13021303
!FSW_CHANGE IS THE CHANGE IN THE FREE-STANDING WATER, RELEVANT FOR PEATLAND ONLY
13031304
FSW_CHANGE(N) = 0.
13041305
IF(POROS(N) >= PEATCLSM_POROS_THRESHOLD) THEN
1305-
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n)+tfrzr(n)
1306+
pr = trainc(n)+trainl(n)+tsnow(n)+tice(n) ! see comment re. FRZR in GEOS_CatchGridComp.F90 by reichle, 6/6/2025
13061307
FSW_CHANGE(N) = PR - EVAP(N) - RUNOFF(N) - WCHANGE(N)
13071308
ENDIF
13081309

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSsaltwater_GridComp/BufferPacking.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
! import packing and redistribution
99

10-
numUsedImp = 34 ! should match the number of imports used in this subroutine + 2 (for LATS and LONS)
10+
numUsedImp = 36 ! should match the number of imports used in this subroutine + 2 (for LATS and LONS)
1111

1212
! Allocate the buffer that will hold all balanced variables. The
1313
! dimension of its 1D representation must ne NUMMAX---the larger of the
@@ -102,6 +102,18 @@
102102
PTR1(1:NUMMAX) => BUFIMP(L1:LN)
103103
SNO => PTR1(1:NT)
104104
L1 = LN + 1
105+
call MAPL_GetPointer(IMPORT,PTR1,'ICE', _RC)
106+
call CICEReorder(BUFIMP(L1),PTR1,TILE_WITH_ICE,NUMMAX,HorzDims,1,PACKIT)
107+
LN = L1 + NUMMAX - 1
108+
PTR1(1:NUMMAX) => BUFIMP(L1:LN)
109+
ICEF => PTR1(1:NT)
110+
L1 = LN + 1
111+
call MAPL_GetPointer(IMPORT,PTR1,'FRZR', _RC)
112+
call CICEReorder(BUFIMP(L1),PTR1,TILE_WITH_ICE,NUMMAX,HorzDims,1,PACKIT)
113+
LN = L1 + NUMMAX - 1
114+
PTR1(1:NUMMAX) => BUFIMP(L1:LN)
115+
FRZR => PTR1(1:NT)
116+
L1 = LN + 1
105117
call MAPL_GetPointer(IMPORT,PTR1,'PLS', _RC)
106118
call CICEReorder(BUFIMP(L1),PTR1,TILE_WITH_ICE,NUMMAX,HorzDims,1,PACKIT)
107119
LN = L1 + NUMMAX - 1

0 commit comments

Comments
 (0)