Scans input parameter file for list obsolete parameters.
21 type(param_file_type),
intent(in) :: param_file
23 character(len=40) :: mdl =
"find_obsolete_params"
25 #include "version_variable.h"
26 integer :: test_int, l_seg, nseg
27 logical :: test_logic, test_logic2, test_logic3, split
28 character(len=40) :: temp_string
30 if (.not.is_root_pe())
return
32 call obsolete_int(param_file,
"NTSTEP", &
33 hint=
"Instead use DT_THERM to set the thermodynamic time-step.")
35 call obsolete_logical(param_file,
"JACOBIAN_PGF", .false., &
36 hint=
"Instead use ANALYTIC_FV_PGF.")
38 call obsolete_logical(param_file,
"SADOURNY", &
39 hint=
"Instead use CORIOLIS_SCHEME='SADOURNY'.")
41 call obsolete_logical(param_file,
"ARITHMETIC_BT_THICK", &
42 hint=
"Instead use BT_THICK_SCHEME='ARITHMETIC'.")
44 call obsolete_logical(param_file,
"HYBRID_BT_THICK", &
45 hint=
"Instead use BT_THICK_SCHEME='HYBRID'.")
47 call obsolete_logical(param_file,
"BT_CONT_BT_THICK", &
48 hint=
"Instead use BT_THICK_SCHEME='FROM_BT_CONT'.")
50 call obsolete_logical(param_file,
"ADD_KV_SLOW", &
51 hint=
"This option is no longer needed, nor supported.")
53 call obsolete_logical(param_file,
"APPLY_OBC_U", &
54 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
55 call obsolete_logical(param_file,
"APPLY_OBC_V", &
56 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
57 call obsolete_logical(param_file,
"APPLY_OBC_V_FLATHER_NORTH", &
58 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
59 call obsolete_logical(param_file,
"APPLY_OBC_V_FLATHER_SOUTH", &
60 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
61 call obsolete_logical(param_file,
"APPLY_OBC_U_FLATHER_EAST", &
62 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
63 call obsolete_logical(param_file,
"APPLY_OBC_U_FLATHER_WEST", &
64 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
65 call obsolete_char(param_file,
"OBC_CONFIG", &
66 hint=
"Instead use OBC_USER_CONFIG and use the new segments protocol.")
67 call obsolete_char(param_file,
"READ_OBC_ETA", &
68 hint=
"Instead use OBC_SEGMENT_XXX_DATA.")
69 call obsolete_char(param_file,
"READ_OBC_UV", &
70 hint=
"Instead use OBC_SEGMENT_XXX_DATA.")
71 call obsolete_char(param_file,
"READ_OBC_TS", &
72 hint=
"Instead use OBC_SEGMENT_XXX_DATA.")
73 call obsolete_char(param_file,
"EXTEND_OBC_SEGMENTS", &
74 hint=
"This option is no longer needed, nor supported.")
75 call obsolete_char(param_file,
"MEKE_VISCOSITY_COEFF", &
76 hint=
"This option has been replaced by MEKE_VISCOSITY_COEFF_KU and \n" //&
77 " MEKE_VISCOSITY_COEFF_AU. Please set these parameters instead.")
79 call read_param(param_file,
"OBC_NUMBER_OF_SEGMENTS", nseg)
81 write(temp_string(1:22),
"('OBC_SEGMENT_',i3.3,'_TNUDGE')") l_seg
82 call obsolete_real(param_file, temp_string, &
83 hint=
"Instead use OBC_SEGMENT_xxx_VELOCITY_NUDGING_TIMESCALES.")
86 test_logic3 = .true. ;
call read_param(param_file,
"ENABLE_THERMODYNAMICS",test_logic3)
87 test_logic = .true. ;
call read_param(param_file,
"TEMPERATURE",test_logic)
88 test_logic2 = .false. ;
call read_param(param_file,
"TEMPERATURE",test_logic2)
89 if (test_logic .eqv. test_logic2)
then ;
if (test_logic .eqv. test_logic3)
then
90 call mom_error(warning,
"find_obsolete_params: "// &
91 "TEMPERATURE is an obsolete run-time flag, but is set consistently with \n"//&
92 " ENABLE_THERMODYNAMICS.")
94 call mom_error(fatal,
"find_obsolete_params: "// &
95 "TEMPERATURE is an obsolete run-time flag. Use ENABLE_THERMODYNAMICS instead.")
98 test_logic = test_logic3 ;
call read_param(param_file,
"NONLINEAR_EOS",test_logic)
99 if (test_logic .neqv. test_logic3)
then
100 call mom_error(warning,
"find_obsolete_params: "// &
101 "NONLINEAR_EOS is an obsolete option. Instead define " // &
102 "USE_EOS to use an equation of state to calculate density.")
115 call obsolete_int(param_file,
"NXTOT")
116 call obsolete_int(param_file,
"NYTOT")
117 call obsolete_int(param_file,
"NZ")
118 call obsolete_int(param_file,
"NXPROC")
119 call obsolete_int(param_file,
"NYPROC")
120 call obsolete_int(param_file,
"NXPROC_IO")
121 call obsolete_int(param_file,
"NYPROC_IO")
122 call obsolete_int(param_file,
"NXHALO")
123 call obsolete_int(param_file,
"NYHALO")
124 call obsolete_int(param_file,
"ML_PRESORT_NZ_CONV_ADJ")
126 call obsolete_int(param_file,
"NIPROC_IO", hint=
"Use IO_LAYOUT=#,# instead.")
127 call obsolete_int(param_file,
"NJPROC_IO", hint=
"Use IO_LAYOUT=#,# instead.")
129 call obsolete_real(param_file,
"BT_COR_SLOW_RATE", 0.0)
130 call obsolete_real(param_file,
"BT_COR_FRAC", 1.0)
132 call obsolete_logical(param_file,
"MASK_MASSLESS_TRACERS", .false.)
134 call obsolete_logical(param_file,
"BT_INCLUDE_UDHDT", .false.)
136 call obsolete_logical(param_file,
"RIGA_SET_DIFFUSIVITY", .false.)
137 call obsolete_logical(param_file,
"RIGA_ITIDE_BUGS", .false.)
138 call obsolete_logical(param_file,
"RIGA_ENTRAINMENT_FOIBLES", .false.)
139 call obsolete_logical(param_file,
"RIGA_TRACER_DIFFUSE_BUGS", .false.)
140 call obsolete_logical(param_file,
"RIGA_KAPPA_SHEAR_BUGS1", .false.)
141 call obsolete_logical(param_file,
"RIGA_KAPPA_SHEAR_BUGS2", .false.)
142 call obsolete_logical(param_file,
"CONT_PPM_RIGA_BUGS", .false.)
143 call obsolete_logical(param_file,
"USE_REPRODUCING_SUM", .true.)
144 call obsolete_logical(param_file,
"SLOW_BITWISE_GLOBAL_FORCING_SUMS", .false.)
145 call obsolete_logical(param_file,
"ALWAYS_WRITE_GEOM")
146 call obsolete_real(param_file,
"I_ZETA")
148 call obsolete_logical(param_file,
"REF_COMPRESS_3D")
149 call obsolete_char(param_file,
"COMPRESS_FILE")
150 call obsolete_char(param_file,
"REF_COMPRESS_FILE_TEMP")
151 call obsolete_char(param_file,
"REF_COMPRESS_FILE_SALT")
152 call obsolete_char(param_file,
"REF_COMPRESS_FILE_DEPTH")
153 call obsolete_char(param_file,
"DIAG_REMAP_Z_GRID_DEF",
"Use NUM_DIAG_COORDS, DIAG_COORDS and DIAG_COORD_DEF_Z")
155 call obsolete_logical(param_file,
"OLD_RESTRAT_PARAM", .false.)
156 call obsolete_real(param_file,
"ML_RESTRAT_COEF", 0.0)
157 call obsolete_logical(param_file,
"FULL_THICKNESSDIFFUSE", .true.)
158 call obsolete_logical(param_file,
"DIFFUSE_ISOPYCNALS", .true.)
160 call obsolete_logical(param_file,
"MOREL_PEN_SW")
161 call obsolete_logical(param_file,
"MANIZZA_PEN_SW")
163 call obsolete_logical(param_file,
"USE_H2000_SHEAR_MIXING", .false.)
164 call obsolete_real(param_file,
"SHEARMIX_LAT_EQ", 0.0)
165 call obsolete_real(param_file,
"RINO_CRIT_EQ")
166 call obsolete_real(param_file,
"SHEARMIX_RATE_EQ")
168 call obsolete_real(param_file,
"VSTAR_SCALE_FACTOR", hint=
"Use EPBL_VEL_SCALE_FACTOR instead.")
169 call obsolete_logical(param_file,
"ORIG_MLD_ITERATION", .false.)
171 call obsolete_logical(param_file,
"CONTINUITY_PPM", .true.)
173 call obsolete_logical(param_file,
"USE_LOCAL_PREF", .true.)
174 call obsolete_logical(param_file,
"USE_LOCAL_PREF_CORRECT", .true.)
175 test_logic = .false. ;
call read_param(param_file,
"USE_JACKSON_PARAM", test_logic)
176 call obsolete_logical(param_file,
"RINOMIX", test_logic)
177 call obsolete_logical(param_file,
"NORMALIZED_SUM_OUT", .true.)
179 call obsolete_real(param_file,
"RLAY_RANGE")
180 call obsolete_real(param_file,
"RLAY_REF")
182 call obsolete_real(param_file,
"HMIX")
183 call obsolete_real(param_file,
"VSTAR_SCALE_COEF")
184 call obsolete_real(param_file,
"ZSTAR_RIGID_SURFACE_THRESHOLD")
186 test_int = -1 ;
call read_param(param_file,
"ML_RADIATION_CODING",test_int)
187 if (test_int == 1)
call mom_error(fatal,
"find_obsolete_params: "// &
188 "ML_RADIATION_CODING is an obsolete option and the code previously "//&
189 "used by setting it to 1 has been eliminated.")
190 if (test_int /= -1)
call mom_error(warning,
"find_obsolete_params: "// &
191 "ML_RADIATION_CODING is an obsolete option.")
194 split = .true. ; test_logic = .false.
195 call read_param(param_file,
"SPLIT",split)
196 call read_param(param_file,
"DYNAMIC_SURFACE_PRESSURE",test_logic)
197 if (test_logic .and. .not.split)
call mom_error(fatal, &
198 "find_obsolete_params: #define DYNAMIC_SURFACE_PRESSURE is not yet "//&
199 "implemented without #define SPLIT.")
201 call obsolete_logical(param_file,
"USE_LEGACY_SPLIT", .false.)
203 call obsolete_logical(param_file,
"FLUX_BT_COUPLING", .false.)
204 call obsolete_logical(param_file,
"READJUST_BT_TRANS", .false.)
205 call obsolete_logical(param_file,
"RESCALE_BT_FACE_AREAS", .false.)
206 call obsolete_logical(param_file,
"APPLY_BT_DRAG", .true.)
207 call obsolete_real(param_file,
"BT_MASS_SOURCE_LIMIT", 0.0)
209 call obsolete_int(param_file,
"SEAMOUNT_LENGTH_SCALE", hint=
"Use SEAMOUNT_X_LENGTH_SCALE instead.")
211 call obsolete_logical(param_file,
"MSTAR_FIXED", hint=
"Instead use MSTAR_MODE.")
212 call obsolete_logical(param_file,
"USE_VISBECK_SLOPE_BUG", .false.)
214 call obsolete_real(param_file,
"MIN_Z_DIAG_INTERVAL")
215 call obsolete_char(param_file,
"Z_OUTPUT_GRID_FILE")
218 call log_version(param_file, mdl, version)