verttransform_gfs Subroutine

public subroutine verttransform_gfs(n, uuh, vvh, wwh, pvh)


                                                                        *
 This subroutine transforms temperature, dew point temperature and      *
 wind components from eta to meter coordinates.                         *
 The vertical wind component is transformed from Pa/s to m/s using      *
 the conversion factor pinmconv.                                        *
 In addition, this routine calculates vertical density gradients        *
 needed for the parameterization of the turbulent velocities.           *
                                                                        *
 Author: A. Stohl, G. Wotawa                                            *
                                                                        *
 12 August 1996                                                         *
 Update: 16 January 1998                                                *
                                                                        *
                                                                        *

CHANGES * Major update: 17 February 1999 * by G. Wotawa * * - Vertical levels for u, v and w are put together * - Slope correction for vertical velocity: Modification of calculation * procedure * * Bernd C. Krueger, Feb. 2001: * Variables tth and qvh (on eta coordinates) from common block * * Sabine Eckhardt, March 2007: * added the variable cloud for use with scavenging - descr. in com_mod * PS/AT 2018/-21: variable "cloud" is replaced by quickfix, see below * * Unified ECMWF and GFS builds * Marian Harustak, 12.5.2017 * - Renamed from verttransform to verttransform_ecmwf * * undocumented modifications by NILU for v10 * * Petra Seibert, 2018-06-13: * - put back SAVE attribute for INIT, just to be safe * - minor changes, most of them just cosmetics * for details see changelog.txt in branch unive * * Petra Seibert, Anne Philipp, 2019-05-02: implement wetdepo quickfix * Petra Seibert, Anne Tipka, 2020-11-19: reimplement in latest version * *



                                                                        *

Variables: * Note PS, AT 2021-01-29: all these fields are 0:nxmax-1,0:nymax-1 !! * nx,ny,nz field dimensions in x,y and z direction * icloudbot(0:nxmax,0:nymax,numwfmem) cloud bottom field for wet deposition * icloudtop(0:nxmax,0:nymax,numwfmem) cloud thickness for wet deposition * uu(0:nxmax,0:nymax,nzmax,numwfmem) wind components in x-direction [m/s] vv(0:nxmax,0:nymax,nzmax,numwfmem) wind components in y-direction [m/s] ww(0:nxmax,0:nymax,nzmax,numwfmem) wind components in z-direction * [deltaeta/s] * tt(0:nxmax,0:nymax,nzmax,numwfmem) temperature [K] * pv(0:nxmax,0:nymax,nzmax,numwfmem) potential voriticity (pvu) * ps(0:nxmax,0:nymax,numwfmem) surface pressure [Pa] * *





$OMP DO



if ((jy.eq.0).and.(ix.eq.0)) print*, 'in loop 4'




Compute slope of eta levels in windward direction and resulting vertical wind correction






      icloudtop=icmv ! this is just a local variable


clouds occur where rh>90% (using rh_ice for T<-20 deg C)

      icloudtop=icmv ! this is just a local variable


Arguments

Type IntentOptional Attributes Name
integer :: n
real, intent(in), dimension(0:nxmax-1,0:nymax-1,nuvzmax) :: uuh
real, intent(in), dimension(0:nxmax-1,0:nymax-1,nuvzmax) :: vvh
real, intent(in), dimension(0:nxmax-1,0:nymax-1,nwzmax) :: wwh
real, intent(in), dimension(0:nxmax-1,0:nymax-1,nuvzmax) :: pvh