Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add IFI #36

Merged
merged 120 commits into from
Sep 14, 2022
Merged
Changes from 1 commit
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
a77470a
Connect to IFI
SamuelTrahanNOAA Oct 18, 2021
f38534c
Correct CAPE&CIN calculations
SamuelTrahanNOAA Oct 19, 2021
4c6ba44
Changes to get IFI working.
SamuelTrahanNOAA Oct 20, 2021
0dc3c0c
NOAA GSL UPP updates (#413)
EricJames-NOAA Dec 9, 2021
a812f98
Doxygen for CALDWP.f
kayeekayee Dec 21, 2021
2d58e3a
Further refinement.
kayeekayee Dec 23, 2021
7e9b6eb
Merge pull request #423 from kayeekayee/doxygen_CALDWP
kayeekayee Dec 23, 2021
9e1a10f
Doxygen CALDRG.f (#424)
kayeekayee Dec 27, 2021
f46b609
Sync changes from UPP for GFSV16 (#422)
WenMeng-NOAA Dec 28, 2021
98f7acd
Disable recursive checkout on gtg code (#427)
WenMeng-NOAA Jan 5, 2022
8013830
add option to build with GTG code or stubs (#430)
aerorahul Jan 10, 2022
89357d0
Add options in build script (#435)
WenMeng-NOAA Jan 13, 2022
117d513
Clean up legacy read interfaces (#437)
WenMeng-NOAA Jan 19, 2022
3cf3a37
Port UPP develop branch on wcoss2 (#439)
WenMeng-NOAA Feb 2, 2022
0650556
Connect to latest version of libIFI, but in an ugly way. Also, this i…
SamuelTrahanNOAA Feb 9, 2022
4a16052
Exception handling if anl input not found (#443) (#444)
lgannoaa Feb 10, 2022
45e8fdc
Update regional FV3 read interface with parallel netcdf read (#441)
WenMeng-NOAA Feb 11, 2022
583f76b
Update documentation to reflect updates to develop (fortran namelist/…
hertneky Feb 11, 2022
73e2b3f
Output libIFI-style diagnostic NetCDF files on full grid instead of p…
SamuelTrahanNOAA Feb 11, 2022
30fcea8
exec is selectable for executable directory (#448)
chan-hoo Feb 23, 2022
5f1f670
Send the right CAPE, CIN, and APCP to libIFI
SamuelTrahanNOAA Feb 28, 2022
eaf69c7
IFI connection: disable smoothing and precision drop. Add more diagno…
SamuelTrahanNOAA Mar 3, 2022
67abb5a
IFI smoother works in MPI
SamuelTrahanNOAA Mar 5, 2022
7a5ae3c
Doxygen for CALGUST (#451)
kayeekayee Mar 7, 2022
0185bb9
The fix in CALUPDHEL.f (#458)
WenMeng-NOAA Mar 18, 2022
f22a590
Bug fix for SLLEVEL bound issue when not RUC LSM (#463)
hertneky Mar 28, 2022
cc2741b
Doxygen caldrg caldwcp calgust refinement (#464)
kayeekayee Mar 28, 2022
1ac2cd7
This is part of Issue #392 (#460)
kayeekayee Mar 29, 2022
5bdb289
Unify global and regional FV3 read interfaces (#453)
WenMeng-NOAA Mar 30, 2022
af62bd2
Add ability to compile script to use non-intel compilers; add Cheyenn…
mkavulich Mar 31, 2022
6ffdd3d
This is part of Issue #392 (#465)
kayeekayee Apr 1, 2022
2841513
This is part of Issue #392 (#466)
kayeekayee Apr 1, 2022
394917e
Doxygen in CALRAD_WCLOUD_newcrtm.f CALRCH.f CALSTRM.f CALTAU.f CALTHT…
kayeekayee Apr 4, 2022
40fbb3f
Doxygen in CALVOR.f, CALWXT_BOURG.f, CLDRAD.f, COLLECT.f, COLLECT_LOC…
kayeekayee Apr 4, 2022
3c4a56e
Doxygen in EXCH.f, FDLVL.f, FILL_PSETFLD.f, FRZLVL.f, and FRZLVL2.f. …
kayeekayee Apr 6, 2022
0bb7295
Doxygen in GFSPOSTSIG.F NGMFLD.f OTLFT.f OTLIFT.f PARA_RANGE.f PROCES…
kayeekayee Apr 6, 2022
dc8bc68
Doxygen in GET_BITS.f, GPVS.f, LFMFLD.f, LFMFLD_GFS.f, MDL2P.f, MDL2S…
kayeekayee Apr 7, 2022
8bbfd6b
Doxygen in kinds_mod.F, native_endianness.f, UPP_MATH.f and UPP_PHYSI…
kayeekayee Apr 18, 2022
95f8383
Bug fix in UPP build script on Catcus (#481)
WenMeng-NOAA Apr 18, 2022
793ba3e
Doxygen in SCLFLD.f SELECT_CHANNELS.f SET_OUTFLDS.f SETUP_SERVERS.f S…
kayeekayee Apr 18, 2022
b495345
Update readme (#486)
fossell Apr 26, 2022
80cc1dc
Doxygen in GFSPOST.F (#476)
kayeekayee Apr 26, 2022
79b1dd4
Doxygen in INITPOST.F, INITPOST_GFS_NEMS_MPIIO, INITPOST_NEMS.f and I…
kayeekayee Apr 26, 2022
5f60e60
This is part of Issue #392. (#487)
kayeekayee Apr 27, 2022
44edaf7
fix a bug in AOD calculation (#489)
lipan-NOAA May 4, 2022
7e48380
increment version of develop (#502)
fossell May 13, 2022
2a91354
Add camshe to codeowners for public docs and run script (#506)
fossell May 17, 2022
fbd41a5
Update gfs itag files for in-line post. (#508)
WenMeng-NOAA May 18, 2022
6a146bc
Merge release/public-v3 (#509)
fossell May 23, 2022
9ede326
Documentation changes (#511)
hertneky May 24, 2022
6b4a79c
2D Decomposition (#339)
WenMeng-NOAA Jun 8, 2022
2a017d3
Fix for absv computation in RRFS (#516)
WenMeng-NOAA Jun 14, 2022
3e18b77
read in dx/dy instead of calculating them (#523)
LinZhu-NOAA Jun 16, 2022
4878981
Upgrade intel/impi version to 2022.1.2 on Hera and Orion (#527)
WenMeng-NOAA Jun 28, 2022
8767929
add spack-based ci. (#528)
aerorahul Jun 29, 2022
ffbf14b
Without IFI, output missing values for IFI fields. If IFI is requeste…
SamuelTrahanNOAA Jul 13, 2022
4845d8c
merge develop
SamuelTrahanNOAA Jul 20, 2022
d3d07ef
delete old file RQSTFLD.F
SamuelTrahanNOAA Jul 20, 2022
bbf14eb
bug fixes to get IFI to run
SamuelTrahanNOAA Jul 21, 2022
474e8b4
First attempt to add RRFS_dev development on top of latest EMC develo…
EricJames-NOAA Jul 21, 2022
8fd8aad
Geting rid of unnecesary changes in MISCLN.f
EricJames-NOAA Jul 22, 2022
f4e55bc
Making reading in of wet1 consistent with new netcdf parallel read.
EricJames-NOAA Jul 22, 2022
27ad5c7
Output lat/lon on four corner points of rotated lat-lon grids in text…
WenMeng-NOAA Jul 23, 2022
8ed92cb
read model top outgoing longwave (#534)
WenMeng-NOAA Jul 23, 2022
170505c
Updating fix files.
EricJames-NOAA Jul 25, 2022
18833cd
IFI works 2D
SamuelTrahanNOAA Jul 26, 2022
6a09fc7
Missing value in ifi debug files & some logging
SamuelTrahanNOAA Jul 26, 2022
25fc964
missing EXCH_c_float.f file
SamuelTrahanNOAA Jul 26, 2022
a6968bb
double-specified access specification
SamuelTrahanNOAA Jul 26, 2022
d31ec0f
fix two syntax errors (missing <0)
SamuelTrahanNOAA Jul 26, 2022
36bd252
Build with IFI by default, if it is present.
SamuelTrahanNOAA Jul 27, 2022
9987673
bug fixes for build and namelist reporting
SamuelTrahanNOAA Jul 28, 2022
ff613af
disable ifi by default
SamuelTrahanNOAA Jul 28, 2022
6f6e9a2
Merge branch 'RRFS_dev' into jul2022_sync
EricJames-NOAA Jul 28, 2022
f4377bd
Add c++ linker flags
SamuelTrahanNOAA Jul 28, 2022
b596bcc
Merge branch 'ifi' of ssh://github.com/SamuelTrahanNOAA/EMC_post into…
SamuelTrahanNOAA Jul 28, 2022
9a15743
Merge remote-tracking branch 'emc-upp/develop' into ifi
SamuelTrahanNOAA Jul 29, 2022
b96859f
merge ifi
SamuelTrahanNOAA Jul 29, 2022
b2a25a8
current rrfs parallel xml from eric
SamuelTrahanNOAA Jul 29, 2022
9f84034
Make sam_fv3lam_rrfs.xml and sam_post_avblflds.xml copies of eric_fv3…
SamuelTrahanNOAA Jul 29, 2022
ca3e8b7
Remove some # lines that confuse intel
SamuelTrahanNOAA Jul 29, 2022
7b2d55c
try 2 at an rrfs txt
SamuelTrahanNOAA Jul 29, 2022
4983789
Deallocate all allocated arrays (#538)
DusanJovic-NOAA Aug 4, 2022
e227247
Bug fix in tcdc on isobaric levels (#540)
WenMeng-NOAA Aug 4, 2022
3113cb1
Merge remote-tracking branch 'upstream/develop' into ifi
SamuelTrahanNOAA Aug 18, 2022
acd964f
update to top of RRFS_dev
SamuelTrahanNOAA Aug 19, 2022
06fb66a
Merge remote-tracking branch 'emc/develop' into jul2022_sync_plus_ifi
SamuelTrahanNOAA Aug 19, 2022
b3e46c9
Move ifi fields to fv3lam_post_avblflds.xml&fv3lam_rrfs.xml
SamuelTrahanNOAA Aug 19, 2022
e75b850
txt version of fv3lam rrfs file
SamuelTrahanNOAA Aug 19, 2022
f1d6225
switch to post_avblflds.xml for making postxconfig-NT-fv3lam_rrfs.txt
SamuelTrahanNOAA Aug 19, 2022
d88f17e
correct name of ifi grib file
SamuelTrahanNOAA Aug 19, 2022
9e12154
calculate CAPE&CIN when only outputting IFI fields
SamuelTrahanNOAA Aug 19, 2022
332da46
Bug fixes to allow IFI fields to be generated when nothing else is re…
SamuelTrahanNOAA Aug 24, 2022
3fa1f2e
add ifi fields to fv3lam xml & txt files
SamuelTrahanNOAA Aug 24, 2022
9bdfc59
remove cpp directives from a file that is not passed through cpp
SamuelTrahanNOAA Aug 25, 2022
96b1f25
-i flag to compile ifi
SamuelTrahanNOAA Aug 25, 2022
e24ba01
Missing IGET(ient)>0 check in IFI.F caused crashes
SamuelTrahanNOAA Aug 25, 2022
ce46e11
Bug fixes for when IFI is completely or partially disabled
SamuelTrahanNOAA Aug 25, 2022
28f36fd
safeguard against out-of-bounds access in UPP_PHYSICS.f
SamuelTrahanNOAA Aug 25, 2022
55a63dd
compile_upp.sh -i can compile with libIFI on hera
SamuelTrahanNOAA Aug 25, 2022
16eaded
Fix an out-of-bounds access in CALCAPE2 (#555)
SamuelTrahanNOAA Aug 26, 2022
22a0f72
Merge remote-tracking branch 'emc/develop' into ifi
SamuelTrahanNOAA Aug 26, 2022
85c330f
Merge remote-tracking branch 'emc/develop' into jul2022_sync_plus_ifi
SamuelTrahanNOAA Aug 26, 2022
5c228c8
out-of-bounds access in interpolation in MDL2SIGMA
SamuelTrahanNOAA Aug 31, 2022
a493253
add intel compiler checks in debug mode: bounds, pointers, shape, sta…
SamuelTrahanNOAA Aug 31, 2022
e141cea
IFI bug fixes and remove "continue"-ended do loops
SamuelTrahanNOAA Aug 31, 2022
9ef1a03
update ifi version on jet and add -i option to compile_upp.sh
SamuelTrahanNOAA Sep 1, 2022
056109e
many bug fixes
SamuelTrahanNOAA Sep 1, 2022
bdf36bb
update ifi module version on hera
SamuelTrahanNOAA Sep 1, 2022
fcd2fb0
Fix out-of-bounds accesses and modernize some line-number do loops (#…
SamuelTrahanNOAA Sep 2, 2022
db12fa1
merge upstream/develop
SamuelTrahanNOAA Sep 2, 2022
168f1f3
update modulefile
SamuelTrahanNOAA Sep 2, 2022
34086fb
remove unused variable
SamuelTrahanNOAA Sep 2, 2022
ebeb778
add a missing allocate()
SamuelTrahanNOAA Sep 2, 2022
076aa75
update ifi module version on jet
SamuelTrahanNOAA Sep 7, 2022
29d8a74
merge ifi branch
SamuelTrahanNOAA Sep 7, 2022
9ce066e
Updating fix files to include new GOESS-16 simulated satellite bright…
EricJames-NOAA Sep 12, 2022
ab26202
Updated fix file.
EricJames-NOAA Sep 12, 2022
bd66663
Updated fix files.
EricJames-NOAA Sep 14, 2022
a1e0a29
Merge branch 'RRFS_dev' into jul2022_sync_plus_ifi
EricJames-NOAA Sep 14, 2022
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
Prev Previous commit
Next Next commit
This is part of Issue NOAA-EMC#392 (NOAA-EMC#465)
Fixes the doxygen warnings in CALLCL.f CALMCVG.f CALMICT.f
kayeekayee authored Apr 1, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 6ffdd3dd1e2ad5011b63ac95932cfa00e0938edf
74 changes: 28 additions & 46 deletions sorc/ncep_post.fd/CALLCL.f
Original file line number Diff line number Diff line change
@@ -1,50 +1,32 @@
!> @file
!
!> SUBPROGRAM: CALLCL COMPUTES LCL HEIGHTS AND PRESSURE
!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-03-15
!!
!! ABSTRACT:
!! THIS ROUTINE COMPUTES THE LIFTING CONDENSATION LEVEL
!! PRESSURE AND HEIGHT IN EACH COLUMN AT MASS POINTS.
!! THE HEIGHT IS ABOVE GROUND LEVEL. THE EQUATION USED
!! TO FIND THE LCL PRESSURE IS FROM BOLTAN (1980,MWR)
!! AND IS THE SAME AS THAT USED IN SUBROUTINE CALCAPE.
!!
!! THIS ROUTINE IS A TEST VERSION. STILL TO BE RESOLVED
!! IS THE "BEST" PARCEL TO LIFT.
!!
!! PROGRAM HISTORY LOG:
!! 93-03-15 RUSS TREADON
!! 98-06-16 T BLACK - CONVERSION FROM 1-D TO 2-D
!! 00-01-04 JIM TUCCILLO - MPI VERSION
!! 02-04-24 MIKE BALDWIN - WRF VERSION
!! 19-10-30 Bo CUI - REMOVE "GOTO" STATEMENT
!! 21-07-28 W Meng - Restriction compuatation from undefined grids
!!
!! USAGE: CALL CALLCL(P1D,T1D,Q1D,PLCL,ZLCL)
!! INPUT ARGUMENT LIST:
!! P1D - ARRAY OF PARCEL PRESSURES (PA)
!! T1D - ARRAY OF PARCEL TEMPERATURES (K)
!! Q1D - ARRAY OF PARCEL SPECIFIC HUMIDITIES (KG/KG)
!!
!! OUTPUT ARGUMENT LIST:
!! PLCL - PARCEL PRESSURE AT LCL (PA)
!! ZLCL - PARCEL AGL HEIGHT AT LCL (M)
!!
!! OUTPUT FILES:
!! NONE
!!
!! SUBPROGRAMS CALLED:
!! UTILITIES:
!! NONE
!! LIBRARY:
!! COMMON - LOOPS
!! OPTIONS
!!
!! ATTRIBUTES:
!! LANGUAGE: FORTRAN 90
!! MACHINE : CRAY C-90
!!
!> @brief Subroutine that computes LCL heights and pressure.
!>
!> This routine computes the lifting condensation level
!> pressure and height in each column at mass points.
!> The height is above ground level. The equation used
!> to find the LCL pressure is from Boltan (1980, MWR)
!> and is the same as that used in subroutine CALCAPE.
!>
!> This is a test version. Still to be resolved
!> is the "best" parcel to lift.
!>
!> @param[in] P1D Array of parcel pressures (Pa).
!> @param[in] T1D Array of parcel temperatures (K).
!> @param[in] Q1D Array of parcel specific humidities (kg/kg).
!> @param[out] PLCL Parcel Pressure at LCL (Pa).
!> @param[out] ZLCL Parcel AGL height at LCL (m).
!>
!> ### Program history log:
!> Date | Programmer | Comments
!> -----|------------|---------
!> 1993-03-15 | Russ Treadon | Initial
!> 1998-06-16 | T Black | Convesion from 1-D to 2-D
!> 2000-01-04 | Jim Tuccillo | MPI Version
!> 2002-04-24 | Mike Baldwin | WRF Version
!> 2019-10-30 | Bo Cui | Remove "GOTO" Statement
!> 2021-07-28 | W Meng | Restriction compuatation from undefined grids
!>
!> @author Russ Treadon W/NP2 @date 1993-03-15
SUBROUTINE CALLCL(P1D,T1D,Q1D,PLCL,ZLCL)

!
80 changes: 31 additions & 49 deletions sorc/ncep_post.fd/CALMCVG.f
Original file line number Diff line number Diff line change
@@ -1,53 +1,35 @@
!> @file
!
!> SUBPROGRAM: CALMCVG COMPUTES MOISTURE CONVERGENCE
!! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-22
!!
!! ABSTRACT:
!! GIVEN SPECIFIC HUMIDITY, Q, AND THE U-V WIND COMPONENTS
!! THIS ROUTINE EVALUATES THE VECTOR OPERATION,
!! DEL DOT (Q*VEC)
!! WHERE,
!! DEL IS THE VECTOR GRADIENT OPERATOR,
!! DOT IS THE STANDARD DOT PRODUCT OPERATOR, AND
!! VEC IS THE VECTOR WIND.
!! MINUS ONE TIMES THE RESULTING SCALAR FIELD IS THE
!! MOISTURE CONVERGENCE WHICH IS RETURNED BY THIS ROUTINE.
!!
!! PROGRAM HISTORY LOG:
!! 93-01-22 RUSS TREADON
!! 98-06-08 T BLACK - CONVERSION FROM 1-D TO 2-D
!! 00-01-04 JIM TUCCILLO - MPI VERSION
!! 02-04-23 MIKE BALDWIN - WRF C-GRID VERSION
!! 05-07-07 BINBIN ZHOU - ADD RSM A GRID
!! 06-04-25 H CHUANG - BUG FIXES TO CORECTLY COMPUTE MC AT BOUNDARIES
!! 21-04-01 J MENG - COMPUTATION ON DEFINED POINTS ONLY
!!
!! USAGE: CALL CALMCVG(Q1D,U1D,V1D,QCNVG)
!! INPUT ARGUMENT LIST:
!! Q1D - SPECIFIC HUMIDITY AT P-POINTS (KG/KG)
!! U1D - U WIND COMPONENT (M/S) AT P-POINTS
!! V1D - V WIND COMPONENT (M/S) AT P-POINTS
!!
!! OUTPUT ARGUMENT LIST:
!! QCNVG - MOISTURE CONVERGENCE (1/S) AT P-POINTS
!!
!! OUTPUT FILES:
!! NONE
!!
!! SUBPROGRAMS CALLED:
!! UTILITIES:
!! NONE
!! LIBRARY:
!! COMMON - MASKS
!! DYNAM
!! OPTIONS
!! INDX
!!
!! ATTRIBUTES:
!! LANGUAGE: FORTRAN 90
!! MACHINE : CRAY C-90
!!
!> @brief Subroutine that computes moisture convergence.
!>
!><pre>
!> Given specific humidity, Q, and the U-V wind components
!> This routine evaluates the vector operation,
!> DEL DOT (Q*VEC)
!> where,
!> DEL is the vector gradient operator,
!> DOT is the standard dot product operator, and
!> VEC is the vector wind.
!> Minus one times the resulting scalar field is the
!> moisture convergence which is returned by this routine.
!></pre>
!>
!> @param[in] Q1D - Specific humidity at P-points (kg/kg).
!> @param[in] U1D - U wind component (m/s) at P-points.
!> @param[in] V1D - V wind component (m/s) at P-points.
!> @param[out] QCNVG - Moisture convergence (1/s) at P-points.
!>
!> ### Program history log:
!> Date | Programmer | Comments
!> -----|------------|---------
!> 1993-01-22 | Russ Treadon | Initial
!> 1998-06-08 | T Black | Conversion From 1-D To 2-D
!> 2000-01-04 | Jim Tuccillo | MPI Version
!> 2002-04-23 | Mike Baldwin | WRF C-Grid Version
!> 2005-07-07 | Binbin Zhou | Add RSM A Grid
!> 2006-04-25 | H Chuang | Bug fixes to correctly compute MC at boundaries
!> 2021-04-01 | J Meng | Computation on defined points only
!>
!> @author Russ Treadon W/NP2 @date 1993-01-22
SUBROUTINE CALMCVG(Q1D,U1D,V1D,QCNVG)

!
180 changes: 66 additions & 114 deletions sorc/ncep_post.fd/CALMICT.f
Original file line number Diff line number Diff line change
@@ -1,58 +1,37 @@
!> @file
! . . .
!> SUBPROGRAM: CALMIC COMPUTES HYDROMETEORS
!! PRGRMMR: JIN ORG: W/NP2 DATE: 01-08-14
!!
!! ABSTRACT:
!! THIS ROUTINE COMPUTES THE MIXING RATIOS OF CLOUD WATER,
!! CLOUD ICE, RAIN, AND SNOW. THE CODE IS BASED ON SUBROUTINES
!! GSMDRIVE & GSMCOLUMN IN THE NMM MODEL.
!!
!! PROGRAM HISTORY LOG:
!! 01-08-14 YI JIN
!! 02-02-11 Brad Ferrier - Minor changes for consistency w/ NMM model
!! 04-11-10 Brad Ferrier - Removed cloud fraction algorithm
!! 04-11-17 H CHUANG - WRF VERSION
!! 14-03-11 B Ferrier - Created new & old versions of this subroutine
!! to process new & old versions of the microphysics
!!
!! USAGE: CALL CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL
!! &, QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1)
!! INPUT ARGUMENT LIST:
!! P1D - PRESSURE (PA)
!! T1D - TEMPERATURE (K)
!! Q1D - SPECIFIC HUMIDITY (KG/KG)
!! C1D - TOTAL CONDENSATE (CWM, KG/KG)
!! FI1D - F_ice (fraction of condensate in form of ice)
!! FR1D - F_rain (fraction of liquid water in form of rain)
!! FS1D - F_RimeF ("Rime Factor", ratio of total ice growth
!! to deposition growth)
!! CUREFL - Radar reflectivity contribution from convection (mm**6/m**3)
!!
!! OUTPUT ARGUMENT LIST:
!! QW1 - CLOUD WATER MIXING RATIO (KG/KG)
!! QI1 - CLOUD ICE MIXING RATIO (KG/KG)
!! QR1 - RAIN MIXING RATIO (KG/KG)
!! QS1 - "SNOW" (precipitation ice) MIXING RATIO (KG/KG)
!! DBZ1 - Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z)
!! DBZR - Equivalent radar reflectivity factor from rain in dBZ
!! DBZI - Equivalent radar reflectivity factor from ice (all forms) in dBZ
!! DBZC - Equivalent radar reflectivity factor from parameterized convection in dBZ
!!
!! OUTPUT FILES:
!! NONE
!!
!! SUBPROGRAMS CALLED:
!! FUNCTIONS:
!! FPVS
!! UTILITIES:
!! LIBRARY:
!! NONE
!!
!! ATTRIBUTES:
!! LANGUAGE: FORTRAN
!! MACHINE : IBM SP
!!
!> @brief Subroutine that computes hydrometeors.
!>
!> This routin computes the mixing ratios of cloud water,
!> cloud ice, rain, and snow. The code is based on subroutines
!> GSMDRIVE and GSMCOLUMN in the NMM model.
!>
!> @param[in] P1D Pressure (Pa).
!> @param[in] T1D Temperature (K).
!> @param[in] Q1D Specific humidity (kg/kg).
!> @param[in] C1D Total condensate (CWM, kg/kg).
!> @param[in] FI1D F_ice (fraction of condensate in form of ice).
!> @param[in] FR1D F_rain (fraction of liquid water in form of rain).
!> @param[in] FS1D F_RimeF ("Rime Factor", ratio of total ice growth to deposition growth).
!> @param[in] CUREFL Radar reflectivity contribution from convection (mm**6/m**3).
!> @param[out] QW1 Cloud water mixing ratio (kg/kg).
!> @param[out] QI1 Cloud ice mixing ratio (kg/kg).
!> @param[out] QR1 Rain mixing ratio (kg/kg).
!> @param[out] QS1 "Snow" (precipitation ice) mixing ratio (kg/kg).
!> @param[out] DBZ1 Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z).
!> @param[out] DBZR Equivalent radar reflectivity factor from rain in dBZ.
!> @param[out] DBZI Equivalent radar reflectivity factor from ice (all forms) in dBZ.
!> @param[out] DBZC Equivalent radar reflectivity factor from parameterized convection in dBZ.
!>
!> ### Program history log:
!> Date | Programmer | Comments
!> -----|------------|---------
!> 2001-08-14 | Yi Jin | Initial
!> 2002-02-11 | Brad Ferrier | Minor changes for consistency w/ NMM model
!> 2004-11-10 | Brad Ferrier | Removed cloud fraction algorithm
!> 2004-11-17 | H Chuang | WRF VERSION
!> 2014-03-11 | Brad Ferrier | Created new & old versions of this subroutine to process new & old versions of the microphysics
!>
!> @author Yi Jin W/NP2 @date 2001-08-14
SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, &
QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1,NLICE1,NRAIN1)

@@ -320,66 +299,39 @@ SUBROUTINE CALMICT_new(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, &
!
SUBROUTINE CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL, &
QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1,NLICE1,NRAIN1)
!$$$ SUBPROGRAM DOCUMENTATION BLOCK
! . . .
! SUBPROGRAM: CALMICT_old COMPUTES HYDROMETEORS FROM THE OLDER VERSION
! OF THE MICROPHYSICS
!
! PRGRMMR: JIN ORG: W/NP2 DATE: 01-08-14
!
! ABSTRACT:
! THIS ROUTINE COMPUTES THE MIXING RATIOS OF CLOUD WATER, CLOUD ICE,
! RAIN, AND SNOW. THE CODE IS BASED ON OPTION MP_PHYSICS==95 IN THE
! WRF NAMELIST AND OPTION MICRO='fer' in NMMB CONFIGURE FILES.
!
! PROGRAM HISTORY LOG:
! 01-08-14 YI JIN
! 02-02-11 Brad Ferrier - Minor changes for consistency w/ NMM model
! 04-11-10 Brad Ferrier - Removed cloud fraction algorithm
! 04-11-17 H CHUANG - WRF VERSION
! 14-03-11 B Ferrier - Created new & old versions of this subroutine
! to process new & old versions of the microphysics
!
! USAGE: CALL CALMICT_old(P1D,T1D,Q1D,C1D,FI1D,FR1D,FS1D,CUREFL
! &, QW1,QI1,QR1,QS1,DBZ1,DBZR1,DBZI1,DBZC1)
!
! INPUT ARGUMENT LIST:
! P1D - PRESSURE (PA)
! T1D - TEMPERATURE (K)
! Q1D - SPECIFIC HUMIDITY (KG/KG)
! C1D - TOTAL CONDENSATE (CWM, KG/KG)
! FI1D - F_ice (fraction of condensate in form of ice)
! FR1D - F_rain (fraction of liquid water in form of rain)
! FS1D - F_RimeF ("Rime Factor", ratio of total ice growth
! to deposition growth)
! CUREFL - Radar reflectivity contribution from convection (mm**6/m**3)
!
! OUTPUT ARGUMENT LIST:
! QW1 - CLOUD WATER MIXING RATIO (KG/KG)
! QI1 - CLOUD ICE MIXING RATIO (KG/KG)
! QR1 - RAIN MIXING RATIO (KG/KG)
! QS1 - "SNOW" (precipitation ice) MIXING RATIO (KG/KG)
! DBZ1 - Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z)
! DBZR - Equivalent radar reflectivity factor from rain in dBZ
! DBZI - Equivalent radar reflectivity factor from ice (all forms) in dBZ
! DBZC - Equivalent radar reflectivity factor from parameterized convection
! in dBZ
!
! OUTPUT FILES:
! NONE
!
! SUBPROGRAMS CALLED:
! FUNCTIONS:
! FPVS
! UTILITIES:
! LIBRARY:
! NONE
!
! ATTRIBUTES:
! LANGUAGE: FORTRAN
! MACHINE : IBM SP
!$$$
!
!> CALMICT_old computes hydrometeors from the older version of the microphysics.
!>
!> This routin computes the mixing ratios of cloud water, cloud ice,
!> rain, and snow. The code is based on option MP_PHYSICS==95 in the
!> WRF namelist and option MICRO='fer' in NMMB configure files.
!>
!> @param[in] P1D Pressure (Pa).
!> @param[in] T1D Temperature (K).
!> @param[in] Q1D Specific humidity (kg/kg).
!> @param[in] C1D Total condensate (CWM, kg/kg).
!> @param[in] FI1D F_ice (fraction of condensate in form of ice).
!> @param[in] FR1D F_rain (fraction of liquid water in form of rain).
!> @param[in] FS1D F_RimeF ("Rime Factor", ratio of total ice growth to deposition growth).
!> @param[in] CUREFL Radar reflectivity contribution from convection (mm**6/m**3).
!> @param[out] QW1 Cloud water mixing ratio (kg/kg).
!> @param[out] QI1 Cloud ice mixing ratio (kg/kg).
!> @param[out] QR1 Rain mixing ratio (kg/kg).
!> @param[out] QS1 "Snow" (precipitation ice) mixing ratio (kg/kg).
!> @param[out] DBZ1 Equivalent radar reflectivity factor in dBZ; i.e., 10*LOG10(Z).
!> @param[out] DBZR Equivalent radar reflectivity factor from rain in dBZ.
!> @param[out] DBZI Equivalent radar reflectivity factor from ice (all forms) in dBZ.
!> @param[out] DBZC Equivalent radar reflectivity factor from parameterized convection in dBZ.
!>
!> ### Program history log:
!> Date | Programmer | Comments
!> -----|------------|---------
!> 2001-08-14 | Yi Jin | Initial
!> 2002-02-11 | Brad Ferrier | Minor changes for consistency w/ NMM model
!> 2004-11-10 | Brad Ferrier | Removed cloud fraction algorithm
!> 2004-11-17 | H Chuang | WRF VERSION
!> 2014-03-11 | Brad Ferrier | Created new & old versions of this subroutine to process new & old versions of the microphysics
!>
!> @author Yi Jin W/NP2 @date 2001-08-14
use params_mod, only: dbzmin, epsq, tfrz, eps, rd, d608, oneps, nlimin
use ctlblk_mod, only: jsta, jend, jsta_2l, jend_2u, im
use rhgrd_mod, only: rhgrd