4 |
Notes on tags used in MITgcmUV |
Notes on tags used in MITgcmUV |
5 |
============================== |
============================== |
6 |
|
|
7 |
o useSingleCpuInput separates single-CPU input from single-CPU output |
o verification/lab_sea: |
8 |
o pkg/seaice/seaice_lsr.F: fix an initialisation bug for the |
update adjoint and TLM output following changes to pkg/salt_plume |
9 |
SEAICE_VECTORIZE_LSR_ZEBRA option that lead to NaNs on a NEC-SX8 |
o pkg/salt_plume: modifications by An Nguyen: |
10 |
|
- add capability to do brine rejection (salt-plume) as function of |
11 |
|
volume+tracers (instead of only salinity tracer). |
12 |
|
- conserve volume by exchanging volume from each kLev to above to |
13 |
|
accommodate in-coming brine volume |
14 |
|
- store surface and klev exchanged fraction + volume in 4 new 3-d arrays |
15 |
|
- switch KPP surf buoyancy due to brine forcing to 3-d |
16 |
|
(3 more 3-d arrays, 2 for SPforcing[T,S], 1 for boplume) |
17 |
|
- add salt_plume_volfrac, salt_plume_apply, salt_plume_tendency_apply_t |
18 |
|
- unrelatedly, also add ad-hoc capability to vary salt_plume scheme |
19 |
|
in East/West Arctic. |
20 |
|
o pkg/sbo: |
21 |
|
- incorporate modifications from Katherine Quinn to enable the use of sbo |
22 |
|
pkg in ECCO-v4 set-up ; remove SBO-TimeAve output ; add monitor-like |
23 |
|
output for future testreport verification (unfinished). |
24 |
|
o pkg/atm_phys: |
25 |
|
- change diagnostics (AtPh_Trf & AtPh_Qrf) of DARGAN_BETTSMILLER S/R: |
26 |
|
skip the reseting of t_ref & q_ref to initial t & q ; this preserve the |
27 |
|
output of S/R CAPECALCNEW (Parcel temp & q) for diagnostics. |
28 |
|
o pkg/seaice |
29 |
|
seaice_calc_ice_strength.F: modify expression to avoid divisions |
30 |
|
(affects truncation) |
31 |
|
seaice_do_ridging.F: clean up the insectarium |
32 |
|
- fix a bug that was compensated by areaScaling (-> remove areaScaling code) |
33 |
|
- added SEAICEsnowFracRidge to redistributed snow (2nd bug) |
34 |
|
- set closing/openingRate to zero where no extra iteration is need (3rd bug) |
35 |
|
- add some debugging information and error messages (warnings) |
36 |
|
o model/src: modifications relatd to atmosphere p*: |
37 |
|
- Switch to more accurate p* coordinate slope term (calc_grad_phi_hyd.F) |
38 |
|
- With p* or Sigma-P, use constant reference Pot.Temp (thetaConst) instead |
39 |
|
of vertical profile tRef in geopotential background and anomaly. |
40 |
|
- Acount for true p* correction in theta <-> T conversion in pkg/aim_v23 |
41 |
|
and pkg/atm_phys. |
42 |
|
- Update FWD output of experiments: aim.5l_cs (x2), fizhi-cs-32x32x40, |
43 |
|
fizhi-cs-aqualev20, fizhi-gridalt-hs, tutorial_held_suarez_cs, cpl_aim+ocn. |
44 |
|
o pkg/seaice: fix a bug in seaice_prepare_ridging.F, forgot a sqrt |
45 |
|
o pkg/ptracers: compute ptracer source/sink due to linear free surface. |
46 |
|
not used right now, but can be used in BGC packages to fix conservation. |
47 |
|
o pkg/dic, pkg/gchem: move tracer_meanarea to gchem, so it can be used by |
48 |
|
other packages too. |
49 |
|
o pkg/seaice/seaice_calc_ice_strength.F: replace SEAICE_rhoSnow by |
50 |
|
SEAICE_rhoIce in the Rothrock (1975)-type strength calculations (bug fix) |
51 |
|
o model/src: |
52 |
|
- since we have several heat capacity (even in model/src), define "recip_Cp" |
53 |
|
as local variable (no longer in common block) to avoid any confusion. |
54 |
|
- add thetaConst in PARAMS.h (to be used with pStar or sigma-P coords). |
55 |
|
o pkg/exf: |
56 |
|
- from Jeff Scott: add option (#define EXF_CALC_ATMRHO) to calculate local |
57 |
|
air density as function of air Temp, Humidity and atm pressure. |
58 |
|
|
59 |
|
checkpoint64w (2014/05/02) |
60 |
|
o verification: |
61 |
|
- update output_adm.txt files for experiment global_ocean.cs32x15 (seaice & |
62 |
|
seaice_dynmix) and lab_sea (primary test & noseaicedyn): moving/changing |
63 |
|
code from seaice_growth.F & seaice_advdiff.F to new ridging routines |
64 |
|
seaice_reg_ridge.F seaice_do_ridging.F affects AD gradient |
65 |
|
(down to 8-7 matching digits for global_ocean and 5-6 for lab_sea). |
66 |
|
o model/src: for atmosphere in p* coords: |
67 |
|
- store factor rStarFacC**atm_kappa (= pStarFacK) in common block |
68 |
|
- implement more accurate p* coordinate slope term (in calc_grad_phi_hyd.F), |
69 |
|
but not yet activated. |
70 |
|
o pkg/seaice: fix restart problem for ITD with new ice strength parameterisation: |
71 |
|
- move computation of opnWtrFrac = 1-AREA to before computing ice strength |
72 |
|
- this changes the results (but not for any verification experiment, because |
73 |
|
none tests this), but avoids having an extra field in the restart files |
74 |
|
o pkg/seaice: remove global variable TICE (not needed) |
75 |
|
- replace by TICES or local variable where necessary (cost_seaice_test, |
76 |
|
seaice_diagnostics_state) |
77 |
|
- move copying TICE to TICES from seaice_check_pickup to seaice_read_pickup |
78 |
|
- use specific read/write routines for reading and writing individual leves |
79 |
|
of a multilevel field |
80 |
|
o pkg/ctrl & model/inc: |
81 |
|
- move additional anomaly fields of control vars (related to options: |
82 |
|
ALLOW_KAPGM_CONTROL, ALLOW_KAPREDI_CONTROL and ALLOW_BOTTOMDRAG_CONTROL) |
83 |
|
from DYNVARS.h into new header file: CTRL_FIELDS.h |
84 |
|
o pkg/seaice: some small modifications to the ridging code |
85 |
|
- make fw2ObyRidge a global variable and add the freshwater flux to |
86 |
|
seaice_growth |
87 |
|
- pass actual thickness from seaice_prepare_ridging, so that it is |
88 |
|
computed only in one place and compute it in the same way as in |
89 |
|
seaice_growth |
90 |
|
- initialise more fields in seaice_do_ridging that where cause floating |
91 |
|
point exceptions over land |
92 |
|
o pkg/seaice: preparations for ridging code and first real ridging code |
93 |
|
- move most of "PART 1" of S/R seaice_growth into a new and separate |
94 |
|
S/R seaice_reg_ridge that will both regularize the state variable after |
95 |
|
advection call the actual ridging routine; |
96 |
|
- requires to make 5 fields global fields: d_HEFFbyNEG,d_HSNWbyNEG, |
97 |
|
d_AREAbyRLX,d_HEFFbyRLX,saltFluxAdjust; |
98 |
|
- remove ridging code from seaice_advdiff |
99 |
|
- clean up remaining part 1 of seaice_growth in an attempt to make it |
100 |
|
more readable (this is probably subjective) |
101 |
|
- call seaice_itd_redist once in the initialisation phase to have the initial |
102 |
|
conditions in the correct category |
103 |
|
- finally: add new ridging routine for ITD code |
104 |
|
|
105 |
|
checkpoint64v (2014/04/11) |
106 |
|
o pkg/ecco: |
107 |
|
- add runtime parameters mdt[start,end]date[1,2] |
108 |
|
- rename variable "tpmean" as "mdt" and "topexmeanfile" as "mdtdatfile" |
109 |
|
o pkg/seaice: |
110 |
|
- make deltaC a global variable, so that it can be used in ridging code |
111 |
|
- first step towards ridging: introduce new routines that compute |
112 |
|
ice strength based on ridging parameters |
113 |
|
- add diagnostic for HSNOWITD |
114 |
|
- add opnWtrFrac as a global variable (required for ridging scheme) |
115 |
|
o pkg/salt_plume + pkg/seaice/seaice_growth.F |
116 |
|
- add SALT_PLUME_IN_LEADS flag to activate pkg/salt_plume only when ice |
117 |
|
AREA exceeds a threshold (code contributed by I.Fenty in 2011) |
118 |
|
o verification/hs94.1x64x5: |
119 |
|
- leave ALLOW_AUTODIFF_TAMC undefined in code_oad/AUTODIFF_OPTIONS.h |
120 |
|
- do not use ECCO_CPPOPTIONS.h anymore for TAF & OpenAD Adjoint tests. |
121 |
|
o autodiff: |
122 |
|
- Start to include explicitly AUTODIFF_OPTIONS.h, COST_OPTIONS.h, |
123 |
|
and CTRL_OPTIONS.h in src files (to enable to skip the ECCO_CPPOPTIONS.h) |
124 |
|
For now, only in pkgs used in verification/hs94.1x64x5. |
125 |
|
- Replace ALLOW_AUTODIFF_TAMC by ALLOW_AUTODIFF (except for tape/storage |
126 |
|
which are specific to TAF/TAMC). |
127 |
|
- Replace ALLOW_AUTODIFF_OPENAD by ALLOW_OPENAD: |
128 |
|
since ALLOW_OPENAD is defined in PACKAGES_CONFIG.h (any time pkg/openad |
129 |
|
is compiled), this simplifies/reduces which *_OPTIONS.h file to include. |
130 |
|
- OpenAD: change Makefile to generate the appropriate AD_CONFIG.h when |
131 |
|
building mitgcmuv_ad (make adAll). |
132 |
|
o pkg/ecco: |
133 |
|
- cost_gencost_seaicev4.F: |
134 |
|
reformulate proxy cost as function of sst and local param SEAICE_freeze |
135 |
|
change cost names from siv4-[sst,vol] to siv4-[deconc,exconc] |
136 |
|
- add stop statement if old names siv4-[sst,vol] are used |
137 |
|
- add snapshots + cost reports for atmospheric longwave |
138 |
|
- remove factor 0.1 in front of wtau[u,v] |
139 |
|
- replace never used flag ALLOW_TMI_COST_CONTRIBUTION with |
140 |
|
ALLOW_TMI_SST_COST_CONTRIBUTION |
141 |
|
o pkg/atm_phys: |
142 |
|
- add some diagnostics for Short-wave and for convection S/R. |
143 |
|
o pkg/seaice/seaice_growth: |
144 |
|
- fix a bug in the lateral melt parameterization for SEAICE_ITD |
145 |
|
in seaice_growth; tempFrz needs to be computed inside the i/j-loop |
146 |
|
- rearrange loop order for better vector code in the same code block |
147 |
|
- rewrite the floeDiameter formula to have fewer divisions |
148 |
|
- (miraculously) none of this changes the results of seaice_itd |
149 |
|
o pkg/smooth: |
150 |
|
- move param smooth2Ddiffnbt to pkg/ecco |
151 |
|
o pkg/salt_plume: |
152 |
|
- salt_plume_frac.F: |
153 |
|
clean up local param names |
154 |
|
reformulate (1-frac) to frac; original 1-frac was based on swfrac code |
155 |
|
o pkg/rw: |
156 |
|
- add RS version of S/R READ_MFLDS_LEV. |
157 |
|
o pkg/streamice: |
158 |
|
- fix the restart test by writing/reading pickup_streamice files. |
159 |
|
o pkg/seaice: |
160 |
|
- refine checks for jfnk-related parameters |
161 |
|
- comment out if statement with SEAICEuseIMEX parameter as long as there |
162 |
|
is no IMEX code to avoid confusion and surprises |
163 |
|
|
164 |
|
checkpoint64u (2014/03/07) |
165 |
|
o verification/MLAdjust: |
166 |
|
- rename secondary test suffix: |
167 |
|
1.leith -> A4FlxF + switch to flux-form & add side-drag |
168 |
|
0.leithD -> AhFlxF + switch to flux-form |
169 |
|
0.smag -> AhVrDv (use Vorticity-Div. visc form) + add side-drag |
170 |
|
0.leith -> AhStTn (use Strain-Tension visc form) + add side-drag |
171 |
|
o pkg/mom_vecinv: |
172 |
|
- remove unused arguments from S/R MOM_VI_HDISSIP & MOM_HDISSIP (as it used |
173 |
|
to be before mom_calc_visc.F) |
174 |
|
- skip the call to MOM_CALC_TENSION & MOM_CALC_STRAIN if not needed. |
175 |
|
- add 2nd copy of vort3 & strain that knows about lateral BC (free/no slip): |
176 |
|
this is simpler for the adjoint and for diagnostics. |
177 |
|
o model/src + pkg/momentum: |
178 |
|
- add input files for 2-D additional Western and Southern cell-edge wall |
179 |
|
(e.g., to add "thin-wall" where it is =1). |
180 |
|
- fix sideDrag option for thin-walls with Non-Lin Free-Surf |
181 |
|
using 2nd hFacZ that is computed from initial (fix domain) hFac |
182 |
|
- known limitations of thin wall implementation: not yet coded for sigma |
183 |
|
coords; not working with CD-scheme neither. |
184 |
|
o pkg/seaice: |
185 |
|
- rename recently introduced parameters from (wrong name) AB to |
186 |
|
BDF (backward difference time discretisation) |
187 |
|
- retire runtime parameters SEAICEuseAB2, SEAICE_abEps |
188 |
|
o tools/adjoint_options: |
189 |
|
- remove setting of "OPENAD=true" (now set by command line "genmake2 -oad") |
190 |
|
|
191 |
|
checkpoint64t (2014/02/01) |
192 |
|
o pkg/ecco |
193 |
|
- add compile flag ALLOW_GENCOST_TIMEVARY_WEIGHT in ECCO_OPTIONS.h and |
194 |
|
runtime logical flag gencost_timevaryweight to read daily sea-ice sigma |
195 |
|
- replace hard-coded record number and period which only work for monthly |
196 |
|
with read-in runtime param that works for other periods (month,day,year) |
197 |
|
o pkg/thsice |
198 |
|
- corrected store directive fixes thsice adjoint gradient checks |
199 |
|
o genmake2 & testreport: |
200 |
|
- add genmake2 option "-oad" to generate a Makefile for OpenAD built and |
201 |
|
in this case, use tools/adjoint_options/adjoint_oad as default AD optfile. |
202 |
|
Update testreport accordingly. No need to set "export OPENAD=true" |
203 |
|
in adjoint_options/adjoint_oad anymore (will be removed later). |
204 |
|
o pkg/shelfice: |
205 |
|
- put T & S shelfice forcing into model surfaceForcing_T,_S (for now, |
206 |
|
only if SHELFICEboundaryLayer=F); Change model/src/external_forcing.F |
207 |
|
so that surface forcing applies to k=kSurf if using pkg/shelfice. |
208 |
|
o pkg/ctrl, pkg/grdchk, pkg/ecco: |
209 |
|
- Changes to make GENARR more modular (i.e. invisible if not used) |
210 |
|
o model/src/temp_integrate.F and salt_integrate.F |
211 |
|
- re-include store directives that were removed on Dec 27th. |
212 |
|
o model/src/external_forcing_surf.F |
213 |
|
- add storage directives for EmPmR and PmEpR to avoid recomputation of |
214 |
|
seaice_model in the adjoint that is problematic when seaice_model is |
215 |
|
turned off in the adjoint. The resolved issue dated back to July when |
216 |
|
EXTERNAL_FORCING_SURF call was moved. |
217 |
|
Update global_ocean.cs32x15/*/output_adm.seaice_dynmix.txt accordingly. |
218 |
|
o pkg/exf/exf_check.F |
219 |
|
- fix a small bug again (originally found by Wentao Liu, now found again) |
220 |
|
- streamline error output |
221 |
|
o pkg/streamice and aim_v23: |
222 |
|
- replace a few "_EXCH_XY_RL (" with "_EXCH_XY_RL(", so that |
223 |
|
Apple's /usr/bin/cpp knows what to do: |
224 |
|
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) |
225 |
|
Target: x86_64-apple-darwin13.0.0 |
226 |
|
|
227 |
|
checkpoint64s (2014/01/05) |
228 |
|
o tools/adjoint_options: |
229 |
|
- switch to fastopt.net TAF server (instead of default fastopt.de) for |
230 |
|
AD optfiles adjoint_diva & adjoint_f95 (similar to adjoint_default). |
231 |
|
o model/src: |
232 |
|
- remove some unnecessary TAF storage directives in forward_step.F and |
233 |
|
in dynamics.F (note: not always removed by TAF, e.g., double storage |
234 |
|
of kappaRU,kappaRV in former version of dynamics.F). |
235 |
|
o model/src & pkg/ptracers: |
236 |
|
- call directly GAD_IMPLICIT_R & IMPLDIFF + DWNSLP_APPLY from temp_integrate.F |
237 |
|
salt_integrate.F and ptracers_integrate.F (instead of from thermodynamics.F) |
238 |
|
and remove ptracers_dwnslp_apply.F & ptracers_implicit.F |
239 |
|
- call MATRIX_STORE_TENDENCY_EXP for each tracer (in ptracers_integrate.F) |
240 |
|
- add fZon & fMer as output argument of S/R GAD_CALC_RHS. |
241 |
|
- update TAF AD-output of experiments global_ocean.90x40x15 (13 for AD-grad). |
242 |
|
o useSingleCpuInput separates single-CPU input from single-CPU output; |
243 |
|
for now only implemented for in exf_interp_read.F |
244 |
|
o verification/advect_xy: |
245 |
|
- fix missing EXCH call in local version of ini_salt.F and update output. |
246 |
|
o momentum diagnostics: |
247 |
|
- fix which deltaT is used in Total-Tendency diagnostics. |
248 |
|
- fix typo in diagnostics for momentum tendency from AB. |
249 |
|
o pkg/seaice/seaice_lsr.F: fix an initialisation bug for the |
250 |
|
SEAICE_VECTORIZE_LSR_ZEBRA option that lead to NaNs on a NEC-SX8 |
251 |
|
|
252 |
checkpoint64r (2013/12/08) |
checkpoint64r (2013/12/08) |
253 |
o verification/*/results: |
o verification/*/results: |
353 |
o pkg/cost: |
o pkg/cost: |
354 |
- define a "final cost function" for each tile, and use GLOBAL_SUM_TILE_RL |
- define a "final cost function" for each tile, and use GLOBAL_SUM_TILE_RL |
355 |
(instead of _GLOBAL_SUM_RL) to get the final cost from all procs & threads: |
(instead of _GLOBAL_SUM_RL) to get the final cost from all procs & threads: |
356 |
o this fixes global-sum value if multi-threads (since GLOBAL_SUM_TILE_RL |
o this fixes global-sum value if multi-threads (since GLOBAL_SUM_RL |
357 |
cannot be applied to var in common block). |
cannot be applied to var in common block). |
358 |
o allows to get results independent of tile-per-proc setting (if using |
o allows to get results independent of tile-per-proc setting (if using |
359 |
slower GLOBAL_SUM_SEND_RECV option). |
slower GLOBAL_SUM_SEND_RECV option). |