@@ -2009,6 +2009,15 @@ subroutine SetServices ( GC, RC )
20092009 RC=STATUS )
20102010 VERIFY_(STATUS)
20112011
2012+ call MAPL_AddExportSpec(GC, &
2013+ SHORT_NAME = 'CLDBASEHGT', &
2014+ LONG_NAME = 'Height_of_cloud_base', &
2015+ UNITS = 'm', &
2016+ DIMS = MAPL_DimsHorzOnly, &
2017+ VLOCATION = MAPL_VLocationNone, &
2018+ RC=STATUS )
2019+ VERIFY_(STATUS)
2020+
20122021 call MAPL_AddExportSpec(GC, &
20132022 SHORT_NAME ='RL', &
20142023 LONG_NAME ='liquid_cloud_particle_effective_radius', &
@@ -2712,6 +2721,30 @@ subroutine SetServices ( GC, RC )
27122721 VLOCATION = MAPL_VLocationCenter, RC=STATUS )
27132722 VERIFY_(STATUS)
27142723
2724+ call MAPL_AddExportSpec(GC, &
2725+ SHORT_NAME='SL', &
2726+ LONG_NAME ='liquid_water_static_energy', &
2727+ UNITS ='J kg-1', &
2728+ DIMS = MAPL_DimsHorzVert, &
2729+ VLOCATION = MAPL_VLocationCenter, RC=STATUS )
2730+ VERIFY_(STATUS)
2731+
2732+ call MAPL_AddExportSpec(GC, &
2733+ SHORT_NAME='QT', &
2734+ LONG_NAME ='total_water_specific_humidity', &
2735+ UNITS ='kg kg-1', &
2736+ DIMS = MAPL_DimsHorzVert, &
2737+ VLOCATION = MAPL_VLocationCenter, RC=STATUS )
2738+ VERIFY_(STATUS)
2739+
2740+ call MAPL_AddExportSpec(GC, &
2741+ SHORT_NAME='T', &
2742+ LONG_NAME ='temperature', &
2743+ UNITS ='K', &
2744+ DIMS = MAPL_DimsHorzVert, &
2745+ VLOCATION = MAPL_VLocationCenter, RC=STATUS )
2746+ VERIFY_(STATUS)
2747+
27152748 call MAPL_AddExportSpec(GC, &
27162749 SHORT_NAME='KCBL_moist', &
27172750 LONG_NAME ='KCBL_before_moist', &
@@ -3573,6 +3606,14 @@ subroutine SetServices ( GC, RC )
35733606 VLOCATION = MAPL_VLocationCenter, RC=STATUS )
35743607 VERIFY_(STATUS)
35753608
3609+ call MAPL_AddExportSpec(GC, &
3610+ SHORT_NAME ='QX1', &
3611+ LONG_NAME ='specific_humidity_after_moist_physics', &
3612+ UNITS ='kg kg-1', &
3613+ DIMS = MAPL_DimsHorzVert, &
3614+ VLOCATION = MAPL_VLocationCenter, RC=STATUS )
3615+ VERIFY_(STATUS)
3616+
35763617 call MAPL_AddExportSpec(GC, &
35773618 SHORT_NAME ='QLLSX0', &
35783619 LONG_NAME ='initial_mass_fraction_of_large_scale_cloud_liquid_water', &
@@ -5648,7 +5689,7 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
56485689 !Record vars at top pf moist
56495690 real, pointer, dimension(:,:,:) :: Ux0, Vx0, THx0, KHx0
56505691 real, pointer, dimension(:,:) :: TSx0, FRLANDx0
5651- real, pointer, dimension(:,:,:) :: Qx0, QLLSx0, QLCNx0, CLLSx0, CLCNx0, QILSx0, QICNx0, QCLSX0, QCCNX0
5692+ real, pointer, dimension(:,:,:) :: Qx0, Qx1, QLLSx0, QLCNx0, CLLSx0, CLCNx0, QILSx0, QICNx0, QCLSX0, QCCNX0
56525693
56535694 ! MATMAT Exports for pre-ras inputs for RAStest
56545695 real, pointer, dimension(:,:,:) :: THOI,QHOI,QSSI,DQSI
@@ -5663,6 +5704,7 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
56635704 real, pointer, dimension(:,:,:) :: RSU_CN, RSU_AN, RSU_LS, ALPHT, ALPH1, ALPH2
56645705 real, pointer, dimension(:,:,:) :: ENTLAM
56655706 real, pointer, dimension(:,:,:) :: KHX
5707+ real, pointer, dimension(:,:,:) :: SLX, TX, QTX
56665708 real, pointer, dimension(:,: ) :: DTSX
56675709
56685710 real, pointer, dimension(:,:,:) :: REVSU_CN, REVSU_LSAN
@@ -6719,6 +6761,9 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
67196761 call MAPL_GetPointer(EXPORT, ZCBL, 'ZCBL' , RC=STATUS); VERIFY_(STATUS)
67206762 call MAPL_GetPointer(EXPORT, TT_PRCP, 'TPREC' , RC=STATUS); VERIFY_(STATUS)
67216763 call MAPL_GetPointer(EXPORT, HOURNORAIN, 'HOURNORAIN' , RC=STATUS); VERIFY_(STATUS)
6764+ call MAPL_GetPointer(EXPORT, TX , 'T' , RC=STATUS); VERIFY_(STATUS)
6765+ call MAPL_GetPointer(EXPORT, SLX , 'SL' , RC=STATUS); VERIFY_(STATUS)
6766+ call MAPL_GetPointer(EXPORT, QTX , 'QT' , RC=STATUS); VERIFY_(STATUS)
67226767
67236768 call MAPL_GetPointer(EXPORT, PRCP_RAIN, 'PRCP_RAIN' , RC=STATUS); VERIFY_(STATUS)
67246769 call MAPL_GetPointer(EXPORT, PRCP_SNOW, 'PRCP_SNOW' , RC=STATUS); VERIFY_(STATUS)
@@ -6736,6 +6781,7 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
67366781 call MAPL_GetPointer(EXPORT, XQICN, 'QICNX1' , RC=STATUS); VERIFY_(STATUS)
67376782 call MAPL_GetPointer(EXPORT, XCLCN, 'CLCN' , RC=STATUS); VERIFY_(STATUS)
67386783 call MAPL_GetPointer(EXPORT, XCLLS, 'CLLS' , RC=STATUS); VERIFY_(STATUS)
6784+ call MAPL_GetPointer(EXPORT, QX1, 'QX1' , RC=STATUS); VERIFY_(STATUS)
67396785 call MAPL_GetPointer(EXPORT, QCTOT, 'QCTOT' , RC=STATUS); VERIFY_(STATUS)
67406786 call MAPL_GetPointer(EXPORT, QITOT, 'QITOT' , RC=STATUS); VERIFY_(STATUS)
67416787 call MAPL_GetPointer(EXPORT, QRTOT, 'QRTOT' , RC=STATUS); VERIFY_(STATUS)
@@ -12401,6 +12447,22 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
1240112447 END WHERE
1240212448 endif
1240312449
12450+ if (associated(CLDBASEHGT)) then
12451+ CLDBASEx = MAPL_UNDEF
12452+ do i = 1,IM
12453+ do j = 1,JM
12454+ do k = LM-1, 1, -1
12455+ if (ZLE(i,j,k).gt.20000.) exit
12456+ if ( ( RAD_CF(i,j,k) .ge. 1e-2 ) .and. ( QTOT(i,j,k) .ge. 1e-6 ) ) then
12457+ CLDBASEx(i,j) = ZLE(i,j,k)
12458+ exit
12459+ end if
12460+ end do
12461+ end do
12462+ end do
12463+ CLDBASEHGT = CLDBASEx
12464+ end if
12465+
1240412466
1240512467 ! Compute DBZ radar reflectivity
1240612468 if (associated(DBZ) .OR. associated(DBZ_MAX)) then
@@ -12709,6 +12771,7 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
1270912771 if (associated(AN_ARF )) AN_ARF = AN_ARFX
1271012772 if (associated(CN_ARF )) CN_ARF = CN_ARFX
1271112773 if (associated(SC_ARF )) SC_ARF = SC_ARFX
12774+ if (associated(QX1 )) QX1 = Q1
1271212775 if (associated(XQLLS )) XQLLS = QLLS
1271312776 if (associated(XQILS )) XQILS = QILS
1271412777 if (associated(XCLLS )) XCLLS = CLLS
@@ -12731,8 +12794,9 @@ subroutine MOIST_DRIVER(IM,JM,LM, RC)
1273112794 if (associated(CCWP )) CCWP = SUM( CNV_QC *MASS , 3 )
1273212795 if (associated(TPW )) TPW = SUM( Q1 *MASS , 3 )
1273312796 if (associated(RH2 )) RH2 = max(MIN( Q1/GEOS_QSAT (TH1*PK, PLO) , 1.02 ),0.0)
12734-
12735-
12797+ if (associated(SLX )) SLX = GZLO + MAPL_CP*TEMP - MAPL_ALHL*(QLLS+QLCN) - MAPL_ALHS*(QILS+QICN)
12798+ if (associated(QTX )) QTX = Q1 + QLCN + QLLS + QICN + QILS
12799+ if (associated(TX )) TX = TEMP
1273612800
1273712801 if(adjustl(CLDMICRO)=="2MOMENT") then
1273812802 if (associated(CCNCOLUMN )) CCNCOLUMN = SUM(CCN1*MASS/(100.*PLO*r_air/TEMP) , 3)
0 commit comments