@@ -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)
0 commit comments