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