4 |
Notes on tags used in MITgcmUV |
Notes on tags used in MITgcmUV |
5 |
============================== |
============================== |
6 |
|
|
7 |
|
checkpoint64q (2013/11/17) |
8 |
|
o verification: |
9 |
|
- generate new output on baudelaire (gfortran, -ieee) for OpenAD experiments |
10 |
|
tutorial_global_oce_biogeo and global_ocean.90x40x15. |
11 |
|
- generate new output (growth & melt) for seaice_itd experiment after |
12 |
|
updating the input pickup_seaice files (previously wrong). |
13 |
|
o pkg/cost: |
14 |
|
- define a "final cost function" for each tile, and use GLOBAL_SUM_TILE_RL |
15 |
|
(instead of _GLOBAL_SUM_RL) to get the final cost from all procs & threads: |
16 |
|
o this fixes global-sum value if multi-threads (since GLOBAL_SUM_TILE_RL |
17 |
|
cannot be applied to var in common block). |
18 |
|
o allows to get results independent of tile-per-proc setting (if using |
19 |
|
slower GLOBAL_SUM_SEND_RECV option). |
20 |
|
- update accordingly: seaice_cost_final.F, shelfice_cost_final.F, |
21 |
|
thsice_cost_final.F and ecco_cost_final.F (this one affects lab_sea |
22 |
|
forward gradients: update output). |
23 |
|
- update */code_oad/externalDummies.F by adding dummy GLOBAL_SUM_TILE_RL |
24 |
|
S/R and, for most exp., also comment out GLOBAL_SUM_R8. |
25 |
|
o pkg/mom_common: |
26 |
|
- move to pkg/mom_common and model/src (previously in tutorial_deep_convection |
27 |
|
code) 2nd version of isotropic 3-D Smagorinsky code interface: strain and |
28 |
|
viscosity are locally declared in dynmics.F and pass as argument to CALC_GW; |
29 |
|
ensure that all field value that are used are set. |
30 |
|
o tutorial_deep_convection (smag3d): |
31 |
|
- add missing scaling in mom_calc_smag_3d.F; |
32 |
|
- set smag3D_coeff in input.smag3d such that results do not change. |
33 |
|
o pkg/dic: |
34 |
|
- change dic_cost.F to compute cost on each tile first and then apply |
35 |
|
GLOBAL_SUM_TILE_RL: this affects forward gradient of AD experiments |
36 |
|
tutorial_dic_adjoffline & tutorial_global_oce_biogeo; update output. |
37 |
|
- remove kLev argument and use GLOBAL_SUM_TILE_RL in tracer_meanarea. |
38 |
|
o eesupp/src & pkg/mdsio: |
39 |
|
- remove gather/scatter_vector.F (from eesupp) and mdsio_read/writevector.F |
40 |
|
(from pkg/mdsio) since they are no longer used for tape IO. |
41 |
|
- move simple C subroutine "setdir.c" from pkg/compon_communic to eesupp/src |
42 |
|
(+ keep a copy in pkg/atm_ocn_coupler). |
43 |
|
o verification/isomip: |
44 |
|
- split domain in 8 squared tiles (instead of just 2) for FWD, AD & OAD tests. |
45 |
|
o tools/build_options: |
46 |
|
- optfile linux_amd64_ifort11, fast (no ieee) case: |
47 |
|
to get a working restart for all experiments, add "-fp-model source" |
48 |
|
to FOPTIM (also remove "-opt-streaming-stores auto" <- this is the default). |
49 |
|
|
50 |
|
checkpoint64p (2013/10/20) |
51 |
|
o pkg/autodiff: |
52 |
|
- adread_adwrite.F: when type and length do not match ALLOW_AUTODIFF_WHTAPEIO |
53 |
|
criteria, return to simple (default) tape IO format. |
54 |
|
o pkg/mdsio (+ eesupp/src): |
55 |
|
- rewrite/simplify tape-IO S/R (new S/R MDS_READ/WRITE_TAPE replace |
56 |
|
previous MDSREAD/WRITEVECTOR) with 2 array argument from each type (R4/R8); |
57 |
|
- fix globalFile and singleCpuIO options using simpler global mapping. |
58 |
|
- new pairs of scatter/gather vector S/R (one for each type, generated from |
59 |
|
template) corresponding to simpler global mapping. |
60 |
|
- adread_write.F: switch to new S/R (but leave old calls commented) and write |
61 |
|
to globalFile when parameter globalFiles is set to True. |
62 |
|
- switch on useSingleCpuIO in AD experiments: global_ocean.90x40x15 & isomip. |
63 |
|
o pkg/autodiff: |
64 |
|
- adread_adwrite.F: add a hack for RS arrays (when RS=real*4); |
65 |
|
with ALLOW_AUTODIFF_WHTAPEIO defined, since corresponding (real*4) is |
66 |
|
missing, just add a STOP if array type do not match. |
67 |
|
o pkg/exf: |
68 |
|
- to allow to use seaice-fraction from pkg/exf in other pkgs than pkg/seaice: |
69 |
|
rename CPP option EXF_ALLOW_SEAICE_RELAX to EXF_SEAICE_FRACTION |
70 |
|
and rename array obsSIce to exf_iceFraction. |
71 |
|
o tutorial_deep_convection: |
72 |
|
- add 1rst version of isotropic 3-D Smagorinsky code (from Louis-Philippe), |
73 |
|
for now all in this exp. code dir. |
74 |
|
- add secondary test using Smag-3D viscosity (keep very low backgroud visc for |
75 |
|
testing) and flux-limter advection scheme for Temp. (no explicit diffusion). |
76 |
|
o eesupp/src: |
77 |
|
- added SINGLE_DISK_IO option because reading of parameter files on |
78 |
|
very large number of processors did not work with existing set-up |
79 |
|
|
80 |
|
checkpoint64o (2013/09/25) |
81 |
|
o pkg/atm_phys & atm_compon_interf: |
82 |
|
- allows for coupling of gray-atmosphere (atm_phys) with ocean. |
83 |
|
o tools/build_options: |
84 |
|
- switch from "-fPIC" to "-mcmodel=medium" in optfiles: linux_amd64_gfortran |
85 |
|
& linux_amd64_ifort11 and in linux_amd64_g77 & linux_amd64_open64 also |
86 |
|
remove CPP setting (was identical to genmake2 default). |
87 |
|
o pkg/gmredi & model/src: Some updating and work done on the residual model. |
88 |
|
- created new file model/src/calc_eddy_stress.F to calculate the eddy stress. |
89 |
|
- fixed up the calculation of the eddy stress and how it is added to the |
90 |
|
external forcing via taueddy_external_forcing.F |
91 |
|
- at the moment, it is very experimental and only works with the variable eddy |
92 |
|
diffusivity calculated in gmredi_k3d.F |
93 |
|
o pkg/seaice/seaice_check.F: add a check to catch the case of specifying |
94 |
|
lw/swfluxfile instead of lw/swdownfile in data.exf together with pkg/seaice |
95 |
|
o testreport (& tools/do_tst_2+2): |
96 |
|
- for MPI test, set default COMMAND to 'mpirun -v -np TR_NPROC ./{executable}' |
97 |
|
o tools/build_options: linux_amd64_gfortran & linux_amd64_ifort11: |
98 |
|
- remove CPP='cpp -traditional -P' (this is genmake2 default) |
99 |
|
- add switch (for big setups) to use 'medium' memory-model (but leave it |
100 |
|
commented out for now). Note: needed with FC 19 to compile big setups. |
101 |
|
o pkg/atm_compon_interf: |
102 |
|
- regroup per field origin (model & pkgs) the coupling storage routines |
103 |
|
(which accumalate in time each coupling field) |
104 |
|
- move bi,bj loops inside atm_store_my_data.F and store also wind-stress; |
105 |
|
update accordingly + simplify aim_do_physics.F |
106 |
|
|
107 |
|
checkpoint64n (2013/08/26) |
108 |
|
o pkg/bbl: |
109 |
|
- update formulation to reduce dispersion of tracer properties in bbl |
110 |
|
- replaced horizontal and vertical transport parameters with velocities |
111 |
|
- changes results for verification/global_with_exf.yearly |
112 |
|
o verification/halfpipe_streamice: |
113 |
|
- change to matrix construction; update both Fwd & AD output. |
114 |
|
o verification/tutorial_tracer_adjsens: |
115 |
|
- OpenAD test: switch to vector-invariant momentum since fluxform with |
116 |
|
rStar causes problems with OpenAD; update output. |
117 |
|
o tools: |
118 |
|
- genmake2: define a common prefix for all temp-file names ; move them |
119 |
|
to local /tmp disk (but would be easy to move them back); |
120 |
|
- xmakedepend: apply the same switch for temp-files. |
121 |
|
o pkg/offline: |
122 |
|
- changes for use with rStar (NLFS): assume that we continue to provide |
123 |
|
UVELMASS/hFacW_ini & VVELMASS/hFacS_ini (hFacWi,S_ini as written in grid |
124 |
|
output files) and apply r* scaling at each time-step (function of the time |
125 |
|
varying Eta field); use normal pickup files (needed for restart with NLFS). |
126 |
|
o adjoint with OpenAD: |
127 |
|
- move OpenAD-specific files from verification/OpenAD/code_oad_all to a new |
128 |
|
package openad. This package has to be compiled for all runs with OpenAD |
129 |
|
instead of specifying code_oad_all as a modification directory. |
130 |
|
- link the fortran templates from tools/OAD_support to the build directory |
131 |
|
for preprocessing to avoid conflicts between different setups compiled |
132 |
|
simultaneously and simplify cleanup. |
133 |
|
o pkg/exf: |
134 |
|
- in exf_getforcing.F: comment out most of the EXCH calls (fields used by |
135 |
|
main model or other pkgs are exchanged in EXF_MAPFIELDS). |
136 |
|
o model/src: |
137 |
|
- do_stagger_fields_exchanges.F: skip EXCH calls when using pkg/offline |
138 |
|
(similar to do_fields_blocking_exchanges.F). |
139 |
|
o tools/genmake2: |
140 |
|
- remove TAF output src code just before calling staf (when not doing a fresh |
141 |
|
built, will stop if things go wrong with staf). |
142 |
|
- fix target "adobj" (left from TAF version-2 transition) |
143 |
|
o pkg/diagnostics: |
144 |
|
- add a parameter to track the status of pkg/diagnostics activation; |
145 |
|
this replace/extend the use of logical param "settingDiags" (to check |
146 |
|
when adding diag to the list) to also check any DIAGNOSTICS_[]FILL* call. |
147 |
|
New S/R to print error message and stop when pkgStatus is not right. |
148 |
|
- to try: add a warning when "data.diagnostics" exist but useDiagnostics=F. |
149 |
|
|
150 |
|
checkpoint64m (2013/08/13) |
151 |
|
o model/inc: |
152 |
|
- move FCORI_MACROS.h from PARAMS(_MACROS).h to GRID_MACROS.h (left from |
153 |
|
8 yrs ago modif when Coriolis arrays were moved from PARAMS.h to GRID.h) |
154 |
|
o pkg/kpp & aim_v23: |
155 |
|
- only call DIAGNOSTICS_FILL when useDiagnostics=TRUE. |
156 |
|
o pkg/seaice: |
157 |
|
- restore (last time on 2011/12/24) ability to compile pkg/seaice with |
158 |
|
undefined pkg/exf ALLOW_ATM_TEMP or ALLOW_RUNOFF CPP-options. |
159 |
|
- only call DIAGNOSTICS_FILL when useDiagnostics=TRUE. |
160 |
|
o eesupp/src: |
161 |
|
- fix check for overlap-size argument (myOLn.GT.MAX_OLY_EXCH) |
162 |
|
in exch1_rx[_ad].template (thanks to Francois Lefeuvre report). |
163 |
|
o switch to TAF version-2: |
164 |
|
- add flow directives to "freeze" naming convention for ad-routines that |
165 |
|
are used in I/O routines of adjoint state and associated common blocks |
166 |
|
that are used in adcommon.h (backward compatible with version-1) |
167 |
|
- update all ad-optfiles (in tools/adjoint_options + few local to some |
168 |
|
verification exp) to switch to latest TAF version (currently 2.5.5); |
169 |
|
merge "*_mpi" adoptfiles into the corresponding non-mpi (but commented |
170 |
|
out except for diva). |
171 |
|
- the major change with TAF version-2 is that both the differentiated |
172 |
|
routines and the forward routines (new) are returned as part of the TAF |
173 |
|
output source code. Update genmake2 accordingly. |
174 |
|
- new output for AD experiment tutorial_global_oce_biogeo (better AD gradient |
175 |
|
with version-2 when compared to TLM or FWD gradient); other experiments |
176 |
|
output show minor changes (machine truncation level); update the few AD & |
177 |
|
TLM output with 12 matching digits only (some prior to version-2 switch). |
178 |
|
|
179 |
|
checkpoint64l (2013/08/05) |
180 |
|
o model/src: |
181 |
|
- in dynamics.F, skip the call to CALC_VISCOSITY if momViscosity=F |
182 |
|
- main_do_loop.F: no longer includes additional (AUTODIFF) header files |
183 |
|
when using TAF but only if using OpenAD. |
184 |
|
o pkg/mom_common+fluxform+vecinv: |
185 |
|
- always set horiz. viscosity arrays to background value before calling |
186 |
|
MOM_CALC_VISC (in MOM_FLUXFORM & MOM_VECINV) and call S/R MOM_CALC_VISC |
187 |
|
only when using variable horiz. viscosity (useVariableVisc=T); |
188 |
|
- simplify mom_vecinv.F (only 1 block for momViscosity). |
189 |
|
o pkg/mom_common: variable horiz. viscosity in NH code |
190 |
|
- move horiz-viscosity 3-D arrays viscAh_W & viscA4_W (used in calc_gw.F) |
191 |
|
from model/inc/NH_VARS.h to pkg/mom_common/MOM_VISC.h |
192 |
|
- store in common block (in MOM_VISC.h) logical parameters: useHarmonicVisc, |
193 |
|
useBiharmonicVisc & useVariableVisc. |
194 |
|
- fix old bug (already in 1rst implementation of variable horizontal viscosity |
195 |
|
in calc_gw.F, version 1.27, 2006/06/20): |
196 |
|
horizontal bi-harmonic viscosity in gW was missing when wiscA4W=0 |
197 |
|
even if variable bi-harmonic viscosity (e.g., viscA4Grid) was non-zero. |
198 |
|
- change background horiz viscosity in vertical momentum (gW) to always be |
199 |
|
viscAhW,viscA4W (instead of switching to viscAhD, viscA4D when using |
200 |
|
any type of variable viscosity, e.g., viscAh/4Grid) |
201 |
|
- change default value of viscAhW,viscA4W to viscAhD,viscA4D (instead of |
202 |
|
viscAh,viscA4) which default to viscAh,viscA4 : this avoid missing |
203 |
|
horiz. viscosity in W eq when just setting viscAhD/Z,viscA4D/Z (since |
204 |
|
default viscAh,viscA4 is zero). |
205 |
|
o model/src: |
206 |
|
- extend length of drC & recip_drC from Nr to Nr+1. |
207 |
|
o Divided Adjoint (DIVA) with MPI: |
208 |
|
- genmake2: do not create local ./mpi_headers dir when no file to copy into. |
209 |
|
- remove option ALLOW_DIVIDED_ADJOINT_MPI (replaced by ALLOW_DIVIDED_ADJOINT |
210 |
|
and ALLOW_USE_MPI) from model/src code and from ECCO_CPPOPTIONS.h. |
211 |
|
|
212 |
|
checkpoint64k (2013/07/23) |
213 |
|
o tools/OAD_support: |
214 |
|
- avoid the need for file "oadtempflile" in insertTemplateDir.bash |
215 |
|
and remove it from genmake2. |
216 |
|
o tools/build_options: |
217 |
|
- remove MPI_HEADER_FILES_INC setting (no longer used) and comment out |
218 |
|
MPI_HEADER_FILES list (let genmake2 find the missing headers) |
219 |
|
o verification/halfpipe_streamice: |
220 |
|
- change to driving stress formulation; update both Fwd & AD output. |
221 |
|
o tools/genmake2 and Divided Adjoint with MPI: |
222 |
|
- remove default setting of MPIINCLUDEDIR from $MPIHOME (always been broken); |
223 |
|
- only create local ./mpi_headers dir if using MPI and MPIINCLUDEDIR is set; |
224 |
|
- add new variable (LOCAL_MPI_HEADERS, replace MPI_HEADER_FILES_INC) in |
225 |
|
Makefile, which is set by genmake2, and check which mpi-headers are needed. |
226 |
|
Note: need to update adjoint_options/adjoint_diva_mpi accordingly. |
227 |
|
- update target "CLEAN" (to also remove ./mpi_headers/ dir). |
228 |
|
o testreport: |
229 |
|
- changes for Divided Adjoint Run: when file "run_ADM_DIVA" is present, |
230 |
|
perform additional runs (number of additional runs is "add_DIVA_runs" taken |
231 |
|
from file run_ADM_DIVA ; should match "nchklev_3" in file "code_ad/tamc.h"). |
232 |
|
o verification/lab_sea (AD test): |
233 |
|
- change to test Divided Adjoint Run in this set-up (both standard AD test |
234 |
|
and 2 secondary AD test: noseaice + noseaicedyn); drop the evp AD test. |
235 |
|
o pkg atm_ & ocn_compon_interf: |
236 |
|
- remove cpl_earlyExpImpCall=F option (was mainly a hack added for the old |
237 |
|
staggerTimeStep implementation) and disable (retired) corresponding |
238 |
|
parameter. |
239 |
|
o pkg/offline: |
240 |
|
- comment out unused field-array: ICEM, ConvectCount, hflx[01], icem[01]; |
241 |
|
- add S/R OFFLINE_CHECK to print offline parameter summary |
242 |
|
and stop if loading a file that is not used; |
243 |
|
- enable to calculate GMRedi tensor, KPP mixing and convective index |
244 |
|
when the corresponding file(s) is/are not specified (but pkg is used). |
245 |
|
- comment out resetting of monitorFreq (to endTime) since it still useful |
246 |
|
for monitoring CFL numbers and checking offline fields. |
247 |
|
o OpenAD: |
248 |
|
- do not define OAD_DEBUG (in tools/adjoint_options/adjoint_oad) to get |
249 |
|
smaller standard output) and generate new (smaller) output (on baudelaire |
250 |
|
using gfortran with -ieee) for exp. tutorial_tracer_adjsens |
251 |
|
o model/src: |
252 |
|
- call EXTERNAL_FORCING_SURF outside bi,bj loops (in do_oceanic_phys.F), |
253 |
|
(where external_forcing_adjust was called) and change list of arguments; |
254 |
|
- merge external_forcing_adjust.F into external_forcing_surf.F |
255 |
|
- put surface relaxation of SST & SSS in new S/R (forcing_surf_relax.F) |
256 |
|
which also contains balancing surface relaxation (ALLOW_BALANCE_RELAX, |
257 |
|
previously in file "balance_relax.F", now removed); remove corresponding |
258 |
|
arrays in FFIELDS.h. |
259 |
|
- EXTERNAL_FORCING_SURF is now called when using pkg/offline; implement |
260 |
|
a hack for getting back surfaceForcingS (loaded from file) when using |
261 |
|
ALLOW_OLD_VIRTUALFLUX (pkg/dic, in DIC_OPTIONS.h) in offline set-up. |
262 |
|
- update output of AD test experiment global_ocean.cs32x15.seaice_dynmix |
263 |
|
(was getting only 11 digits for AD-grad, due to different truncation |
264 |
|
error in AD code). |
265 |
|
|
266 |
|
checkpoint64j (2013/07/04) |
267 |
|
o pkg/offline: |
268 |
|
- to enable the use of other features with pkg offline (e.g., obcs), |
269 |
|
also call S/R DO_OCEANIC_PHYS in offline run - more modifs to come. |
270 |
|
- comment out "allowFreezing" (now active) in 2 offline testing exp. |
271 |
|
o pkg/exf ALLOW_RUNOFTEMP |
272 |
|
- fix sign and make compatible with temp_EvPrRn .NE. UNSET_RL |
273 |
|
- ahdded RUNOFTEMP test to verification/global_ocean.cs32x15/input.seaice |
274 |
|
- changes verification/global_ocean.cs32x15/results/output.seaice.txt |
275 |
|
o pkg/atm_phys: |
276 |
|
- allows to add some damping on uVel,vVel (strength only function of k). |
277 |
|
o verification, ad-tests: |
278 |
|
- reduce length of the simulation for AD test: global_ocean.cs32x15.seaice, |
279 |
|
global_ocean_ebm and offline_exf_seaice.thsice. |
280 |
|
o verification/halfpipe_streamice: |
281 |
|
- found a bug in s/r pkg/streamice/streamice_advect_thickness which caused |
282 |
|
flux input boundary conditions to be ignored; a fix for this bug changed |
283 |
|
verification results for forward test. |
284 |
|
- add adjoint test. |
285 |
|
o pkg/ptracers: |
286 |
|
- allow to restart without SOM pickup (resetting SOM to zero). |
287 |
|
o pkg/gmredi: |
288 |
|
- New parameterisation for the calculation of K and (GM_PsiX,GM_PsiY) added. |
289 |
|
- It uses mixing length theory and suppression by steering level effects to |
290 |
|
calculate a diffusivity used in the Redi tensor (see Bates et al., submitted |
291 |
|
to JPO, for more details). |
292 |
|
- It also uses the diffusivity to calculate an eddy induced streamfunction |
293 |
|
based on a PV closure (rather than a buoyancy closure as in GM). |
294 |
|
- New files added to pkg/gmredi: |
295 |
|
gmredi_k3d.F calculates the diffusivity for the Redi tensor and the eddy |
296 |
|
induced overturning streamfunction (called from gmredi_calc_tensor) |
297 |
|
gmredi_calc_eigs.F calculates the eigenvalues and eigenvectors required |
298 |
|
for use in gmredi_k3d |
299 |
|
gmredi_calc_urms.F calculates the the rms eddy velocity used to calculate |
300 |
|
the eddy diffusivity |
301 |
|
|
302 |
|
checkpoint64i (2013/06/18) |
303 |
o pkg/cheapaml: |
o pkg/cheapaml: |
304 |
- take src files from MITgcm_contrib/verification_other/offline_cheapaml/code |
- take src files from MITgcm_contrib/verification_other/offline_cheapaml/code |
305 |
that enable the use of seaice (pkg/thsice thermo & pkg/seaice dynamics) |
that enable the use of seaice (pkg/thsice thermo & pkg/seaice dynamics) |
334 |
atmospheric CFC ; fix for the case myIter < PTRACERS_iter0. |
atmospheric CFC ; fix for the case myIter < PTRACERS_iter0. |
335 |
- fix calculation of surf tendencys for partial-cell and/or Non-Lin Free-Surf |
- fix calculation of surf tendencys for partial-cell and/or Non-Lin Free-Surf |
336 |
- new routine to print summary of CFC params and check for consistency. |
- new routine to print summary of CFC params and check for consistency. |
337 |
|
o pkg/seaice: add uice/vice to the parameter list of s/r seaice_advdiff, |
338 |
|
similar to thsice_advdiff. |
339 |
|
Note that for the B-grid case the routine parameters uc/vc are overwritten. |
340 |
o pkg/cfc: |
o pkg/cfc: |
341 |
- change time interpolation for atmospheric CFC-11 (now same as for CFC-12); |
- change time interpolation for atmospheric CFC-11 (now same as for CFC-12); |
342 |
update output (CFC-11) of experiment cfc_example and tutorial_cfc_offline. |
update output (CFC-11) of experiment cfc_example and tutorial_cfc_offline. |