From ee6ad938b5900fe91fb7b7315916822ea4e5883e Mon Sep 17 00:00:00 2001 From: eric james Date: Thu, 15 Dec 2022 17:13:50 +0000 Subject: [PATCH 1/4] Modifications to exp2 ceiling diagnostic for RRFS. --- sorc/ncep_post.fd/CLDRAD.f | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index 6ae1653ab..fc82bd389 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -2096,11 +2096,18 @@ SUBROUTINE CLDRAD ! However, for RAPv5/HRRRv4, paramater 711 will be supplied as ! the GSD cloud-base height, and parameter 798 will be the ! corresponding cloud-base pressure. (J. Kenyon, 4 Nov 2019) +! -- E. James, 15 Dec 2022 +! The above experimental diagnostic, developed for the HRRR with +! lots of "add-ons" to correct for the HRRR's low bias in cloud +! cover, needs to be revised for the RRFS with its more extensive +! cloudiness. For an FAA deliverable due Feb 2023, the diagnostic +! is being modified to get rid of some of the add ons. ! Parameters 711/798: experimental ceiling diagnostic #2 (height and pressure, respectively) IF ((IGET(711)>0) .OR. (IGET(798)>0)) THEN ! set minimum cloud fraction to represent a ceiling - ceiling_thresh_cldfra = 0.4 +! ceiling_thresh_cldfra = 0.4 + ceiling_thresh_cldfra = 0.5 ! set some constants for ceiling adjustment in snow (retained from legacy algorithm, also in calvis.f) rhoice = 970. coeffp = 10.36 @@ -2190,23 +2197,24 @@ SUBROUTINE CLDRAD end do !-- end of search 2 - zceil = min(zceil1,zceil2) ! choose lower of zceil1 and zceil2 +! zceil = min(zceil1,zceil2) ! choose lower of zceil1 and zceil2 + zceil = zceil1 !-- Search for "indefinite ceiling" (vertical visibility) conditions: consider ! lowering of apparent ceiling due to falling snow (retained from legacy ! diagnostic); this is extracted from calvis.f (visibility diagnostic) - if (QQS(i,j,LM)>1.e-10) then - TV=T(I,J,lm)*(H1+D608*Q(I,J,lm)) - RHOAIR=PMID(I,J,lm)/(RD*TV) - vovermd = (1.+Q(i,j,LM))/rhoair + QQS(i,j,LM)/rhoice - concfp = QQS(i,j,LM)/vovermd*1000. - betav = coeffp*concfp**exponfp + 1.e-10 - vertvis = 1000.*min(90., const1/betav) - if (vertvis < zceil-FIS(I,J)*GI ) then ! if vertvis is more restictive than zceil found above; set zceil to vertvis - ! note that FIS is geopotential of the surface (ground), and GI is 1/g - zceil = FIS(I,J)*GI + vertvis - end if - end if +! if (QQS(i,j,LM)>1.e-10) then +! TV=T(I,J,lm)*(H1+D608*Q(I,J,lm)) +! RHOAIR=PMID(I,J,lm)/(RD*TV) +! vovermd = (1.+Q(i,j,LM))/rhoair + QQS(i,j,LM)/rhoice +! concfp = QQS(i,j,LM)/vovermd*1000. +! betav = coeffp*concfp**exponfp + 1.e-10 +! vertvis = 1000.*min(90., const1/betav) +! if (vertvis < zceil-FIS(I,J)*GI ) then ! if vertvis is more restictive than zceil found above; set zceil to vertvis +! ! note that FIS is geopotential of the surface (ground), and GI is 1/g +! zceil = FIS(I,J)*GI + vertvis +! end if +! end if ceil(I,J) = zceil ENDDO ! i loop From d19efc69d76b4742c2a24f3af04b590e2c898132 Mon Sep 17 00:00:00 2001 From: eric james Date: Thu, 15 Dec 2022 20:30:17 +0000 Subject: [PATCH 2/4] Changing some formatting --- sorc/ncep_post.fd/ALLOCATE_ALL.f | 4 ++-- sorc/ncep_post.fd/CALUPDHEL.f | 1 - sorc/ncep_post.fd/CLDRAD.f | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f index 23d462a83..920d48271 100644 --- a/sorc/ncep_post.fd/ALLOCATE_ALL.f +++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f @@ -79,7 +79,7 @@ SUBROUTINE ALLOCATE_ALL() allocate(EL_PBL(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) call set_ifi_dims() ! set ifi_nflight and ifi_flight_levels - + !Initialization !$omp parallel do private(i,j,l) do l=1,lm @@ -119,7 +119,7 @@ SUBROUTINE ALLOCATE_ALL() exch_h(i,j,l)=spval train(i,j,l)=spval tcucn(i,j,l)=spval - EL_PBL(i,j,l)=spval + EL_PBL(i,j,l)=spval enddo enddo enddo diff --git a/sorc/ncep_post.fd/CALUPDHEL.f b/sorc/ncep_post.fd/CALUPDHEL.f index d5718455f..cec4e2dfa 100644 --- a/sorc/ncep_post.fd/CALUPDHEL.f +++ b/sorc/ncep_post.fd/CALUPDHEL.f @@ -129,7 +129,6 @@ SUBROUTINE CALUPDHEL(UPDHEL) ENDDO ENDDO - ! ! print*,'jsta_m, jend_m in calupdhel= ',jsta_m,jend_m ! diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index fc82bd389..e80d4e50f 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -1790,7 +1790,6 @@ SUBROUTINE CLDRAD DO J=JSTA,JEND DO I=ISTA,IEND -! !- imported from RUC post CLDZ(I,J) = SPVAL pcldbase = SPVAL @@ -4778,6 +4777,7 @@ SUBROUTINE CLDRAD do ib = 1, NBDSW read(NOAER,'(8f10.5)') (ssarhd_oc(ii,j,ib), ii=1,KRHLEV) enddo + ENDIF if ( nasa_on ) then IF (AerosolName(i) == 'NITR') THEN From 6e4f343520d07a7d5ae795a3ecf19c372098daac Mon Sep 17 00:00:00 2001 From: eric james Date: Thu, 15 Dec 2022 20:55:20 +0000 Subject: [PATCH 3/4] Reverting formatting changes. --- sorc/ncep_post.fd/ALLOCATE_ALL.f | 4 ++-- sorc/ncep_post.fd/CALUPDHEL.f | 1 + sorc/ncep_post.fd/CLDRAD.f | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f index 920d48271..23d462a83 100644 --- a/sorc/ncep_post.fd/ALLOCATE_ALL.f +++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f @@ -79,7 +79,7 @@ SUBROUTINE ALLOCATE_ALL() allocate(EL_PBL(ista_2l:iend_2u,jsta_2l:jend_2u,lm)) call set_ifi_dims() ! set ifi_nflight and ifi_flight_levels - + !Initialization !$omp parallel do private(i,j,l) do l=1,lm @@ -119,7 +119,7 @@ SUBROUTINE ALLOCATE_ALL() exch_h(i,j,l)=spval train(i,j,l)=spval tcucn(i,j,l)=spval - EL_PBL(i,j,l)=spval + EL_PBL(i,j,l)=spval enddo enddo enddo diff --git a/sorc/ncep_post.fd/CALUPDHEL.f b/sorc/ncep_post.fd/CALUPDHEL.f index cec4e2dfa..d5718455f 100644 --- a/sorc/ncep_post.fd/CALUPDHEL.f +++ b/sorc/ncep_post.fd/CALUPDHEL.f @@ -129,6 +129,7 @@ SUBROUTINE CALUPDHEL(UPDHEL) ENDDO ENDDO + ! ! print*,'jsta_m, jend_m in calupdhel= ',jsta_m,jend_m ! diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index e80d4e50f..18d73d740 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -1790,6 +1790,7 @@ SUBROUTINE CLDRAD DO J=JSTA,JEND DO I=ISTA,IEND + !- imported from RUC post CLDZ(I,J) = SPVAL pcldbase = SPVAL @@ -4777,7 +4778,6 @@ SUBROUTINE CLDRAD do ib = 1, NBDSW read(NOAER,'(8f10.5)') (ssarhd_oc(ii,j,ib), ii=1,KRHLEV) enddo - ENDIF if ( nasa_on ) then IF (AerosolName(i) == 'NITR') THEN From 72ed52034680276b8bfa5c44800f54415e0db5bb Mon Sep 17 00:00:00 2001 From: eric james Date: Thu, 15 Dec 2022 20:56:23 +0000 Subject: [PATCH 4/4] Small change to add comment line. --- sorc/ncep_post.fd/CLDRAD.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index 18d73d740..fc82bd389 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -1790,7 +1790,7 @@ SUBROUTINE CLDRAD DO J=JSTA,JEND DO I=ISTA,IEND - +! !- imported from RUC post CLDZ(I,J) = SPVAL pcldbase = SPVAL