UPP (develop)
Loading...
Searching...
No Matches
FILL_PSETFLD.f
Go to the documentation of this file.
1
19!-----------------------------------------------------------------------
28 subroutine fill_psetfld(param_ofld,param_afld)
29!
30
31!
32!
33! INCLUDE ETA GRID DIMENSIONS. SET/DERIVE PARAMETERS.
34!
35 use xml_perl_data, only: param_t
36!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
37 implicit none
38!
39! DECLARE VARIABLES.
40!
41 type(param_t) ,intent(inout) :: param_ofld
42 type(param_t) ,intent(in) :: param_afld
43!
44 integer :: i,j
45!
46!******************************************************************************
47! START HERE.
48!
49! GET field information
50!
51! pds template
52 if(trim(param_afld%pdstmpl)/='tmpl4_0'.and.trim(param_ofld%pdstmpl)=='tmpl4_0') then
53 param_ofld%pdstmpl=param_afld%pdstmpl
54 endif
55! pname
56 if(trim(param_ofld%pname)==''.and.trim(param_afld%pname)/='') then
57 param_ofld%pname=param_afld%pname
58 endif
59! stats_proc
60 if(trim(param_ofld%stats_proc)==''.and.trim(param_afld%stats_proc)/='') then
61 param_ofld%stats_proc=param_afld%stats_proc
62 endif
63! table_info
64 if(trim(param_ofld%table_info)==''.and.trim(param_afld%table_info)/='') then
65 param_ofld%table_info=param_afld%table_info
66 endif
67!
68! fixed_sfc1_type
69 if(trim(param_ofld%fixed_sfc1_type)==''.and.trim(param_afld%fixed_sfc1_type)/='') then
70 param_ofld%fixed_sfc1_type=param_afld%fixed_sfc1_type
71 endif
72! scale_fact_fixed_sfc1
73 if(size(param_ofld%scale_fact_fixed_sfc1)==0.and.size(param_afld%scale_fact_fixed_sfc1)/=0) then
74! print *,'scale_fact,fld=',trim(param_ofld%shortname),size(param_afld%scale_fact_fixed_sfc1)
75 nullify(param_ofld%scale_fact_fixed_sfc1)
76 allocate(param_ofld%scale_fact_fixed_sfc1(1))
77 param_ofld%scale_fact_fixed_sfc1(1)=param_afld%scale_fact_fixed_sfc1(1)
78 endif
79! level
80 if(size(param_ofld%level)==0.and.size(param_afld%level)/=0) then
81 nullify(param_ofld%level)
82 allocate(param_ofld%level(1))
83 param_ofld%level(1)=param_afld%level(1)
84 endif
85! fixed_sfc2_type
86 if(trim(param_ofld%fixed_sfc2_type)==''.and.trim(param_afld%fixed_sfc2_type)/='') then
87 param_ofld%fixed_sfc2_type=param_afld%fixed_sfc2_type
88 endif
89! scale_fact_fixed_sfc2
90 if(size(param_ofld%scale_fact_fixed_sfc2)==0.and.size(param_afld%scale_fact_fixed_sfc2)/=0) then
91 nullify(param_ofld%scale_fact_fixed_sfc2)
92 allocate(param_ofld%scale_fact_fixed_sfc2(1))
93 param_ofld%scale_fact_fixed_sfc2(1)=param_afld%scale_fact_fixed_sfc2(1)
94 endif
95! level2
96 if(size(param_ofld%level2)==0.and.size(param_afld%level2)/=0) then
97 nullify(param_ofld%level2)
98 allocate(param_ofld%level2(1))
99 param_ofld%level2(1)=param_afld%level2(1)
100 endif
101! aerosol type
102 if(trim(param_ofld%aerosol_type)==''.and.trim(param_afld%aerosol_type)/='') then
103 param_ofld%aerosol_type=param_afld%aerosol_type
104 endif
105! prob type
106 if(trim(param_ofld%prob_type)==''.and.trim(param_afld%prob_type)/='') then
107 param_ofld%prob_type=param_afld%prob_type
108 endif
109! typ_intvl_size
110 if(trim(param_ofld%typ_intvl_size)==''.and.trim(param_afld%typ_intvl_size)/='') then
111 param_ofld%typ_intvl_size=param_afld%typ_intvl_size
112 endif
113! scale_fact_1st_size
114 if(param_ofld%scale_fact_1st_size==0.and.param_afld%scale_fact_1st_size/=0) then
115 param_ofld%scale_fact_1st_size=param_afld%scale_fact_1st_size
116 endif
117! scale_val_1st_size
118 if(param_ofld%scale_val_1st_size==0.and.param_afld%scale_val_1st_size/=0) then
119 param_ofld%scale_val_1st_size=param_afld%scale_val_1st_size
120 endif
121! scale_fact_2nd_size
122 if(param_ofld%scale_fact_2nd_size==0.and.param_afld%scale_fact_2nd_size/=0) then
123 param_ofld%scale_fact_2nd_size=param_afld%scale_fact_2nd_size
124 endif
125! scale_val_2nd_size
126 if(param_ofld%scale_val_2nd_size==0.and.param_afld%scale_val_2nd_size/=0) then
127 param_ofld%scale_val_2nd_size=param_afld%scale_val_2nd_size
128 endif
129
130! typ_intvl_wvlen
131 if(trim(param_ofld%typ_intvl_wvlen)==''.and.trim(param_afld%typ_intvl_wvlen)/='') then
132 param_ofld%typ_intvl_wvlen=param_afld%typ_intvl_wvlen
133 endif
134! scale_fact_1st_wvlen
135 if(param_ofld%scale_fact_1st_wvlen==0.and.param_afld%scale_fact_1st_wvlen/=0) then
136 param_ofld%scale_fact_1st_wvlen=param_afld%scale_fact_1st_wvlen
137 endif
138! scale_val_1st_wvlen
139 if(param_ofld%scale_val_1st_wvlen==0.and.param_afld%scale_val_1st_wvlen/=0) then
140 param_ofld%scale_val_1st_wvlen=param_afld%scale_val_1st_wvlen
141 endif
142! scale_fact_2nd_wvlen
143 if(param_ofld%scale_fact_2nd_wvlen==0.and.param_afld%scale_fact_2nd_wvlen/=0) then
144 param_ofld%scale_fact_2nd_wvlen=param_afld%scale_fact_2nd_wvlen
145 endif
146! scale_val_2nd_wvlen
147 if(param_ofld%scale_val_2nd_wvlen==0.and.param_afld%scale_val_2nd_wvlen/=0) then
148 param_ofld%scale_val_2nd_wvlen=param_afld%scale_val_2nd_wvlen
149 endif
150!
151! scale
152 if(size(param_ofld%scale)==0.and.size(param_afld%scale)/=0) then
153 nullify(param_ofld%scale)
154 allocate(param_ofld%scale(size(param_afld%scale)))
155 param_ofld%scale=param_afld%scale
156 endif
157
158!
159 RETURN
160 end subroutine fill_psetfld
subroutine fill_psetfld(param_ofld, param_afld)
fill_psetfld() reads post xml control file.
Parameters that are used to read in Perl XML processed flat file and handle parameter marshalling for...