UPP (develop)
Loading...
Searching...
No Matches
PROCESS.f
Go to the documentation of this file.
1
30!----------------------------------------------------------------------------
39 SUBROUTINE process(kth,kpv,th,pv,iostatusD3D)
40!
41!----------------------------------------------------------------------------
42!
43 use mpi, only: mpi_wtime
44 use upp_ifi_mod, only: run_ifi
45 use ctlblk_mod, only: cfld, etafld2_tim, eta2p_tim, mdl2sigma_tim, surfce2_tim,&
48!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
49 implicit none
50!
51!------ DECLARE VARIABLES.
52!
53 integer,intent(in) :: kth
54 integer,intent(in) :: kpv
55 integer,intent(in) :: iostatusD3D
56 real,intent(in) :: th(kth)
57 real,intent(in) :: pv(kpv)
58 real(kind=8) :: btim
59 CHARACTER*6 DATSET,PROJ
60 LOGICAL NORTH
61!
62!
63!****************************************************************************
64! START SUBROUTINE PROCESS.
65!
66 cfld=0
67 if(me==0) write(*,*) "PROCESS starts"
68!
69! COMPUTE/POST FIELDS ON MDL SURFACES.
70!
71 btim = mpi_wtime()
72 CALL mdlfld
73 if(me==0) write(*,*) "PROCESS MDLFLD done"
74 etafld2_tim = etafld2_tim +(mpi_wtime() - btim)
75!
76! COMPUTE/POST FIELDS ON PRESSURE SURFACES.
77 btim = mpi_wtime()
78 CALL mdl2p(iostatusd3d)
79 if(me==0) write(*,*) "PROCESS MDL2P done"
80 eta2p_tim = eta2p_tim +(mpi_wtime() - btim)
81!
82! COMPUTE/POST FIELDS ON SIGMA SURFACES.
83 btim = mpi_wtime()
84 CALL mdl2sigma
85 if(me==0) write(*,*) "PROCESS MDL2SIGMA done"
86 CALL mdl2sigma2
87 if(me==0) write(*,*) "PROCESS MDL2SIGMA2 done"
88 mdl2sigma_tim = mdl2sigma_tim +(mpi_wtime() - btim)
89!
90! COMPUTE/POST FIELDS ON AGL SURFCES.
91 btim = mpi_wtime()
92 CALL mdl2agl
93 if(me==0) write(*,*) "PROCESS MDL2AGL done"
94 mdl2agl_tim = mdl2agl_tim +(mpi_wtime() - btim)
95!
96! COMPUTE/POST SURFACE RELATED FIELDS.
97 btim = mpi_wtime()
98 CALL surfce
99 if(me==0) write(*,*) "PROCESS SURFCE done"
100 surfce2_tim = surfce2_tim +(mpi_wtime() - btim)
101!
102! COMPUTE/POST SOUNDING AND CLOUD RELATED FIELDS.
103 btim = mpi_wtime()
104 CALL cldrad
105 if(me==0) write(*,*) "PROCESS CLDRAD done"
106 cldrad_tim = cldrad_tim +(mpi_wtime() - btim)
107!
108! COMPUTE/POST TROPOPAUSE DATA, FD LEVEL FIELDS,
109! FREEZING LEVEL HEIGHT AND RH, BOUNDARY LAYER FIELDS,
110! AND LFM-NGM LOOK-ALIKE FIELDS.
111 btim = mpi_wtime()
112 CALL miscln
113 if(me==0) write(*,*) "PROCESS MISCLN done"
114 miscln_tim = miscln_tim +(mpi_wtime() - btim)
115
116! POST FIXED FIELDS.
117 btim = mpi_wtime()
118 CALL fixed
119 if(me==0) write(*,*) "PROCESS FIXED done"
120 fixed_tim = fixed_tim +(mpi_wtime() - btim)
121!
122! COMPUTE/POST FIELDS ON SIGMA SURFACES.
123 btim = mpi_wtime()
124 CALL mdl2thandpv(kth,kpv,th,pv)
125 if(me==0) write(*,*) "PROCESS MDL2THANDPV done"
126 mdl2thandpv_tim = mdl2thandpv_tim +(mpi_wtime() - btim)
127!
128! POST RADIANCE AND BRIGHTNESS FIELDS.
129 btim = mpi_wtime()
130 CALL calrad_wcloud
131 if(me==0) write(*,*) "PROCESS CALRAD_WCLOUD done"
132 calrad_wcloud_tim = calrad_wcloud_tim +(mpi_wtime() - btim)
133!
134! IN-FLIGHT ICING PRODUCTS
135 btim = mpi_wtime()
136 CALL run_ifi
137 run_ifi_tim = run_ifi_tim +(mpi_wtime()-btim)
138!
139! END OF ROUTINE.
140!
141 ntlfld=cfld
142 if(me==0)print *,'nTLFLD=',ntlfld
143 if(me==0) write(*,*) "PROCESS done"
144!
145 RETURN
146 END
subroutine calrad_wcloud
CALRAD_WCLOUD Subroutine that computes model derived brightness temperature.
subroutine cldrad
CLDRAD Subroutine that computes/posts SOUNDING/CLOUD/RADIATION fields.
Definition CLDRAD.f:88
subroutine fixed
SUBPROGRAM: FIXED POSTS FIXED FIELDS PRGRMMR: TREADON ORG: W/NP2 DATE: 93-08-30.
Definition FIXED.f:45
subroutine mdl2agl
SUBPROGRAM: MDL2P VERT INTRP OF MODEL LVLS TO AGL HEIGHT PRGRMMR: CHUANG ORG: W/NP22 DATE: 05-05-23
Definition MDL2AGL.f:51
subroutine mdl2p(iostatusd3d)
MDL2P() computes vertical interpolation of model levels to pressure.
Definition MDL2P.f:50
subroutine mdl2sigma2
SUBPROGRAM: MDL2P VERT INTRP OF MODEL LVLS TO PRESSURE PRGRMMR: BLACK ORG: W/NP22 DATE: 99-09-23
Definition MDL2SIGMA2.f:46
subroutine mdl2sigma
SUBPROGRAM: MDL2P VERT INTRP OF MODEL LVLS TO PRESSURE PRGRMMR: BLACK ORG: W/NP22 DATE: 99-09-23
Definition MDL2SIGMA.f:55
subroutine mdl2thandpv(kth, kpv, th, pv)
mdl2thandpv() vertical interpolation of model levels to isentropic and potential vorticity levels.
Definition MDL2THANDPV.f:31
subroutine mdlfld
SUBPROGRAM: MDLFLD SLP AND NATIVE LEVEL POSTING PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-21
Definition MDLFLD.f:100
subroutine miscln
MISCLN posts miscellaneous fields.
Definition MISCLN.f:58
subroutine process(kth, kpv, th, pv, iostatusd3d)
process() is a driver for major post routines.
Definition PROCESS.f:40
subroutine surfce
SURFCE posts surface-based fields.
Definition SURFCE.f:79
real(kind=8) etafld2_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) mdl2agl_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) surfce2_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) eta2p_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) calrad_wcloud_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) run_ifi_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) fixed_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) miscln_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) mdl2thandpv_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) cldrad_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209
real(kind=8) mdl2sigma_tim
Time to execute named routine; note that ETAFLD2 and ETA2P refer to MDLFLD and MDL2P routines respect...
Definition CTLBLK.f:209