35 use xml_perl_data,
only:
param_t
41 type(
param_t) ,
intent(inout) :: param_ofld
42 type(
param_t) ,
intent(in) :: param_afld
52 if(trim(param_afld%pdstmpl)/=
'tmpl4_0'.and.trim(param_ofld%pdstmpl)==
'tmpl4_0')
then
53 param_ofld%pdstmpl=param_afld%pdstmpl
56 if(trim(param_ofld%pname)==
''.and.trim(param_afld%pname)/=
'')
then
57 param_ofld%pname=param_afld%pname
60 if(trim(param_ofld%stats_proc)==
''.and.trim(param_afld%stats_proc)/=
'')
then
61 param_ofld%stats_proc=param_afld%stats_proc
64 if(trim(param_ofld%table_info)==
''.and.trim(param_afld%table_info)/=
'')
then
65 param_ofld%table_info=param_afld%table_info
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
73 if(
size(param_ofld%scale_fact_fixed_sfc1)==0.and.
size(param_afld%scale_fact_fixed_sfc1)/=0)
then
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)
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)
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
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)
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)
102 if(trim(param_ofld%aerosol_type)==
''.and.trim(param_afld%aerosol_type)/=
'')
then
103 param_ofld%aerosol_type=param_afld%aerosol_type
106 if(trim(param_ofld%prob_type)==
''.and.trim(param_afld%prob_type)/=
'')
then
107 param_ofld%prob_type=param_afld%prob_type
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
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
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
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
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
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
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
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
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
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
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