UPP v11.0.0
Loading...
Searching...
No Matches
PROCESS.f
Go to the documentation of this file.
1
28 SUBROUTINE process(kth,kpv,th,pv,iostatusD3D)
29!
30!----------------------------------------------------------------------------
31!
32 use mpi, only: mpi_wtime
33
34 use ctlblk_mod, only: cfld, etafld2_tim, eta2p_tim, mdl2sigma_tim, surfce2_tim,&
35 mdl2agl_tim, mdl2std_tim, mdl2thandpv_tim, calrad_wcloud_tim,&
36 cldrad_tim, miscln_tim, fixed_tim, ntlfld, me
37!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
38 implicit none
39!
40!------ DECLARE VARIABLES.
41!
42 integer,intent(in) :: kth
43 integer,intent(in) :: kpv
44 integer,intent(in) :: iostatusD3D
45 real,intent(in) :: th(kth)
46 real,intent(in) :: pv(kpv)
47 real(kind=8) :: btim
48 CHARACTER*6 DATSET,PROJ
49 LOGICAL NORTH
50!
51!
52!****************************************************************************
53! START SUBROUTINE PROCESS.
54!
55 cfld=0
56 if(me==0) write(0,*) "PROCESS starts"
57!
58! COMPUTE/POST FIELDS ON MDL SURFACES.
59!
60 btim = mpi_wtime()
61 CALL mdlfld
62 if(me==0) write(0,*) "PROCESS MDLFLD done"
63 etafld2_tim = etafld2_tim +(mpi_wtime() - btim)
64!
65! COMPUTE/POST FIELDS ON PRESSURE SURFACES.
66 btim = mpi_wtime()
67 CALL mdl2p(iostatusd3d)
68 if(me==0) write(0,*) "PROCESS MDL2P done"
69 eta2p_tim = eta2p_tim +(mpi_wtime() - btim)
70!
71! COMPUTE/POST FIELDS ON SIGMA SURFACES.
72 btim = mpi_wtime()
73 CALL mdl2sigma
74 if(me==0) write(0,*) "PROCESS MDL2SIGMA done"
75 CALL mdl2sigma2
76 if(me==0) write(0,*) "PROCESS MDL2SIGMA2 done"
77 mdl2sigma_tim = mdl2sigma_tim +(mpi_wtime() - btim)
78!
79! COMPUTE/POST FIELDS ON AGL SURFCES.
80 btim = mpi_wtime()
81 CALL mdl2agl
82 if(me==0) write(0,*) "PROCESS MDL2AGL done"
83 mdl2agl_tim = mdl2agl_tim +(mpi_wtime() - btim)
84!
85! COMPUTE/POST SURFACE RELATED FIELDS.
86 btim = mpi_wtime()
87 CALL surfce
88 if(me==0) write(0,*) "PROCESS SURFCE done"
89 surfce2_tim = surfce2_tim +(mpi_wtime() - btim)
90!
91! COMPUTE/POST SOUNDING AND CLOUD RELATED FIELDS.
92 btim = mpi_wtime()
93 CALL cldrad
94 if(me==0) write(0,*) "PROCESS CLDRAD done"
95 cldrad_tim = cldrad_tim +(mpi_wtime() - btim)
96!
97! COMPUTE/POST TROPOPAUSE DATA, FD LEVEL FIELDS,
98! FREEZING LEVEL HEIGHT AND RH, BOUNDARY LAYER FIELDS,
99! AND LFM-NGM LOOK-ALIKE FIELDS.
100 btim = mpi_wtime()
101 CALL miscln
102 if(me==0) write(0,*) "PROCESS MISCLN done"
103 miscln_tim = miscln_tim +(mpi_wtime() - btim)
104
105! COMPUTE/POST TROPOPAUSE DATA, FD LEVEL FIELDS,
106! FREEZING LEVEL HEIGHT AND RH, BOUNDARY LAYER FIELDS,
107! AND LFM-NGM LOOK-ALIKE FIELDS.
108 btim = mpi_wtime()
109 CALL mdl2std_p
110 if(me==0) write(0,*) "PROCESS MDL2STD_P done"
111 mdl2std_tim = mdl2std_tim +(mpi_wtime() - btim)
112!
113! POST FIXED FIELDS.
114 btim = mpi_wtime()
115 CALL fixed
116 if(me==0) write(0,*) "PROCESS FIXED done"
117 fixed_tim = fixed_tim +(mpi_wtime() - btim)
118!
119! COMPUTE/POST FIELDS ON SIGMA SURFACES.
120 btim = mpi_wtime()
121 CALL mdl2thandpv(kth,kpv,th,pv)
122 if(me==0) write(0,*) "PROCESS MDL2THANDPV done"
123 mdl2thandpv_tim = mdl2thandpv_tim +(mpi_wtime() - btim)
124!
125! POST RADIANCE AND BRIGHTNESS FIELDS.
126 btim = mpi_wtime()
127 CALL calrad_wcloud
128 if(me==0) write(0,*) "PROCESS CALRAD_WCLOUD done"
129 calrad_wcloud_tim = calrad_wcloud_tim +(mpi_wtime() - btim)
130!
131! END OF ROUTINE.
132!
133 ntlfld=cfld
134 if(me==0)print *,'nTLFLD=',ntlfld
135 if(me==0) write(0,*) "PROCESS done"
136!
137 RETURN
138 END
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:49
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:54
subroutine miscln
SUBPROGRAM: MISCLN POSTS MISCELLANEOUS FIELDS PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-20.
Definition MISCLN.f:87
subroutine surfce
SUBPROGRAM: SURFCE POST SURFACE BASED FIELDS PRGRMMR: TREADON ORG: W/NP2 DATE: 92-12-21
Definition SURFCE.f:64