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 * * Changes, 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 * * Unified ECMWF and GFS builds * Marian Harustak, 12.5.2017 * - Renamed from verttransform to verttransform_ecmwf * * Date: 2017-05-30 modification of a bug in ew. Don Morton (CTBTO project) * * Lucie Bakels, 2022 * - Separated the code into subroutines * - In case of wind_coord_type='ETA': keep ECMWF vertical winds in eta * coordinates * - OpenMP parallelisation * * Petra Seibert, Anne Philipp, 2019-05-02: implement wetdepo quickfix * Petra Seibert, Anne Tipka, 2020-11-19: reimplement in latest version * *
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | 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 |
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 tthn and qvhn (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 * * ESO, 2016 * -note that divide-by-zero occurs when nxmaxn,nymaxn etc. are larger than * the actual field dimensions * * Don Morton, 2017-05-30: * modification of a bug in ew. Don Morton (CTBTO project) * * 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 * *
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | n |
|
|||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax,numbnests) | :: | uuhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax,numbnests) | :: | vvhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nwzmax,numbnests) | :: | wwhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax,numbnests) | :: | pvhn |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | height_tmp(nzmax) | |||
integer, | intent(in) | :: | nmixz_tmp |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(out) | :: | height_tmp(nzmax) | |||
integer, | intent(out) | :: | nmixz_tmp |
z=1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
integer, | intent(in) | :: | nxlim | |||
integer, | intent(in) | :: | nylim | |||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | uuh | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | vvh | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nwzmax) | :: | wwh | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | pvh | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | rhoh | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | prsh | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | pinmconv |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lcw_tmp | |||
logical, | intent(in) | :: | lcwsum_tmp | |||
integer, | intent(in) | :: | nxlim | |||
integer, | intent(in) | :: | nylim | |||
real, | intent(out) | :: | ctwc_tmp(0:nxlim,0:nylim) | |||
real, | intent(inout) | :: | clwc_tmp(0:nxlim,0:nylim,nzmax) | |||
real, | intent(in) | :: | ciwc_tmp(0:nxlim,0:nylim,nzmax) | |||
integer, | intent(out) | :: | icloudbot_tmp(0:nxlim,0:nylim) | |||
integer, | intent(out) | :: | icloudtop_tmp(0:nxlim,0:nylim) | |||
real, | intent(in) | :: | lsprec_tmp(0:nxlim,0:nylim,numpf) | |||
real, | intent(in) | :: | convprec_tmp(0:nxlim,0:nylim,numpf) | |||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | rho_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | tt_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | qv_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | uvzlev | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | wzlev |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ix | |||
integer, | intent(in) | :: | jy | |||
integer, | intent(in) | :: | nxlim | |||
integer, | intent(in) | :: | nylim | |||
integer, | intent(out) | :: | max_cloudthck_eta | |||
integer, | intent(out), | dimension(2) | :: | conv_clrange_eta | ||
integer, | intent(out), | dimension(2) | :: | highconvp_clrange_eta | ||
integer, | intent(out), | dimension(2) | :: | lowconvp_clrange_eta | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | uvzlev |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ix | |||
integer, | intent(in) | :: | jy | |||
logical, | intent(in) | :: | lcw_tmp | |||
logical, | intent(in) | :: | lcwsum_tmp | |||
integer, | intent(in) | :: | nxlim | |||
integer, | intent(in) | :: | nylim | |||
real, | intent(out) | :: | ctwc_tmp(0:nxlim,0:nylim) | |||
real, | intent(inout) | :: | clwc_tmp(0:nxlim,0:nylim,nzmax) | |||
real, | intent(in) | :: | ciwc_tmp(0:nxlim,0:nylim,nzmax) | |||
integer, | intent(out) | :: | icloudbot_tmp(0:nxlim,0:nylim) | |||
integer, | intent(out) | :: | icloudtop_tmp(0:nxlim,0:nylim) | |||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | rho_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | tt_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | qv_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | uvzlev | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | wzlev |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ix | |||
integer, | intent(in) | :: | jy | |||
integer, | intent(in) | :: | nxlim | |||
integer, | intent(in) | :: | nylim | |||
real, | intent(in) | :: | lsprec_tmp(0:nxlim,0:nylim,numpf) | |||
real, | intent(in) | :: | convprec_tmp(0:nxlim,0:nylim,numpf) | |||
real, | intent(in), | dimension(0:nxlim,0:nylim,nzmax) | :: | uvzlev | ||
integer, | intent(inout) | :: | icloudbot_tmp(0:nxlim,0:nylim) | |||
integer, | intent(inout) | :: | icloudtop_tmp(0:nxlim,0:nylim) | |||
integer, | intent(in) | :: | max_cloudthck_eta | |||
integer, | intent(in), | dimension(2) | :: | conv_clrange_eta | ||
integer, | intent(in), | dimension(2) | :: | highconvp_clrange_eta | ||
integer, | intent(in), | dimension(2) | :: | lowconvp_clrange_eta |
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 * *
Type | Intent | Optional | 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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nxlim | |||
integer, | intent(in) | :: | nylim | |||
real, | intent(in), | dimension(0:nxlim,0:nylim) | :: | tt2_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim) | :: | td2_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim) | :: | ps_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | qvh_tmp | ||
real, | intent(in), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | tth_tmp | ||
real, | intent(out), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | prsh_tmp | ||
real, | intent(out), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | rhoh_tmp | ||
real, | intent(out), | dimension(0:nxlim,0:nylim,nzmax) | :: | pinmconv | ||
real, | intent(out), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | uvzlev | ||
real, | intent(out), | dimension(0:nxlim,0:nylim,nuvzmax) | :: | wzlev |
$OMP PARALLEL PRIVATE(jy,ix,kz,dz1,dz2,dz,ix1,jy1,ixp,jyp,dzdx1,dzdx2,dzdx, & $OMP dzdy1,dzdy2,dzdy,dpdeta)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | l | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax,numbnests) | :: | uuhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax,numbnests) | :: | vvhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nwzmax,numbnests) | :: | wwhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax,numbnests) | :: | pvhn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax) | :: | rhohn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nuvzmax) | :: | prshn | ||
real, | intent(in), | dimension(0:nxmaxn-1,0:nymaxn-1,nzmax) | :: | pinmconv |