Skip to content

Commit 120474c

Browse files
committed
add the rest of the PUMAS arrays
1 parent 608de1b commit 120474c

File tree

2 files changed

+900
-19
lines changed

2 files changed

+900
-19
lines changed

scm/src/CCPP_typedefs.F90

Lines changed: 271 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,7 @@ module CCPP_typedefs
202202
integer, pointer :: mbota(:,:) => null() !<
203203
logical :: mg3_as_mg2 !<
204204
real (kind=kind_phys), pointer :: micro_accre_enhan => null()
205-
real (kind=kind_phys), pointer :: micro_numice_tend => null()
206-
real (kind=kind_phys), pointer :: micro_numliq_tend => null()
207-
real (kind=kind_phys), pointer :: micro_pmid_in => null()
205+
real (kind=kind_phys), pointer :: micro_pmid => null()
208206
real (kind=kind_phys), pointer :: micro_pint => null()
209207
real (kind=kind_phys), pointer :: micro_pdel => null()
210208
real (kind=kind_phys), pointer :: micro_airT => null()
@@ -215,6 +213,95 @@ module CCPP_typedefs
215213
real (kind=kind_phys), pointer :: micro_csrfl => null()
216214
real (kind=kind_phys), pointer :: micro_reflz10cm => null()
217215
real (kind=kind_phys), pointer :: micro_areflz => null()
216+
real (kind=kind_phys), pointer :: micro_ncai => null()
217+
real (kind=kind_phys), pointer :: micro_ncal => null()
218+
real (kind=kind_phys), pointer :: micro_airq => null()
219+
real (kind=kind_phys), pointer :: micro_cldliq => null()
220+
real (kind=kind_phys), pointer :: micro_cldice => null()
221+
real (kind=kind_phys), pointer :: micro_numliq => null()
222+
real (kind=kind_phys), pointer :: micro_numice => null()
223+
real (kind=kind_phys), pointer :: init_micro_rainliq => null()
224+
real (kind=kind_phys), pointer :: init_micro_snowice => null()
225+
real (kind=kind_phys), pointer :: micro_numrain => null()
226+
real (kind=kind_phys), pointer :: micro_numsnow => null()
227+
real (kind=kind_phys), pointer :: init_micro_graupice => null()
228+
real (kind=kind_phys), pointer :: micro_numgraup => null()
229+
real (kind=kind_phys), pointer :: micro_relvar => null()
230+
real (kind=kind_phys), pointer :: micro_strat_cldfrc => null()
231+
real (kind=kind_phys), pointer :: micro_strat_liq_cldfrc => null()
232+
real (kind=kind_phys), pointer :: micro_strat_ice_cldfrc => null()
233+
real (kind=kind_phys), pointer :: micro_qsatfac => null()
234+
real (kind=kind_phys), pointer :: micro_naai => null()
235+
real (kind=kind_phys), pointer :: micro_npccn => null()
236+
real (kind=kind_phys), pointer :: micro_rndst => null()
237+
real (kind=kind_phys), pointer :: micro_nacon => null()
238+
real (kind=kind_phys), pointer :: micro_snowice_tend_external => null()
239+
real (kind=kind_phys), pointer :: micro_numsnow_tend_external => null()
240+
real (kind=kind_phys), pointer :: micro_effi_external => null()
241+
real (kind=kind_phys), pointer :: micro_frzimm=> null()
242+
real (kind=kind_phys), pointer :: micro_frzcnt=> null()
243+
real (kind=kind_phys), pointer :: micro_frzdep=> null()
244+
real (kind=kind_phys), pointer :: micro_qcsinksum_rate1ord => null()
245+
real (kind=kind_phys), pointer :: micro_airT_tend => null()
246+
real (kind=kind_phys), pointer :: micro_airq_tend => null()
247+
real (kind=kind_phys), pointer :: micro_cldliq_tend => null()
248+
real (kind=kind_phys), pointer :: micro_cldice_tend => null()
249+
real (kind=kind_phys), pointer :: micro_numliq_tend => null()
250+
real (kind=kind_phys), pointer :: micro_numice_tend => null()
251+
real (kind=kind_phys), pointer :: micro_rainliq_tend => null()
252+
real (kind=kind_phys), pointer :: micro_snowice_tend => null()
253+
real (kind=kind_phys), pointer :: micro_numrain_tend => null()
254+
real (kind=kind_phys), pointer :: micro_numsnow_tend => null()
255+
real (kind=kind_phys), pointer :: micro_graupice_tend => null()
256+
real (kind=kind_phys), pointer :: micro_numgraup_tend => null()
257+
real (kind=kind_phys), pointer :: micro_effc => null()
258+
real (kind=kind_phys), pointer :: micro_effc_fn => null()
259+
real (kind=kind_phys), pointer :: micro_effi => null()
260+
real (kind=kind_phys), pointer :: micro_sadice => null()
261+
real (kind=kind_phys), pointer :: micro_sadsnow => null()
262+
real (kind=kind_phys), pointer :: micro_prect => null()
263+
real (kind=kind_phys), pointer :: micro_preci => null()
264+
real (kind=kind_phys), pointer :: micro_prec_evap => null()
265+
real (kind=kind_phys), pointer :: micro_am_evap_st => null()
266+
real (kind=kind_phys), pointer :: micro_prec_prod => null()
267+
real (kind=kind_phys), pointer :: micro_cmeice => null()
268+
real (kind=kind_phys), pointer :: micro_deffi => null()
269+
real (kind=kind_phys), pointer :: micro_pgamrad => null()
270+
real (kind=kind_phys), pointer :: micro_lamcrad => null()
271+
real (kind=kind_phys), pointer :: micro_snowice_in_prec => null()
272+
real (kind=kind_phys), pointer :: micro_scaled_diam_snow => null()
273+
real (kind=kind_phys), pointer :: micro_graupice_in_prec => null()
274+
real (kind=kind_phys), pointer :: micro_numgraup_vol_in_prec => null()
275+
real (kind=kind_phys), pointer :: micro_scaled_diam_graup => null()
276+
real (kind=kind_phys), pointer :: micro_lflx => null()
277+
real (kind=kind_phys), pointer :: micro_iflx => null()
278+
real (kind=kind_phys), pointer :: micro_gflx => null()
279+
real (kind=kind_phys), pointer :: micro_rflx => null()
280+
real (kind=kind_phys), pointer :: micro_sflx => null()
281+
real (kind=kind_phys), pointer :: micro_rainliq_in_prec => null()
282+
real (kind=kind_phys), pointer :: micro_reff_rain => null()
283+
real (kind=kind_phys), pointer :: micro_reff_snow => null()
284+
real (kind=kind_phys), pointer :: micro_reff_grau => null()
285+
real (kind=kind_phys), pointer :: micro_numrain_vol_in_prec => null()
286+
real (kind=kind_phys), pointer :: micro_numsnow_vol_in_prec => null()
287+
real (kind=kind_phys), pointer :: micro_frefl => null()
288+
real (kind=kind_phys), pointer :: micro_fcsrfl => null()
289+
real (kind=kind_phys), pointer :: micro_rercld => null()
290+
real (kind=kind_phys), pointer :: micro_rainliq => null()
291+
real (kind=kind_phys), pointer :: micro_snowice => null()
292+
real (kind=kind_phys), pointer :: micro_numrain_vol => null()
293+
real (kind=kind_phys), pointer :: micro_numsnow_vol => null()
294+
real (kind=kind_phys), pointer :: micro_diam_rain => null()
295+
real (kind=kind_phys), pointer :: micro_diam_snow => null()
296+
real (kind=kind_phys), pointer :: micro_graupice => null()
297+
real (kind=kind_phys), pointer :: micro_numgraup_vol => null()
298+
real (kind=kind_phys), pointer :: micro_diam_graup => null()
299+
real (kind=kind_phys), pointer :: micro_freq_graup => null()
300+
real (kind=kind_phys), pointer :: micro_freq_snow => null()
301+
real (kind=kind_phys), pointer :: micro_freq_rain => null()
302+
real (kind=kind_phys), pointer :: micro_frac_ice => null()
303+
real (kind=kind_phys), pointer :: micro_frac_cldliq_tend => null()
304+
real (kind=kind_phys), pointer :: micro_rain_evap => null()
218305
integer, pointer :: mtopa(:,:) => null() !<
219306
integer :: nbdlw !<
220307
integer :: nbdsw !<
@@ -249,6 +336,7 @@ module CCPP_typedefs
249336
real (kind=kind_phys), pointer :: plyr(:,:) => null() !<
250337
real (kind=kind_phys), pointer :: prcpmp(:) => null() !<
251338
real (kind=kind_phys), pointer :: prnum(:,:) => null() !<
339+
type (proc_rates_type), pointer :: micro_proc_rates !<
252340
real (kind=kind_phys), pointer :: q2mp(:) => null() !<
253341
real (kind=kind_phys), pointer :: qgl(:,:) => null() !<
254342
real (kind=kind_phys), pointer :: qicn(:,:) => null() !<
@@ -606,7 +694,7 @@ subroutine gfs_interstitial_create (Interstitial, IM, Model)
606694
allocate (Interstitial%micro_accre_enhan(IM,Model%micro_nlev))
607695
allocate (Interstitial%micro_numice_tend(IM,Model%micro_nlev))
608696
allocate (Interstitial%micro_numliq_tend(IM,Model%micro_nlev))
609-
allocate (Interstitial%micro_pmid_in(IM,Model%micro_nlev))
697+
allocate (Interstitial%micro_pmid(IM,Model%micro_nlev))
610698
allocate (Interstitial%micro_pint(IM,Model%micro_nlev))
611699
allocate (Interstitial%micro_pdel(IM,Model%micro_nlev))
612700
allocate (Interstitial%micro_airT(IM,Model%micro_nlev))
@@ -617,6 +705,95 @@ subroutine gfs_interstitial_create (Interstitial, IM, Model)
617705
allocate (Interstitial%micro_csrfl(IM,Model%micro_nlev))
618706
allocate (Interstitial%micro_reflz10cm(IM,Model%micro_nlev))
619707
allocate (Interstitial%micro_areflz(IM,Model%micro_nlev))
708+
allocate (Interstitial%micro_ncai(IM,Model%micro_nlev))
709+
allocate (Interstitial%micro_ncal(IM,Model%micro_nlev))
710+
allocate (Interstitial%micro_airq(IM,Model%micro_nlev))
711+
allocate (Interstitial%micro_cldliq(IM,Model%micro_nlev))
712+
allocate (Interstitial%micro_cldice(IM,Model%micro_nlev))
713+
allocate (Interstitial%micro_numliq(IM,Model%micro_nlev))
714+
allocate (Interstitial%micro_numice(IM,Model%micro_nlev))
715+
allocate (Interstitial%init_micro_rainliq(IM,Model%micro_nlev))
716+
allocate (Interstitial%init_micro_snowice(IM,Model%micro_nlev))
717+
allocate (Interstitial%micro_numrain(IM,Model%micro_nlev))
718+
allocate (Interstitial%micro_numsnow(IM,Model%micro_nlev))
719+
allocate (Interstitial%init_micro_graupice(IM,Model%micro_nlev))
720+
allocate (Interstitial%micro_numgraup(IM,Model%micro_nlev))
721+
allocate (Interstitial%micro_relvar(IM,Model%micro_nlev))
722+
allocate (Interstitial%micro_strat_cldfrc(IM,Model%micro_nlev))
723+
allocate (Interstitial%micro_strat_liq_cldfrc(IM,Model%micro_nlev))
724+
allocate (Interstitial%micro_strat_ice_cldfrc(IM,Model%micro_nlev))
725+
allocate (Interstitial%micro_qsatfac(IM,Model%micro_nlev))
726+
allocate (Interstitial%micro_naai(IM,Model%micro_nlev))
727+
allocate (Interstitial%micro_npccn(IM,Model%micro_nlev))
728+
allocate (Interstitial%micro_rndst(IM,Model%micro_nlev))
729+
allocate (Interstitial%micro_nacon(IM,Model%micro_nlev))
730+
allocate (Interstitial%micro_snowice_tend_external(IM,Model%micro_nlev))
731+
allocate (Interstitial%micro_numsnow_tend_external(IM,Model%micro_nlev))
732+
allocate (Interstitial%micro_effi_external(IM,Model%micro_nlev))
733+
allocate (Interstitial%micro_frzimm(IM,Model%micro_nlev))
734+
allocate (Interstitial%micro_frzcnt(IM,Model%micro_nlev))
735+
allocate (Interstitial%micro_frzdep(IM,Model%micro_nlev))
736+
allocate (Interstitial%micro_qcsinksum_rate1ord(IM,Model%micro_nlev))
737+
allocate (Interstitial%micro_airT_tend(IM,Model%micro_nlev))
738+
allocate (Interstitial%micro_airq_tend(IM,Model%micro_nlev))
739+
allocate (Interstitial%micro_cldliq_tend(IM,Model%micro_nlev))
740+
allocate (Interstitial%micro_cldice_tend(IM,Model%micro_nlev))
741+
allocate (Interstitial%micro_numliq_tend(IM,Model%micro_nlev))
742+
allocate (Interstitial%micro_numice_tend(IM,Model%micro_nlev))
743+
allocate (Interstitial%micro_rainliq_tend(IM,Model%micro_nlev))
744+
allocate (Interstitial%micro_snowice_tend(IM,Model%micro_nlev))
745+
allocate (Interstitial%micro_numrain_tend(IM,Model%micro_nlev))
746+
allocate (Interstitial%micro_numsnow_tend(IM,Model%micro_nlev))
747+
allocate (Interstitial%micro_graupice_tend(IM,Model%micro_nlev))
748+
allocate (Interstitial%micro_numgraup_tend(IM,Model%micro_nlev))
749+
allocate (Interstitial%micro_effc(IM,Model%micro_nlev))
750+
allocate (Interstitial%micro_effc_fn(IM,Model%micro_nlev))
751+
allocate (Interstitial%micro_effi(IM,Model%micro_nlev))
752+
allocate (Interstitial%micro_sadice(IM,Model%micro_nlev))
753+
allocate (Interstitial%micro_sadsnow(IM,Model%micro_nlev))
754+
allocate (Interstitial%micro_prect(IM,Model%micro_nlev))
755+
allocate (Interstitial%micro_preci(IM,Model%micro_nlev))
756+
allocate (Interstitial%micro_prec_evap(IM,Model%micro_nlev))
757+
allocate (Interstitial%micro_am_evap_st(IM,Model%micro_nlev))
758+
allocate (Interstitial%micro_prec_prod(IM,Model%micro_nlev))
759+
allocate (Interstitial%micro_cmeice(IM,Model%micro_nlev))
760+
allocate (Interstitial%micro_deffi(IM,Model%micro_nlev))
761+
allocate (Interstitial%micro_pgamrad(IM,Model%micro_nlev))
762+
allocate (Interstitial%micro_lamcrad(IM,Model%micro_nlev))
763+
allocate (Interstitial%micro_snowice_in_prec(IM,Model%micro_nlev))
764+
allocate (Interstitial%micro_scaled_diam_snow(IM,Model%micro_nlev))
765+
allocate (Interstitial%micro_graupice_in_prec(IM,Model%micro_nlev))
766+
allocate (Interstitial%micro_numgraup_vol_in_prec(IM,Model%micro_nlev))
767+
allocate (Interstitial%micro_scaled_diam_graup(IM,Model%micro_nlev))
768+
allocate (Interstitial%micro_lflx(IM,Model%micro_nlevp1))
769+
allocate (Interstitial%micro_iflx(IM,Model%micro_nlevp1))
770+
allocate (Interstitial%micro_gflx(IM,Model%micro_nlevp1))
771+
allocate (Interstitial%micro_rflx(IM,Model%micro_nlevp1))
772+
allocate (Interstitial%micro_sflx(IM,Model%micro_nlevp1))
773+
allocate (Interstitial%micro_rainliq_in_prec(IM,Model%micro_nlev))
774+
allocate (Interstitial%micro_reff_rain(IM,Model%micro_nlev))
775+
allocate (Interstitial%micro_reff_snow(IM,Model%micro_nlev))
776+
allocate (Interstitial%micro_reff_grau(IM,Model%micro_nlev))
777+
allocate (Interstitial%micro_numrain_vol_in_prec(IM,Model%micro_nlev))
778+
allocate (Interstitial%micro_numsnow_vol_in_prec(IM,Model%micro_nlev))
779+
allocate (Interstitial%micro_frefl(IM,Model%micro_nlev))
780+
allocate (Interstitial%micro_fcsrfl(IM,Model%micro_nlev))
781+
allocate (Interstitial%micro_rercld(IM,Model%micro_nlev))
782+
allocate (Interstitial%micro_rainliq(IM,Model%micro_nlev))
783+
allocate (Interstitial%micro_snowice(IM,Model%micro_nlev))
784+
allocate (Interstitial%micro_numrain_vol(IM,Model%micro_nlev))
785+
allocate (Interstitial%micro_numsnow_vol(IM,Model%micro_nlev))
786+
allocate (Interstitial%micro_diam_rain(IM,Model%micro_nlev))
787+
allocate (Interstitial%micro_diam_snow(IM,Model%micro_nlev))
788+
allocate (Interstitial%micro_graupice(IM,Model%micro_nlev))
789+
allocate (Interstitial%micro_numgraup_vol(IM,Model%micro_nlev))
790+
allocate (Interstitial%micro_diam_graup(IM,Model%micro_nlev))
791+
allocate (Interstitial%micro_freq_graup(IM,Model%micro_nlev))
792+
allocate (Interstitial%micro_freq_snow(IM,Model%micro_nlev))
793+
allocate (Interstitial%micro_freq_rain(IM,Model%micro_nlev))
794+
allocate (Interstitial%micro_frac_ice(IM,Model%micro_nlev))
795+
allocate (Interstitial%micro_frac_cldliq_tend(IM,Model%micro_nlev))
796+
allocate (Interstitial%micro_rain_evap(IM,Model%micro_nlev))
620797
allocate (Interstitial%mtopa (IM,3))
621798
allocate (Interstitial%oa4 (IM,4))
622799
allocate (Interstitial%oc (IM))
@@ -1091,7 +1268,7 @@ subroutine gfs_interstitial_rad_reset (Interstitial, Model)
10911268
Interstitial%micro_accre_enhan = clear_val
10921269
Interstitial%micro_numice_tend = clear_val
10931270
Interstitial%micro_numliq_tend = clear_val
1094-
Interstitial%micro_pmid_in = clear_val
1271+
Interstitial%micro_pmid = clear_val
10951272
Interstitial%micro_pint = clear_val
10961273
Interstitial%micro_pdel = clear_val
10971274
Interstitial%micro_airT = clear_val
@@ -1102,6 +1279,95 @@ subroutine gfs_interstitial_rad_reset (Interstitial, Model)
11021279
Interstitial%micro_csrfl = clear_val
11031280
Interstitial%micro_reflz10cm = clear_val
11041281
Interstitial%micro_areflz = clear_val
1282+
Interstitial%micro_ncai = clear_val
1283+
Interstitial%micro_ncal = clear_val
1284+
Interstitial%micro_airq = clear_val
1285+
Interstitial%micro_cldliq = clear_val
1286+
Interstitial%micro_cldice = clear_val
1287+
Interstitial%micro_numliq = clear_val
1288+
Interstitial%micro_numice = clear_val
1289+
Interstitial%init_micro_rainliq = clear_val
1290+
Interstitial%init_micro_snowice = clear_val
1291+
Interstitial%micro_numrain = clear_val
1292+
Interstitial%micro_numsnow = clear_val
1293+
Interstitial%init_micro_graupice = clear_val
1294+
Interstitial%micro_numgraup = clear_val
1295+
Interstitial%micro_relvar = clear_val
1296+
Interstitial%micro_strat_cldfrc = clear_val
1297+
Interstitial%micro_strat_liq_cldfrc = clear_val
1298+
Interstitial%micro_strat_ice_cldfrc = clear_val
1299+
Interstitial%micro_qsatfac = clear_val
1300+
Interstitial%micro_naai = clear_val
1301+
Interstitial%micro_npccn = clear_val
1302+
Interstitial%micro_rndst = clear_val
1303+
Interstitial%micro_nacon = clear_val
1304+
Interstitial%micro_snowice_tend_external = clear_val
1305+
Interstitial%micro_numsnow_tend_external = clear_val
1306+
Interstitial%micro_effi_external = clear_val
1307+
Interstitial%micro_frzimm = clear_val
1308+
Interstitial%micro_frzcnt = clear_val
1309+
Interstitial%micro_frzdep = clear_val
1310+
Interstitial%micro_qcsinksum_rate1ord = clear_val
1311+
Interstitial%micro_airT_tend = clear_val
1312+
Interstitial%micro_airq_tend = clear_val
1313+
Interstitial%micro_cldliq_tend = clear_val
1314+
Interstitial%micro_cldice_tend = clear_val
1315+
Interstitial%micro_numliq_tend = clear_val
1316+
Interstitial%micro_numice_tend = clear_val
1317+
Interstitial%micro_rainliq_tend = clear_val
1318+
Interstitial%micro_snowice_tend = clear_val
1319+
Interstitial%micro_numrain_tend = clear_val
1320+
Interstitial%micro_numsnow_tend = clear_val
1321+
Interstitial%micro_graupice_tend = clear_val
1322+
Interstitial%micro_numgraup_tend = clear_val
1323+
Interstitial%micro_effc = clear_val
1324+
Interstitial%micro_effc_fn = clear_val
1325+
Interstitial%micro_effi = clear_val
1326+
Interstitial%micro_sadice = clear_val
1327+
Interstitial%micro_sadsnow = clear_val
1328+
Interstitial%micro_prect = clear_val
1329+
Interstitial%micro_preci = clear_val
1330+
Interstitial%micro_prec_evap = clear_val
1331+
Interstitial%micro_am_evap_st = clear_val
1332+
Interstitial%micro_prec_prod = clear_val
1333+
Interstitial%micro_cmeice = clear_val
1334+
Interstitial%micro_deffi = clear_val
1335+
Interstitial%micro_pgamrad = clear_val
1336+
Interstitial%micro_lamcrad = clear_val
1337+
Interstitial%micro_snowice_in_prec = clear_val
1338+
Interstitial%micro_scaled_diam_snow = clear_val
1339+
Interstitial%micro_graupice_in_prec = clear_val
1340+
Interstitial%micro_numgraup_vol_in_prec = clear_val
1341+
Interstitial%micro_scaled_diam_graup = clear_val
1342+
Interstitial%micro_lflx = clear_val
1343+
Interstitial%micro_iflx = clear_val
1344+
Interstitial%micro_gflx = clear_val
1345+
Interstitial%micro_rflx = clear_val
1346+
Interstitial%micro_sflx = clear_val
1347+
Interstitial%micro_rainliq_in_prec = clear_val
1348+
Interstitial%micro_reff_rain = clear_val
1349+
Interstitial%micro_reff_snow = clear_val
1350+
Interstitial%micro_reff_grau = clear_val
1351+
Interstitial%micro_numrain_vol_in_prec = clear_val
1352+
Interstitial%micro_numsnow_vol_in_prec = clear_val
1353+
Interstitial%micro_frefl = clear_val
1354+
Interstitial%micro_fcsrfl = clear_val
1355+
Interstitial%micro_rercld = clear_val
1356+
Interstitial%micro_rainliq = clear_val
1357+
Interstitial%micro_snowice = clear_val
1358+
Interstitial%micro_numrain_vol = clear_val
1359+
Interstitial%micro_numsnow_vol = clear_val
1360+
Interstitial%micro_diam_rain = clear_val
1361+
Interstitial%micro_diam_snow = clear_val
1362+
Interstitial%micro_graupice = clear_val
1363+
Interstitial%micro_numgraup_vol = clear_val
1364+
Interstitial%micro_diam_graup = clear_val
1365+
Interstitial%micro_freq_graup = clear_val
1366+
Interstitial%micro_freq_snow = clear_val
1367+
Interstitial%micro_freq_rain = clear_val
1368+
Interstitial%micro_frac_ice = clear_val
1369+
Interstitial%micro_frac_cldliq_tend = clear_val
1370+
Interstitial%micro_rain_evap = clear_val
11051371
Interstitial%mtopa = 0
11061372
Interstitial%nday = 0
11071373
Interstitial%olyr = clear_val

0 commit comments

Comments
 (0)