2 |
|
|
3 |
Notes on tags used in MITgcmUV |
Notes on tags used in MITgcmUV |
4 |
============================== |
============================== |
5 |
|
|
6 |
|
checkpoint46n_post |
7 |
|
Merging from release1_p8: |
8 |
|
o verification/natl_box: |
9 |
|
updating new external_fields_load routine |
10 |
|
o New package: pkg/seaice |
11 |
|
Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle). |
12 |
|
The sea-ice code is based on Hibler (1979-1980). |
13 |
|
Two sea-ice dynamic solvers, ADI and LSR, are included. |
14 |
|
In addition to computing prognostic sea-ice variables and diagnosing |
15 |
|
the forcing/external data fields that drive the ocean model, |
16 |
|
SEAICE_MODEL also sets theta to the freezing point under sea-ice. |
17 |
|
The implied surface heat flux is then stored in variable |
18 |
|
surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and |
19 |
|
kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the |
20 |
|
non-local transport term. Because this call precedes model |
21 |
|
thermodynamics, temperature under sea-ice may not be "exactly" at |
22 |
|
the freezing point by the time theta is dumped or time-averaged. |
23 |
|
N.B.: fairly large differences in accuracy occur across |
24 |
|
different platforms/compilers; comparison between |
25 |
|
g77 (Linux) and F77 (SGI Origin 2000/MIPSpro) |
26 |
|
generated output gives: |
27 |
|
T S U V |
28 |
|
C D M c m s m s m s m s |
29 |
|
n p a R g m m e . m m e . m m e . m m e . |
30 |
|
f n k u 2 i a a d i a a d i a a d i a a d |
31 |
|
g d e n d n x n . n x n . n x n . n x n . |
32 |
|
|
33 |
|
Y Y Y Y 5 5 7 7 7 8 10 9 6 6 6 6 7 5 7 5 7 FAIL lab_sea |
34 |
|
o GAD: |
35 |
|
- generated new common blocks to account for call of |
36 |
|
same gad routines with differing traceridentities |
37 |
|
(needed to modify tracerIdentity indices in GAD.h) |
38 |
|
- generated separate common blocks for case useCubedSphereExchange |
39 |
|
(Department of Futurology) |
40 |
|
- parameter lists to gmredi_?transport: added tracerIdentity |
41 |
|
- added new key indices to tamc.h |
42 |
|
o external_fields_load: |
43 |
|
- added this routine to TAF list |
44 |
|
- needed to make some common blocks global and additional storing |
45 |
|
along the same lines as exf package (checkpoint_lev?_directives.h) |
46 |
|
o exf: |
47 |
|
updated external forcing package |
48 |
|
- bug fixes carried over from ecco-branch |
49 |
|
(missing OBCS_OPTIONS.h in two routines) |
50 |
|
- enable easy to use "no forcing". |
51 |
|
- added exf I/O for atmospheric loading |
52 |
|
- added exf I/O for runoff data |
53 |
|
- transfered scaling between exf <-> MITgcm to exf namelist |
54 |
|
o Adding new verification experiment global_with_exf. |
55 |
|
This verification experiment is almost identical to the |
56 |
|
global_ocean.90x40x15 experiment, except that it uses |
57 |
|
the exf (and cal) package instead of the |
58 |
|
external_fields_load routine (cf README file). |
59 |
|
|
60 |
|
checkpoint46m_post |
61 |
|
o modified testscript to return -- when there are no lines of "%MON" output |
62 |
|
o added new flag "quasiHydrostatic" for QH mode |
63 |
|
and new routine quasihydrostaticterms() |
64 |
|
o added 2*Omega*Cos(phi)*W to u equations (non-hydrostatic Coriolis term) |
65 |
|
New routine: mom_u_coriolis_nh() |
66 |
|
o fixed sign of non-hydrostatic metric terms in u and v equations. |
67 |
|
Depend on correct sign of gravitySign. |
68 |
|
o added work.pc* to .cvsignore in aim directories using ifc |
69 |
|
o introduced flag for controllin non-hydrostatic metric terms |
70 |
|
o removed gravitySign from PARM04 |
71 |
|
o switched to g77/ifc from pgf77 in aim experiments |
72 |
|
|
73 |
|
checkpoint46l_post |
74 |
|
o made convective adjustment work with pressure coordinates: |
75 |
|
- changed the direction of k-loop in convective_adjustment.F for the |
76 |
|
case of pressure coordinates (OCEANICP,ATMOSPHERIC buoyancyRelation) |
77 |
|
- adjusted the reference pressure k-index in convective_adjustment.F |
78 |
|
- adjusted the convection condition in convect.F (in analogy to |
79 |
|
calc_ivdc.F) |
80 |
|
- convective_adjustment no longer computes anything on the halos |
81 |
|
- removed the warnings about negative salinity from find_rho.F and |
82 |
|
find_alpha.F; instead the new routine look_for_neg_salinity, called |
83 |
|
at the beginning of find_rho, find_alpha, and find_beta, does a |
84 |
|
check of the entire slice, if CPP-option |
85 |
|
CHECK_SALINITY_FOR_NEGATIVE_VALUES is defined |
86 |
|
checkpoint46l_pre |
87 |
|
|
88 |
|
checkpoint46k_post |
89 |
|
o fixed the verification/global_ocean.90x40x15 experiment: |
90 |
|
- new bathymetry (the world according to A., JMC, and M.) |
91 |
|
- new initial fields and forcing fields (*.bin files) |
92 |
|
- new POLY3.COEFFS (for the next release one should switch to a full |
93 |
|
equation of state: JMD95P or MDJWF) |
94 |
|
- fixed several errors and redundancies in the data file |
95 |
|
- experiment uses looped cells |
96 |
|
- added matlab directory with diagnostic scripts for plotting of output |
97 |
|
|
98 |
|
o S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F: |
99 |
|
- read AIM physics parameters from a file (data.aimphys) |
100 |
|
- set defaults values = F.Molteni paper (Clim.Dyn., 2002) |
101 |
|
|
102 |
|
checkpoint46j_post |
103 |
|
o split calc_exact_eta in 2 S/R : integr_continuity & update_etaH |
104 |
|
o move wVel computation at the end of the time step, in S/R integr_continuity |
105 |
|
o create specific S/R to exchange T,S before DYNAMICS (for stagger time step) |
106 |
|
o update timeave pkg for wVel diagnostic. |
107 |
|
checkpoint46j_pre |
108 |
|
|
109 |
|
checkpoint46i_post |
110 |
|
o Clean up AIM package (and keep the results unchanged): |
111 |
|
include CPP_OPTION and use IMPLICT NONE in all routines ; |
112 |
|
declare all the variables _RL ; use _d 0 for all numerical constants. |
113 |
|
use ifdef ALLOW_AIM everywhere. And now AIM can be used with g77 ! |
114 |
|
|
115 |
|
checkpoint46h_post |
116 |
|
o cleaned up the use of rhoNil and rhoConst. |
117 |
|
- rhoNil should only appear in the LINEAR equation of state, everywhere |
118 |
|
else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst |
119 |
|
and the dynamical equations are all divided by rhoConst |
120 |
|
o introduced new parameter rhoConstFresh, a reference density of fresh |
121 |
|
water, to remove the fresh water flux's dependence on rhoNil. The default |
122 |
|
value is 999.8 kg/m^3 |
123 |
|
o cleanup up external_forcing.F and external_forcing_surf.F |
124 |
|
- can now be used by both OCEANIC and OCEANICP |
125 |
|
checkpoint46h_pre |
126 |
|
|
127 |
|
Added code to convert surface volume flux (fresh water) into |
128 |
|
a mass flux when using P coordinates in the ocean (OCEANICP). |
129 |
|
Note: It assumes you have set rho0=rhoConst=density of fresh water. |
130 |
|
|
131 |
|
checkpoint46g_post |
132 |
|
o Include a new diagnostic variable phiHydLow for the ocean model |
133 |
|
- in z-coordinates, it is the bottom pressure anomaly |
134 |
|
- in p-coordinates, it is the sea surface elevation |
135 |
|
- in both cases, these variable have global drift, reflecting the mass |
136 |
|
drift in z-coordinates and the volume drift in p-coordinates |
137 |
|
- included time averaging for phiHydLow, be aware of the drift! |
138 |
|
o depth-dependent computation of Bo_surf for pressure coordinates |
139 |
|
in the ocean (buoyancyRelation='OCEANICP') |
140 |
|
- requires a new routine (FIND_RHO_SCALAR) to compute density with only |
141 |
|
Theta, Salinity, and Pressure in the parameter list. This routine is |
142 |
|
presently contained in find_rho.F. This routine does not give the |
143 |
|
correct density for 'POLY3', which would be a z-dependent reference |
144 |
|
density. |
145 |
|
o cleaned up find_rho |
146 |
|
- removed obsolete 'eqn' from the parameter list. |
147 |
|
o added two new verification experiments: gop and goz |
148 |
|
(4x4 degree global ocean, 15 layers in pressure and height coordinates) |
149 |
|
checkpoint46g_pre |
150 |
|
|
151 |
|
checkpoint46f_post |
152 |
|
o Enable tangent linear (forward mode) gradient checks: |
153 |
|
- extended active file handling to g_... files |
154 |
|
- added TANGENT_SIMULATION to theSimulationMode |
155 |
|
- extended grdchk package accordingly |
156 |
|
o added tangent linear setup in verification/carbon/code_ftl |
157 |
|
o added adjoint setup in verification/front_relax/code_ad |
158 |
|
|
159 |
|
checkpoint46e_post |
160 |
|
o Added new equation of state -> MDJWF |
161 |
|
- EOS of McDougall et al., 2002, JAOT, submitted |
162 |
|
- caveat: the equation of state is only valid for a smaller (more |
163 |
|
realistic?) range of values than JMD95P/Z and UNESCO |
164 |
|
- added masks to the calculation of pressure in store_pressure |
165 |
|
- added more check values for density in check_eos (ini_eos.F), some of |
166 |
|
the old check values are out of the range of the MDJWF-eos, so don't |
167 |
|
expect perfect matches for those |
168 |
|
checkpoint46e_pre |
169 |
|
|
170 |
|
checkpoint46d_post |
171 |
|
o fixed store_pressure to work with both buoyancy relation = 'OCEANIC' and |
172 |
|
'OCEANICP', also initialised field pressure correctly in ini_eos in the |
173 |
|
case of pressure coordinates. eosType='JMD95Z' in |
174 |
|
combination with buoyancyRelation='OCEANICP' now causes an error. |
175 |
|
o Changed p = pressure(i,j,k,bi,bj) to p = pressure(i,j,kRef,bi,bj) |
176 |
|
in find_alpha/beta. |
177 |
|
checkpoint46d_pre |
178 |
|
|
179 |
|
o Changed p = pressure(i,j,k,bi,bj) to p = pressure(i,j,kRef,bi,bj) |
180 |
|
so that JMD95Z and JMD95P give approptiate static stability in find_rho. |
181 |
|
|
182 |
|
checkpoint46c_post |
183 |
|
o Changes necessary for ocean in p-coordinates |
184 |
|
- Added new buoyancy relation = 'OCEANICP' |
185 |
|
- Added new parameters = gravitySign (this used to be contained inside |
186 |
|
the factor dRdZ which I added when we first switched to R coordinates). |
187 |
|
X GM/Redi is not compatible (yet) |
188 |
|
X bottom drag and no-slip need to be debugged. |
189 |
|
checkpoint46c_pre |
190 |
|
|
191 |
|
checkpoint46b_post |
192 |
|
o Added new equation of state -> JMD95Z and JMD95P |
193 |
|
- EOS of Jackett and McDougall, 1995, JAOT |
194 |
|
- moved all EOS parameters into EOS.h |
195 |
|
- new routines ini_eos.F, store_pressure.F |
196 |
|
o Added UNESCO EOS, but not recommended because it requires |
197 |
|
in-situ temperature (see JMD95) |
198 |
|
o Modified formatting for knudsen2.f in utils/knudsen2 and added |
199 |
|
unesco.f to be used with POLY3 |
200 |
|
checkpoint46b_pre |
201 |
|
|
202 |
|
checkpoint46a_post |
203 |
|
o Added (atmospheric) pressure loading |
204 |
|
- new field in FFIELDS.h, etc... |
205 |
|
- new cpp flag ATMOSPHERIC_LOADING |
206 |
|
o Changed hFacC to _hFacC in calc_phi_hyd.F |
207 |
|
o Added SHORTWAVE_HEATING to some files for consistency |
208 |
|
checkpoint46a_pre |
209 |
|
|
210 |
|
checkpoint46 |
211 |
|
further merges from release1_p5 |
212 |
|
o new ctrl package |
213 |
|
- adopted from ECCO environment to enable optimization |
214 |
|
- added Eliassen Palm fluxes to controls |
215 |
|
o added Eliassen Palm flux controls to gradient check package |
216 |
|
o cost package |
217 |
|
- Compatible with new ctrl package |
218 |
|
- added Eliassen Palm cost hooks |
219 |
|
- modif's of existing cost functions |
220 |
|
o Adjoint-related bug fixes in kpp: |
221 |
|
- kpp_calc: sore of kpphbl avoids recomputation/call to S/R kppmix |
222 |
|
- kpp_routines: store of Rib avoids partial recomputation bug of TAF. |
223 |
|
o autodiff package |
224 |
|
- flow directives: |
225 |
|
+ new for S/R do_the_model_io |
226 |
|
+ enhanced for S/R checkpoint |
227 |
|
+ new gmredi.flow |
228 |
|
- Introduced CPP option ALLOW_AUTODIFF_MONITOR to |
229 |
|
disable adcommon.h/g_common.h by default. |
230 |
|
- fixed problem for adjoint of global_max |
231 |
|
o modified verification/carbon/ |
232 |
|
o New setup for adjoint of global_ocean |
233 |
|
o added hooks for Eliassen Palm fluxes (dynamics.F, ini_fields.F) |
234 |
|
o cleaned TAF keys iikey, idkey (dynamics.F, thermodynamics.F) |
235 |
|
o incorporated hooks for sponge layer code (external_forcing.F) |
236 |
|
|
237 |
|
checkpoint45d_post |
238 |
|
o import 2 fixes from release1_p5 (CG2D.h & packages_readparms.F) |
239 |
|
o use recip_dx*,recip_dy* instead of /dx*,/dy* in orlanski_E,W,N,S |
240 |
|
(affects plume_on_slope "cg2d" output) |
241 |
|
o add new parameter deltaTfreesurf for free-surface time stepping |
242 |
|
o exchange gT,gS when using staggerTimeStep & GM & Oly<4 |
243 |
|
o NONLIN_FRSURF: rescale gNm1 to get a better conservation with A-B |
244 |
o change phiMin in exp1 (to agree with documentation) |
o change phiMin in exp1 (to agree with documentation) |
245 |
o add new flags: |
o add new flags: |
246 |
- T,S forcing inside/outside Adams-Bashforth |
- T,S forcing inside/outside Adams-Bashforth |