UPP  11.0.0
 All Data Structures Files Functions Variables Pages
FDLVL.f File Reference

Subroutine that computes T, Q, U, V on the flight levels (FD). More...

Go to the source code of this file.

Functions/Subroutines

subroutine fdlvl (ITYPE, TFD, QFD, UFD, VFD, PFD, ICINGFD)
 
subroutine fdlvl_mass (ITYPE, NFD, PTFD, HTFD, NIN, QIN, QTYPE, QFD)
 Computes FD level for mass variables. More...
 
subroutine fdlvl_uv (ITYPE, NFD, HTFD, UFD, VFD)
 Computes FD level for u,v. More...
 

Detailed Description

Subroutine that computes T, Q, U, V on the flight levels (FD).

This routine computes temperature, spec. hum, u wind component, and v wind component on the NFD=6 FD levels. The height of these levels (in meters) is given in the data statement below. The alogrithm proceeds as follows. (AGL-Above ground level in parentheses)

At each mass point move up vertically from the LM-TH (lowest atmospheric) ETA layer. Find the ETA layers whose height (above ground) bounds the target FD level height. Vertically interpolate to get temperature at this FD level. Average the four surrounding winds to get a mass point wind. Vertically interpolate these mass point winds to the target FD level. Continue this process until all NFD=6 FD levels have been processed. Move on to the next mass point.

Averaging the four above ground winds to the mass point was found to smooth the field and reduce the occurrence of point peak winds far in excess of the winds at adjacent points. Mass point values are returned.

Parameters
[in]ITYPEFlag that determines whether MSL (1) or AGL (2) Levels are used.
[out]TFDTemperature (K) on FD levels.
[out]QFDSpec hum on FD levels.
[out]UFDU wind (m/s) on FD levels.
[out]VFDV wind (m/s) on FD levels.

Program History Log

Date Programmer Comments
1992-12-22 Russ Treadon Initial
1993-11-23 Russ Treadon Corrected routine to compute FD levels with respect to mean sea level
1994-01-04 Mike Baldwin Include options for computing either AGL or MSL
1998-06-15 T Black Conversion from 1-D to 2-D
2000-01-04 Jim Tuccillo MPI version
2002-01-15 Mike Baldwin WRF version
2011-12-14 Sarah Lu Add GOCART aerosol AERFD
2021-10-15 JESSE MENG 2D DECOMPOSITION
2022-09-22 Li(Kate) Zhang Remove Dust=> AERFD
Author
Russ Treadon W/NP2
Date
1992-12-22

Definition in file FDLVL.f.

Function/Subroutine Documentation

subroutine fdlvl_mass ( integer, dimension(nfd), intent(in)  ITYPE,
integer, intent(in)  NFD,
real, dimension(nfd), intent(in)  PTFD,
real, dimension(nfd), intent(in)  HTFD,
integer, intent(in)  NIN,
real, dimension(ista:iend,jsta:jend,lm,nin), intent(in)  QIN,
character, dimension(nin), intent(in)  QTYPE,
real, dimension(ista:iend,jsta:jend,nfd,nin), intent(out)  QFD 
)

Computes FD level for mass variables.

This routine computes mass variables (temperature, spec. hum...) on NFD FD levels. The height of these levels (in meters) is passed as an input parameter. The alogrithm proceeds as follows. (AGL-Above ground level in parentheses)

At each mass point move up vertically from the LM-TH (lowest atmospheric) ETA layer. Find the ETA layers whose height (above ground) bounds the target FD level height. Vertically interpolate to get temperature at this FD level. Average the four surrounding winds to get a mass point wind. Vertically interpolate these mass point winds to the target FD level. Continue this process until all NFD FD levels have been processed. Move on to the next mass point.

Averaging the four above ground winds to the mass point was found to smooth the field and reduce the occurrence of point peak winds far in excess of the winds at adjacent points. Mass point values are returned.

NOTES for Q fields by Y Mao: The following safety check should be executed by the caller of FDLVL subroutines. Safety check to avoid tiny QFD values. KRF: Need NCAR and NMM WRF cores in this check as well?

