UPP  11.0.0
 All Data Structures Files Functions Variables Pages
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 ! typ_intvl_size
106  if(trim(param_ofld%typ_intvl_size)==''.and.trim(param_afld%typ_intvl_size)/='') then
107  param_ofld%typ_intvl_size=param_afld%typ_intvl_size
108  endif
109 ! scale_fact_1st_size
110  if(param_ofld%scale_fact_1st_size==0.and.param_afld%scale_fact_1st_size/=0) then
111  param_ofld%scale_fact_1st_size=param_afld%scale_fact_1st_size
112  endif
113 ! scale_val_1st_size
114  if(param_ofld%scale_val_1st_size==0.and.param_afld%scale_val_1st_size/=0) then
115  param_ofld%scale_val_1st_size=param_afld%scale_val_1st_size
116  endif
117 ! scale_fact_2nd_size
118  if(param_ofld%scale_fact_2nd_size==0.and.param_afld%scale_fact_2nd_size/=0) then
119  param_ofld%scale_fact_2nd_size=param_afld%scale_fact_2nd_size
120  endif
121 ! scale_val_2nd_size
122  if(param_ofld%scale_val_2nd_size==0.and.param_afld%scale_val_2nd_size/=0) then
123  param_ofld%scale_val_2nd_size=param_afld%scale_val_2nd_size
124  endif
125 
126 ! typ_intvl_wvlen
127  if(trim(param_ofld%typ_intvl_wvlen)==''.and.trim(param_afld%typ_intvl_wvlen)/='') then
128  param_ofld%typ_intvl_wvlen=param_afld%typ_intvl_wvlen
129  endif
130 ! scale_fact_1st_wvlen
131  if(param_ofld%scale_fact_1st_wvlen==0.and.param_afld%scale_fact_1st_wvlen/=0) then
132  param_ofld%scale_fact_1st_wvlen=param_afld%scale_fact_1st_wvlen
133  endif
134 ! scale_val_1st_wvlen
135  if(param_ofld%scale_val_1st_wvlen==0.and.param_afld%scale_val_1st_wvlen/=0) then
136  param_ofld%scale_val_1st_wvlen=param_afld%scale_val_1st_wvlen
137  endif
138 ! scale_fact_2nd_wvlen
139  if(param_ofld%scale_fact_2nd_wvlen==0.and.param_afld%scale_fact_2nd_wvlen/=0) then
140  param_ofld%scale_fact_2nd_wvlen=param_afld%scale_fact_2nd_wvlen
141  endif
142 ! scale_val_2nd_wvlen
143  if(param_ofld%scale_val_2nd_wvlen==0.and.param_afld%scale_val_2nd_wvlen/=0) then
144  param_ofld%scale_val_2nd_wvlen=param_afld%scale_val_2nd_wvlen
145  endif
146 !
147 ! scale
148  if(size(param_ofld%scale)==0.and.size(param_afld%scale)/=0) then
149  nullify(param_ofld%scale)
150  allocate(param_ofld%scale(size(param_afld%scale)))
151  param_ofld%scale=param_afld%scale
152  endif
153 
154 !
155  RETURN
156  end subroutine fill_psetfld
subroutine fill_psetfld(param_ofld, param_afld)
fill_psetfld() reads post xml control file.
Definition: FILL_PSETFLD.f:28