4 |
Notes on tags used in MITgcmUV |
Notes on tags used in MITgcmUV |
5 |
============================== |
============================== |
6 |
|
|
7 |
|
checkpoint66b (2016/12/01) |
8 |
|
o model & momentum pkgs: |
9 |
|
- implement fully implicit bottom friction combined with implicit surf. |
10 |
|
pressure, for now, only in hydrostic formulation: |
11 |
|
+ to use: compile with #define ALLOW_SOLVE4_PS_AND_DRAG in CPP_OPTIONS.h |
12 |
|
and run with selectImplicitDrag=2 ; |
13 |
|
+ currently missing diagnostics of bottom drag and vert. viscosity tendency; |
14 |
|
- partial implicit time-stepping (bot. friction + vert. visc first, then |
15 |
|
surf. press) corresponding to selectImplicitDrag=1 should be applicable |
16 |
|
to NH formulation but not available until we solve for surf. pressure |
17 |
|
increment (instead of full etaN). |
18 |
|
- change exp. global_ocean.cs32x15.thsice to test implicit bottom drag |
19 |
|
with implicit vertical viscosity. |
20 |
|
o pkg/seaice: add linear remapping scheme (Lipscomb 2001) to ITD model |
21 |
|
- this is a first version that includes many regularisations that may |
22 |
|
not all be necessary, to be sorted out, |
23 |
|
- turned on by runtime parameter SEAICEuseLinRemapITD (true by default) |
24 |
|
- change one verification experiment in seaice_itd to use and test new code |
25 |
|
- seaice_growth: catch a case where the argument of log can be zero |
26 |
|
or smaller (important for code stability) |
27 |
|
o model/src: |
28 |
|
- modify SOLVE_DIAGONAL_LOWMEMORY version of solve_tridiagonal.F |
29 |
|
& solve_pentadiagonal.F to enable to re-used inverse matrix for solving |
30 |
|
similar A.X'=Y' system (with same matrix A) in subsequent calls; |
31 |
|
switch based on errCode (In/Out) argument value; in calling routines, |
32 |
|
initialise errCode before first call. |
33 |
|
|
34 |
|
checkpoint66a (2016/10/18) |
35 |
|
o pkg/bling: |
36 |
|
- BLING package now loads in atmospheric pCO2 file using exf package routines |
37 |
|
Enable with #define USE_EXFCO2 in BLING_OPTIONS.h |
38 |
|
o model/src & pkg/ptracers: |
39 |
|
- with INCLUDE_IMPLVERTADV_CODE defined, also call MOM_U,V_IMPLICIT_R & |
40 |
|
GAD_IMPLICIT_R (instead of IMPLDIFF) when just implicitViscosity and |
41 |
|
implicitDiffusion (respectively) are used (even without momImplVertAdv |
42 |
|
or temp,salt,PTRACERS_ImplVertAdv). |
43 |
|
o model/src & generic_advdiff: |
44 |
|
- add parenthesis in main diagonal calculation of implicit vertical |
45 |
|
diffusion matrix (impldiff.F & gad_implicit_r.F). |
46 |
|
This affects results at machine truncation level; update output of many |
47 |
|
verification experiments (31 fwd ; 10 adm ; 8 tlm ; 3 oad). |
48 |
|
o pkg/mom_commom & generic_advdiff: |
49 |
|
- add deep atmosphere and anelastic scaling factor in implicit vertical |
50 |
|
advection routines (mom_u,v_implicit_r.F & gad*_impl*_r.F). |
51 |
|
o model/src: |
52 |
|
- remove few unnecessary temp array copies in solve_tridiagonal.F |
53 |
|
& solve_pentadiagonal.F |
54 |
|
|
55 |
|
checkpoint65z (2016/09/28) |
56 |
|
o pkg/seaice: fix multithreading for seaice_fgmres.F |
57 |
|
- remove unecessary variables from common blocks |
58 |
|
- use extra dimension MAX_NO_THREADS for all variables of the Krylov space |
59 |
|
basis, that are stored in commom blocks (including integer variable i1) |
60 |
|
- clean up code a little by removing commented lines that refer to |
61 |
|
original code |
62 |
|
- turn on multi-threaded test for experiment offline_exf_seaice.dyn_jfnk. |
63 |
|
o MITgcm manual: |
64 |
|
- add uptodate pkg/ecco documentation to the manual (section 8.1; ecco.tex), |
65 |
|
preliminary documentation for generic controls (8.3; ctrl.tex), |
66 |
|
a placeholder for smooth (8.4; smooth.tex), and comment out the deprecated |
67 |
|
ecco_costfunction.tex |
68 |
|
o pkg/ecco: |
69 |
|
- update and cleanup list of CCP options |
70 |
|
- re-assign gencost_mask to specify masks rather than gencost_errfile; 'c' |
71 |
|
is now always passed to cost_generic; gencost_mask is now MAX_LEN_FNAM |
72 |
|
- add checks that retired run-time options are not used, and in relation |
73 |
|
to gencost_mask and gencost_errfile |
74 |
|
- finish deprecating gencost_scalefile, gencost_smooth2Ddiffnbt, and |
75 |
|
gencost_nrecperiod |
76 |
|
- fix m_eta computation for virtual salt flux case |
77 |
|
- add m_horflux_vol case (selected via gencost_barfile) that computes |
78 |
|
transports via cost_gencost_boxmean (gencost_flag=-3) |
79 |
|
- use gencost_flag more systematically (i.e., avoid using gencost_name) |
80 |
|
for code switches (aside from physical variable selection) |
81 |
|
o pkg/seaice: make seaice_fgmres.F fit for multithreading; this first |
82 |
|
attempt appears to be a bit of a hack and my need some repair down the road |
83 |
|
o pkg/exf: |
84 |
|
- interpolation near South Pole: fix criteria on input field latitude. |
85 |
|
o pkg/icefront & pkg/exf: |
86 |
|
- move setting of icefront Sub-Glacial RunOff forcing (currently unused) |
87 |
|
from pkg/exf (read from data.exf) to pkg/icefront (read from data.icefront) |
88 |
|
o pkg/exf: |
89 |
|
- replace CPP option ALLOW_EXF_OUTPUT_INTERP with run-time parameter |
90 |
|
"exf_output_interp" (in namelist: EXF_NML_04); change output file name |
91 |
|
(add suffix "_out" instead of a prefix); keep same record number as in |
92 |
|
input file but always write record 1 first (to avoid a STOP in I/O S/R). |
93 |
|
Change output file content by writing interpolated field before applying |
94 |
|
land-sea mask (helpful for debug). |
95 |
|
- 2 compon. vector interpolation with rotation: apply scaling factor on |
96 |
|
each compon. (Eastward and Northward) just before rotation. |
97 |
|
o pkg/bling: |
98 |
|
- Cleaned package. Removed not needed code and comments. |
99 |
|
- adjoint example now works |
100 |
|
(MITgcm_contrib/verification_other/global_oce_biogeo_bling/code_ad) |
101 |
|
o pkg/ptracers: |
102 |
|
- add Bruno Deremble's code to complete the linear surface correction |
103 |
|
for tracer conservation; |
104 |
|
- enabled for individual ptracers by PTRACERS_linFSConserve(iTr)=.TRUE. |
105 |
|
|
106 |
|
checkpoint65y (2016/07/29) |
107 |
|
o pkg/debug (stats): |
108 |
|
- change GLOBAL_SUM to GLOBAL_SUM_TILE (result independent of tile to |
109 |
|
proc/thread mapping); |
110 |
|
- fix Min & Max for case where 1 thread has only empty tiles; |
111 |
|
- use RL variable to count number of wet grid points (with big domain, |
112 |
|
can be too large to fit into integer*4). |
113 |
|
o pkg/monitor: |
114 |
|
- use RL variable to count number of wet grid points (but used only for del2) |
115 |
|
- add new routine to compute Advective CFL within tracer time-stepping with |
116 |
|
writing delayed until next monitor output. |
117 |
|
o pkg/obcs: |
118 |
|
- fix bug in OBCS_BALANCE_FLOW (OBCS_balanceFacN misspelled OBCS_balanceFacW) |
119 |
|
o pkg/cal: |
120 |
|
- calandar-dump: treat case myTime < timePhase in the same way as in |
121 |
|
eesupp/src/diff_phase_multiple.F (when not using calandar-dump). |
122 |
|
o pkg/dic & seaice: |
123 |
|
- fix compilation of ocean component for coupled atm+ocn model with |
124 |
|
seaice dynamics & dic. |
125 |
|
|
126 |
|
checkpoint65x (2016/06/11) |
127 |
|
o add a license text file in main MITgcm tree. |
128 |
|
o added pkg/bling: |
129 |
|
- intermediate complexity biogeochemical model |
130 |
|
- see bling_description.txt for details |
131 |
|
- verification experiment is global_oce_biogeo_bling (for now, in |
132 |
|
Contrib/verification_other/); tested daily on baudelaire with gfortran. |
133 |
|
- add entry point in pkg/gchem for new pkg "bling". |
134 |
|
o pkg/seaice: fix tensile stength computation |
135 |
|
- replace global field tensileStrength by tensileStrFac |
136 |
|
- tensileStrFac can be computed once in S/R seaice_init_varia |
137 |
|
- fortunately that does not affect any verification results |
138 |
|
|
139 |
|
checkpoint65w (2016/05/12) |
140 |
|
o pkg/ctrl/ctrl.h: fix a comma in common block list, so that code compiles |
141 |
|
with ECCO_CTRL_DEPRECATED defined |
142 |
|
o verification/global_ocean.cs32x15: |
143 |
|
- change secondary test "viscA4" to also test "selectP_inEOS_Zc=3" |
144 |
|
with "selectNHfreeSurf=1". |
145 |
|
o model/src (non-hydrostatic free-surface): |
146 |
|
- More "natural" expression of NH free-surface term (case selectNHfreeSurf=1): |
147 |
|
was: tmpSurf/(1+tmpSurf); changed to: 1/(1+Gamma) with Gamma=1/tmpSurf. |
148 |
|
- Calculate surface vertical velocity after 2-D solver adjustment (accounts |
149 |
|
for EmPmR if RealFreshWaterFlux); used in RHS (cg3d_b) if exactConserv |
150 |
|
and used to compute dPhiNH (in post_cg3d.F) if selectNHfreeSurf=1. |
151 |
|
This fixes EmPmR contribution when selectNHfreeSurf=1 & RealFreshWaterFlux. |
152 |
|
- Update output (changes at machine truncation level) of verification exp: |
153 |
|
exp4 (11 digits for cg2d), global_ocean.cs32x15.viscA4 (11.d), |
154 |
|
short_surf_wave (13.d) and tutorial_deep_convection.smag3d (12.d). |
155 |
|
o pkg/seaice: ITD code |
156 |
|
- fix picking up from a single category model by initialising |
157 |
|
heff/area/hsnowITD = 0. in seaice_itd_pickup.F |
158 |
|
- split a long warning message in seaice_check_pickup.F into two lines, |
159 |
|
because NEC SX-ACE cannot deal with the long line. |
160 |
|
o model/src: |
161 |
|
- fix missing dPhiNH in pressure_for_eos.F (case: selectP_inEOS_Zc=3) |
162 |
|
o pkg/seaice: |
163 |
|
- add missing checks for SEAICE_ALLOW_KRYLOV and SEAICE_ALLOW_BOTTOMDRAG |
164 |
|
o pkg/seaice: |
165 |
|
- add basal stress as parameterisation for grounding ice |
166 |
|
following Lemieux et al. (2015) |
167 |
|
- turn on by setting new parameter SEAICEbasalDragK2 to a value |
168 |
|
larger than 0. Lemieux et al. (2015) recommend 15. |
169 |
|
- The adjoint complains with extra recomputations so there is also a |
170 |
|
new cpp-flag SEAICE_ALLOW_BOTTOMDRAG that is undefined by default in |
171 |
|
order to postpone the problem |
172 |
|
- compile the new code in lab_sea |
173 |
|
o verification/halfpipe_streamice: |
174 |
|
- update both TAF and OpenAD adm output (machine truncation differences) |
175 |
|
|
176 |
|
checkpoint65v (2016/04/08) |
177 |
|
o verification/advect_xz: |
178 |
|
- increase overlap size from 3 to 4 and add new secondary test for PQM |
179 |
|
advection scheme (with mono & wino limiter). |
180 |
|
- change main exp. to test PPM (with weno limiter) adv.scheme on Temp. |
181 |
o model/src: |
o model/src: |
182 |
- new parameters "top_Pres" & "seaLev_Z" (replacing Ro_SeaLevel and recently |
- new parameters "top_Pres" & "seaLev_Z" (replacing Ro_SeaLevel and recently |
183 |
added phi0Ref) to set vertical axis origin and phiRef origin; |
added phi0Ref) to set vertical axis origin and phiRef origin; |
187 |
ATM in Z: top_Pres(Ref) (=rhoConst*PhiRef(1)), seaLev_Z (=rF(Nr+1) @ bottom) |
ATM in Z: top_Pres(Ref) (=rhoConst*PhiRef(1)), seaLev_Z (=rF(Nr+1) @ bottom) |
188 |
OCN in P: top_Pres (=rF(Nr+1)), seaLev_Z (= PhiRef(Nr+1)/g, @ the top) |
OCN in P: top_Pres (=rF(Nr+1)), seaLev_Z (= PhiRef(Nr+1)/g, @ the top) |
189 |
ATM in P: top_Pres (=rF(Nr+1)), seaLev_Z (= PhiRef(1)/g, @ the bottom) |
ATM in P: top_Pres (=rF(Nr+1)), seaLev_Z (= PhiRef(1)/g, @ the bottom) |
190 |
|
- remove Ro_SeaLevel from ATM experiment parameter files; |
191 |
|
- in tutorial_global_oce_in_p, remove Ro_SeaLevel and set top_Pres to the |
192 |
|
complement; update output.txt (changes at machine truncation level). |
193 |
o pkg/seaice/seaice_evp.F |
o pkg/seaice/seaice_evp.F |
194 |
- simplify computation of deltaZ and zetaZ to simple averaging following |
- simplify computation of deltaZ and zetaZ to simple averaging following |
195 |
Bouillon et al. (2013). This removes a lot of code, but also changes |
Bouillon et al. (2013). This removes a lot of code, but also changes |
371 |
- add diagnostics for 3-D, Nr+1 levels diagnostics of radiative fluxes |
- add diagnostics for 3-D, Nr+1 levels diagnostics of radiative fluxes |
372 |
(shortwave & longwave, net & downward) and diagnostics of temp. tendency |
(shortwave & longwave, net & downward) and diagnostics of temp. tendency |
373 |
for individual contribution (convection, LSC cond, radiation) |
for individual contribution (convection, LSC cond, radiation) |
374 |
- add Ruth Geen etal, GRL 2016, radiation optionis (see paper supp. |
- add Ruth Geen etal, GRL 2016, radiation options (see paper supp. |
375 |
information); activated with: solar_exponent=0. and wv_exponent=-1. |
information); activated with: solar_exponent=0. and wv_exponent=-1. |
376 |
o pkg/ggl90: |
o pkg/ggl90: |
377 |
- within IDEMIX add upper limit for horizontal group velocity to |
- within IDEMIX add upper limit for horizontal group velocity to |
894 |
just copy level Nr value to level Nr+1. |
just copy level Nr value to level Nr+1. |
895 |
o doc: |
o doc: |
896 |
- add notes form Abhisek Chakraborty on how to close Heat & Salt budgets. |
- add notes form Abhisek Chakraborty on how to close Heat & Salt budgets. |
897 |
o pkg/streamice: |
o pkg/shelfice: |
898 |
- shelfice_init_varia.F, shelfice_init_fixed.F, shelfice_readparms.F, |
- shelfice_init_varia.F, shelfice_init_fixed.F, shelfice_readparms.F, |
899 |
SHELFICE.h: move array shelficemass to init_varia, initialise |
SHELFICE.h: move array shelficemass to init_varia, initialise |
900 |
from array shelficemassinit, which is set in init_fixed and |
from array shelficemassinit, which is set in init_fixed and |