IF(MODELNAME=='RAPR' .OR. MODELNAME=='NCAR' .OR. MODELNAME=='NMM') THEN !
DO IFD = 1,NFD
DO J=JSTA,JEND
DO I=1,IM
if(QFD(I,J,IFD) < 1.0e-8) QFD(I,J,IFD)=0.0
ENDDO
ENDDO
ENDDO
endif
Parameters
[in]ITYPEFlag that determines whether MSL (1) or AGL (2) Levels are used.
[in]NFDNumber of FD levels.
[in]PTFDFD pressure levels.
[in]HTFDFD height levels.
[in]NINNumber of input fields.
[in]QINArray of mass point value on model levels.
[in]QTYPECharater array of variable type to differentiate underground interpolation.
                   C-5 Cloud Species
                   K-TURBULENT KINETIC ENERGY
                   Q-Specific Humidity
                   T-Temperature, 
                   W-Vertical Velocity or Omega
[out]QFDArray of mass point value on FD levels.

Program History Log

Date Programmer Comments
1992-12-22 Russ Treadon Initial
1993-11-23 Russ Treadon Corrected routine to compute FD levels with respect to mean sea level
1994-01-04 Mike Baldwin Include options for computing either AGL or MSL
1998-06-15 T Black Conversion from 1-D to 2-D
2000-01-04 Jim Tuccillo MPI version
2002-01-15 Mike Baldwin WRF version
2011-12-14 Sarah Lu Add GOCART aerosol AERFD
2017-06-01 Y Mao Add FD levels for GTG(EDPARM CATEDR MWTURB) and allow levels input from control file
2019-09-25 Y Mao Seperate mass from UV allow array of mass input to interpolate multiple fields with the same levels at one time. Dust=> AERFD can be processed when NIN=NBIN_DU
2020-11-10 Jesse Meng Use UPP_PHYSICS module
2022-05-25 Y Mao Remove interpolation of w/omega/Hydrometeor fields on FD levels
Author
Russ Treadon W/NP2
Date
1992-12-22

Definition at line 784 of file FDLVL.f.

References upp_physics::fpvsnew().

Referenced by mdl2std_p(), and miscln().

subroutine fdlvl_uv ( integer, dimension(nfd), intent(in)  ITYPE,
integer, intent(in)  NFD,
real, dimension(nfd), intent(in)  HTFD,
real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u,nfd), intent(out)  UFD,
real, dimension(ista_2l:iend_2u,jsta_2l:jend_2u,nfd), intent(out)  VFD 
)

Computes FD level for u,v.

This routine computes u/v wind component on NFD FD levels. The height of these levels (in meters) is passed as an input parameter. The alogrithm proceeds as follows. (AGL-Above ground level in parentheses)

At each mass point move up vertically from the LM-TH (lowest atmospheric) ETA layer. Find the ETA layers whose height (above ground) bounds the target FD level height. Vertically interpolate to get temperature at this FD level. Average the four surrounding winds to get a mass point wind. Vertically interpolate these mass point winds to the target FD level. Continue this process until all NFD FD levels have been processed. Move on to the next mass point.

Averaging the four above ground winds to the mass point was found to smooth the field and reduce the occurrence of point peak winds far in excess of the winds at adjacent points. Mass point values are returned.

Parameters
[in]ITYPEFlag that determines whether MSL (1) or AGL (2) Levels are used.
[in]NFDNumber of FD levels.
[in]HTFDFD levels.
[out]UFDU wind (m/s) on FD levels.
[out]VFDV wind (m/s) on FD levels.

Program History Log

Date Programmer Comments
1992-12-22 Russ Treadon Initial
1993-11-23 Russ Treadon Corrected routine to compute FD levels with respect to mean sea level
1994-01-04 Mike Baldwin Include options for computing either AGL or MSL
1998-06-15 T Black Conversion from 1-D to 2-D
2000-01-04 Jim Tuccillo MPI version
2002-01-15 Mike Baldwin WRF version
2011-12-14 Sarah Lu Add GOCART aerosol AERFD
2019-09-25 Y Mao Seperate U/V from mass
Author
Russ Treadon W/NP2
Date
1992-12-22

Definition at line 453 of file FDLVL.f.

Referenced by mdl2std_p().