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" 27 logical :: test_logic, test_logic2, test_logic3, split
29 if (.not.is_root_pe())
return 31 call obsolete_int(param_file,
"NTSTEP", &
32 hint=
"Instead use DT_THERM to set the thermodynamic time-step.")
34 call obsolete_logical(param_file,
"JACOBIAN_PGF", .false., &
35 hint=
"Instead use ANALYTIC_FV_PGF.")
37 call obsolete_logical(param_file,
"SADOURNY", &
38 hint=
"Instead use CORIOLIS_SCHEME='SADOURNY'.")
40 call obsolete_logical(param_file,
"ARITHMETIC_BT_THICK", &
41 hint=
"Instead use BT_THICK_SCHEME='ARITHMETIC'.")
43 call obsolete_logical(param_file,
"HYBRID_BT_THICK", &
44 hint=
"Instead use BT_THICK_SCHEME='HYBRID'.")
46 call obsolete_logical(param_file,
"BT_CONT_BT_THICK", &
47 hint=
"Instead use BT_THICK_SCHEME='FROM_BT_CONT'.")
49 call obsolete_logical(param_file,
"APPLY_OBC_U", &
50 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
51 call obsolete_logical(param_file,
"APPLY_OBC_V", &
52 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
53 call obsolete_logical(param_file,
"APPLY_OBC_V_FLATHER_NORTH", &
54 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
55 call obsolete_logical(param_file,
"APPLY_OBC_V_FLATHER_SOUTH", &
56 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
57 call obsolete_logical(param_file,
"APPLY_OBC_U_FLATHER_EAST", &
58 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
59 call obsolete_logical(param_file,
"APPLY_OBC_U_FLATHER_WEST", &
60 hint=
"Instead use OBC_NUMBER_SEGMENTS>0 and use the new segments protocol.")
61 call obsolete_char(param_file,
"OBC_CONFIG", &
62 hint=
"Instead use OBC_USER_CONFIG and use the new segments protocol.")
63 call obsolete_char(param_file,
"READ_OBC_ETA", &
64 hint=
"Instead use OBC_SEGMENT_XXX_DATA.")
65 call obsolete_char(param_file,
"READ_OBC_UV", &
66 hint=
"Instead use OBC_SEGMENT_XXX_DATA.")
67 call obsolete_char(param_file,
"READ_OBC_TS", &
68 hint=
"Instead use OBC_SEGMENT_XXX_DATA.")
70 test_logic3 = .true. ;
call read_param(param_file,
"ENABLE_THERMODYNAMICS",test_logic3)
71 test_logic = .true. ;
call read_param(param_file,
"TEMPERATURE",test_logic)
72 test_logic2 = .false. ;
call read_param(param_file,
"TEMPERATURE",test_logic2)
73 if (test_logic .eqv. test_logic2)
then ;
if (test_logic .eqv. test_logic3)
then 74 call mom_error(warning,
"find_obsolete_params: "// &
75 "TEMPERATURE is an obsolete run-time flag, but is set consistently with \n"//&
76 " ENABLE_THERMODYNAMICS.")
78 call mom_error(fatal,
"find_obsolete_params: "// &
79 "TEMPERATURE is an obsolete run-time flag. Use ENABLE_THERMODYNAMICS instead.")
82 test_logic = test_logic3 ;
call read_param(param_file,
"NONLINEAR_EOS",test_logic)
83 if (test_logic .neqv. test_logic3)
then 84 call mom_error(warning,
"find_obsolete_params: "// &
85 "NONLINEAR_EOS is an obsolete option. Instead define " // &
86 "USE_EOS to use an equation of state to calculate density.")
99 call obsolete_int(param_file,
"NXTOT")
100 call obsolete_int(param_file,
"NYTOT")
101 call obsolete_int(param_file,
"NZ")
102 call obsolete_int(param_file,
"NXPROC")
103 call obsolete_int(param_file,
"NYPROC")
104 call obsolete_int(param_file,
"NXPROC_IO")
105 call obsolete_int(param_file,
"NYPROC_IO")
106 call obsolete_int(param_file,
"NXHALO")
107 call obsolete_int(param_file,
"NYHALO")
108 call obsolete_int(param_file,
"ML_PRESORT_NZ_CONV_ADJ")
110 call obsolete_int(param_file,
"NIPROC_IO", hint=
"Use IO_LAYOUT=#,# instead.")
111 call obsolete_int(param_file,
"NJPROC_IO", hint=
"Use IO_LAYOUT=#,# instead.")
113 call obsolete_real(param_file,
"BT_COR_SLOW_RATE", 0.0)
114 call obsolete_real(param_file,
"BT_COR_FRAC", 1.0)
116 call obsolete_logical(param_file,
"BT_INCLUDE_UDHDT", .false.)
118 call obsolete_logical(param_file,
"RIGA_SET_DIFFUSIVITY", .false.)
119 call obsolete_logical(param_file,
"RIGA_ITIDE_BUGS", .false.)
120 call obsolete_logical(param_file,
"RIGA_ENTRAINMENT_FOIBLES", .false.)
121 call obsolete_logical(param_file,
"RIGA_TRACER_DIFFUSE_BUGS", .false.)
122 call obsolete_logical(param_file,
"RIGA_KAPPA_SHEAR_BUGS1", .false.)
123 call obsolete_logical(param_file,
"RIGA_KAPPA_SHEAR_BUGS2", .false.)
124 call obsolete_logical(param_file,
"CONT_PPM_RIGA_BUGS", .false.)
125 call obsolete_logical(param_file,
"USE_REPRODUCING_SUM", .true.)
126 call obsolete_logical(param_file,
"SLOW_BITWISE_GLOBAL_FORCING_SUMS", .false.)
127 call obsolete_logical(param_file,
"ALWAYS_WRITE_GEOM")
128 call obsolete_real(param_file,
"I_ZETA")
130 call obsolete_logical(param_file,
"REF_COMPRESS_3D")
131 call obsolete_char(param_file,
"COMPRESS_FILE")
132 call obsolete_char(param_file,
"REF_COMPRESS_FILE_TEMP")
133 call obsolete_char(param_file,
"REF_COMPRESS_FILE_SALT")
134 call obsolete_char(param_file,
"REF_COMPRESS_FILE_DEPTH")
135 call obsolete_char(param_file,
"DIAG_REMAP_Z_GRID_DEF",
"Use NUM_DIAG_COORDS, DIAG_COORDS and DIAG_COORD_DEF_Z")
137 call obsolete_logical(param_file,
"OLD_RESTRAT_PARAM", .false.)
138 call obsolete_real(param_file,
"ML_RESTRAT_COEF", 0.0)
139 call obsolete_logical(param_file,
"FULL_THICKNESSDIFFUSE", .true.)
140 call obsolete_logical(param_file,
"DIFFUSE_ISOPYCNALS", .true.)
142 call obsolete_logical(param_file,
"MOREL_PEN_SW")
143 call obsolete_logical(param_file,
"MANIZZA_PEN_SW")
145 call obsolete_logical(param_file,
"USE_H2000_SHEAR_MIXING", .false.)
146 call obsolete_real(param_file,
"SHEARMIX_LAT_EQ", 0.0)
147 call obsolete_real(param_file,
"RINO_CRIT_EQ")
148 call obsolete_real(param_file,
"SHEARMIX_RATE_EQ")
150 call obsolete_logical(param_file,
"CONTINUITY_PPM", .true.)
152 call obsolete_logical(param_file,
"USE_LOCAL_PREF", .true.)
153 call obsolete_logical(param_file,
"USE_LOCAL_PREF_CORRECT", .true.)
154 test_logic = .false. ;
call read_param(param_file,
"USE_JACKSON_PARAM", test_logic)
155 call obsolete_logical(param_file,
"RINOMIX", test_logic)
156 call obsolete_logical(param_file,
"NORMALIZED_SUM_OUT", .true.)
158 call obsolete_real(param_file,
"RLAY_RANGE")
159 call obsolete_real(param_file,
"RLAY_REF")
161 call obsolete_real(param_file,
"HMIX")
162 call obsolete_real(param_file,
"VSTAR_SCALE_COEF")
163 call obsolete_real(param_file,
"ZSTAR_RIGID_SURFACE_THRESHOLD")
165 test_int = -1 ;
call read_param(param_file,
"ML_RADIATION_CODING",test_int)
166 if (test_int == 1)
call mom_error(fatal,
"find_obsolete_params: "// &
167 "ML_RADIATION_CODING is an obsolete option and the code previously "//&
168 "used by setting it to 1 has been eliminated.")
169 if (test_int /= -1)
call mom_error(warning,
"find_obsolete_params: "// &
170 "ML_RADIATION_CODING is an obsolete option.")
173 split = .true. ; test_logic = .false.
174 call read_param(param_file,
"SPLIT",split)
175 call read_param(param_file,
"DYNAMIC_SURFACE_PRESSURE",test_logic)
176 if (test_logic .and. .not.split)
call mom_error(fatal, &
177 "find_obsolete_params: #define DYNAMIC_SURFACE_PRESSURE is not yet "//&
178 "implemented without #define SPLIT.")
180 call read_param(param_file,
"USE_LEGACY_SPLIT",test_logic)
181 if (.not.(split .and. test_logic))
then 182 call obsolete_logical(param_file,
"FLUX_BT_COUPLING", .false.)
183 call obsolete_logical(param_file,
"READJUST_BT_TRANS", .false.)
184 call obsolete_logical(param_file,
"RESCALE_BE_FACE_AREAS", .false.)
185 call obsolete_logical(param_file,
"APPLY_BT_DRAG", .true.)
188 call obsolete_int(param_file,
"SEAMOUNT_LENGTH_SCALE", hint=
"Use SEAMOUNT_X_LENGTH_SCALE instead.")
190 call obsolete_logical(param_file,
"MSTAR_FIXED", hint=
"Instead use MSTAR_MODE.")
193 call log_version(param_file, mdl, version)