Skip to content
Draft
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -5894,6 +5894,9 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )
DZET = (ZLE0(:,:,0:LM-1) - ZLE0(:,:,1:LM) ) ! Layer thickness (m)
DQST3 = GEOS_DQSAT(T, PLmb, QSAT=QST3)

call MAPL_GetPointer(EXPORT, PTR3D, 'RH1', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = MAX(MIN( Q/QST3, 1.02 ),0.0)

! Lower tropospheric stability and estimated inversion strength
call MAPL_GetPointer(EXPORT, LTS, 'LTS' , ALLOC=.TRUE., RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT, EIS, 'EIS' , ALLOC=.TRUE., RC=STATUS); VERIFY_(STATUS)
Expand Down Expand Up @@ -5929,6 +5932,10 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )
if (associated(PTR3D)) PTR3D = QICN+QLCN
call MAPL_GetPointer(EXPORT, PTR3D, 'QCLSX0' , RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = QILS+QLLS
call MAPL_GetPointer(EXPORT, PTR3D, 'UX0' , RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = U
call MAPL_GetPointer(EXPORT, PTR3D, 'VX0' , RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = V

! Trajectory for the moist TLM/ADJ
!---------------------------------------------------------
Expand Down Expand Up @@ -6188,6 +6195,9 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )

! some diagnostics to export
QST3 = GEOS_QsatICE (T, PLmb*100.0, DQ=DQST3)
call MAPL_GetPointer(EXPORT, PTR3D, 'QSATI', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = QST3

call MAPL_GetPointer(EXPORT, PTR3D, 'RHICE', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) then
PTR3D = Q/QST3
Expand All @@ -6206,6 +6216,8 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )
endif

QST3 = GEOS_QsatLQU (T, PLmb*100.0, DQ=DQST3)
call MAPL_GetPointer(EXPORT, PTR3D, 'QSATL', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = QST3
call MAPL_GetPointer(EXPORT, PTR3D, 'RHLIQ', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = Q/QST3

Expand Down Expand Up @@ -6559,7 +6571,7 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )

call MAPL_GetPointer(EXPORT, PTR3D, 'QLTOT', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = QLLS+QLCN

call MAPL_GetPointer(EXPORT, PTR3D, 'QITOT', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = QILS+QICN

Expand Down Expand Up @@ -6593,6 +6605,12 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetPointer(EXPORT, PTR3D, 'CLCNX1', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = CLCN

call MAPL_GetPointer(EXPORT, PTR3D, 'LWC', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = (QLLS+QLCN)*100.*PLmb/( MAPL_RGAS*T )

call MAPL_GetPointer(EXPORT, PTR3D, 'IWC', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = (QILS+QICN)*100.*PLmb/( MAPL_RGAS*T )

! Fill wind, temperature & RH exports needed for SYNCTQ

call MAPL_GetPointer(EXPORT, PTR3D, 'UAFMOIST', ALLOC=.TRUE., RC=STATUS); VERIFY_(STATUS)
Expand Down Expand Up @@ -6620,6 +6638,24 @@ subroutine RUN ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetPointer(EXPORT, PTR3D, 'RH2', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR3D)) PTR3D = MAX(MIN( Q/GEOS_QSAT (T, PLmb) , 1.02 ),0.0)

! Cloud Base Height
call MAPL_GetPointer(EXPORT, PTR2D, 'CLDBASEHGT', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR2D)) then
PTR2D = MAPL_UNDEF
tmp3d = QLCN+QLLS+QICN+QILS
do i = 1,IM
do j = 1,JM
do l = LM-1, 1, -1 ! search upward from 2nd level
if (ZLE0(i,j,l).gt.20000.) exit
if ( ( CLLS(i,j,l)+CLCN(i,j,l) .ge. 1e-2 ) .and. ( tmp3d(i,j,l) .ge. 1e-6 ) ) then
PTR2D(i,j) = ZLE0(i,j,l)
exit
end if
end do
end do
end do
end if

! Cloud Water Path
call MAPL_GetPointer(EXPORT, PTR2D, 'CWP', RC=STATUS); VERIFY_(STATUS)
if (associated(PTR2D)) PTR2D = SUM( ( QLCN+QLLS+QICN+QILS )*MASS , 3 )
Expand Down