/[MITgcm]/MITgcm/doc/tag-index
ViewVC logotype

Diff of /MITgcm/doc/tag-index

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1556 by mlosch, Wed Dec 21 12:59:51 2011 UTC revision 1.1634 by heimbach, Fri Mar 23 15:05:31 2012 UTC
# Line 4  $Name$ Line 4  $Name$
4      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
5      ==============================      ==============================
6    
7  o pkg/exf/exf_radiation.F: add the factor ocean_emissivity to lwdown, for  o verification/lab_sea
8      * #undef SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
9      * #define ALLOW_SST_CONTROL & ALLOW_SST_CONTROL
10      * nTimeSteps 3 -> 4
11      * changed reference output accordingly
12    o pkg/ctrl:
13      * fix ctrl_get_gen for xx_sst, xx_sss
14    o pkg/fizhi:
15      - fix 2 calls to S/R GRD2MSC (argument igrd) in update_earth_exports.F
16        update results of exp. fizhi-cs-32x32x40 (fail with only 6 digits for cg2d)
17      - by default, use new version of S/R GETPWHERE (#define TRY_NEW_GETPWHERE);
18        fix few out-of-bounds indices in referencing vars (initialise igrd to 1);
19        clean-up fizhi_turb.F (remove unused & uninitialised qdiaglsm array).
20    o pkg/gmredi:
21      - add diagnostic of Redi (main diagnonal) vertical diffusive flux of Temp
22    o pkg/fizhi:
23      - fix few initialisation and multi-tile Pb: aqualev & gridalt now pass the
24        (old)aces open64 tuv test.
25    o pkg/icefront: fix bug and reorder loop in icefront_init_varia.F
26    o pkg/mom_vecinv:
27      - fix 1 loop range in mom_vecinv.F to be like all the other loops which
28        set/update gu,gv/Diss (fix Pb of uninitialised fVerUkp in admom_vecinv
29        with non-lin free-surf).
30    o model/src: move k-loop outside of i/j-loops when (re-)computing R_low
31      in ini/update_masks_etc.F in order to avoid -O3 optimization problems with
32      some compilers (gfortran 4.6.0 on MacOS)
33    o momentum:
34      - separate fVer?(:,:,kUp) & fVer?(:,:,kDown) in argument list of MOM_FLUXFORM
35        & MOM_VECINV subroutines (to help TAF). This fixes Pb of uninitialised
36        fVer?(kUp) in admom_fluxform with non-lin free-surf or bottom control.
37    
38    checkpoint63k (2012/03/17)
39    o model/src:
40       - selectAddFluid (ALLOW_ADDFLUID): add missing term in horizontal momentum
41         flux-form (mom_fluxform.F) and vertical momentum (calc_gw.F) equations.
42       - SOLVE_DIAGONAL: switch default to use adjoinable & vectorized version
43         (#undef SOLVE_DIAGONAL_LOWMEMORY); update output of exp. front_relax.bvp.
44    o model/src: solve_*diagonal.F
45       - replace division with multiplication by inverse (similar to original version)
46         update output of AD exp. global_ocean.90x40x15.
47       - fix pkg/gmredi/gmredi_calc_psi_bvp.F & pkg/ggl90/ggl90_calc.F
48         to enable the use of the vectorized & differentiable solve_tridiagonal.F
49       - test exp. global_ocean.90x40x15/input_ad: switch to advection scheme 20 for
50         vertical advection (to get solve_tridiagonal tested in AD mode).
51    o pkg/seaice: ECCO-CLIVAR merge:
52      1. seaice AREA relaxation
53         * CPP option: SEAICE_ALLOW_AREA_RELAXATION
54         * runtime flag: SEAICE_tauAreaObsRelax
55      2. modified global mean cost imbalance code: CPP option
56          ALLOW_SSH_GLOBMEAN_COST_CONTRIBUTION
57    o another iteration on solve_*diagonal.F
58       Make choices independent of AUTODIFF
59       Default will be the adjoinable vectorized version.
60       Alternative choices are:
61       * non-adjoinable original version with low memory footprint:
62         #define SOLVE_DIAGONAL_LOWMEMORY
63       * still adjoinable but does not vectorize (k as inner-most loop):
64         #define SOLVE_DIAGONAL_KINNER (keeping SOLVE_DIAGONAL_LOWMEMORY undef)
65    o testreport
66     - add option to use a home made wrapper around "make"
67     - remove MITGCM_IEEE env. variable (no longer active)
68    o pkg/shelfice
69     - improve computation of friction velocity for velocity dependent
70       exchange coefficients: include velocities into SHELFICEBoundaryLayer
71       block to average velocities vertically
72     - add TAF store directives for SHI_ALLOW_GAMMAFRICT
73    o Modify diagonal solvers, now three versions (upon request):
74      #ifndef SOLVE_DIAGONAL_AUTODIFF
75        1. default version (dating back a while ago)
76      #else /* def SOLVE_DIAGONAL_AUTODIFF */
77      # ifdef SOLVE_DIAGONAL_KINNER
78        2. adjoinable version with k-innermost loop (G. Forget)
79      # else
80        3. adjoinable vectorized version of 2.
81      # endif
82      #endif /* SOLVE_DIAGONAL_AUTODIFF */
83      All flags are currently set within routines, but could/should be moved to CPP-options.
84      Array bounds for 1. are as before, for 2.,3. cover the entire domain
85      (could be changed for 1. too).
86    o verification/lab_sea (fwd):
87      - update the 4 fwd lab_sea test experiment: no longer SEAICE_GROWTH_LEGACY,
88        use 7 categories (except hb87), new solve4temp params (except salt_plume),
89        constant salinity (=4) or variable salinity (salt_plume) done through
90        SItracer.
91    o pkg/seaice:
92      - rename parameters: SIsalFrac to SEAICE_saltFrac & SIsal0 to SEAICE_salt0;
93      - remove old parameters ( SEAICE_freeze, SEAICEturbFluxFormula, SEAICE_gamma_t,
94         SEAICE_gamma_t_frz, SEAICE_availHeatTaper & SEAICE_availHeatFracFrz)
95        from SEAICE_PARMS.h ; still need to fix seaice_cost_sst.F (broken when
96        SEAICE_freeze got retired) but already better than previously with
97        SEAICE_freeze=123456.7 deg.C;
98      - move setting of facOpenGrow/Melt from SEAICE_INIT_FIXED to SEAICE_READPARMS
99        (safer multi-threaded setting); always set SEAICEuseEVP;
100      - setting of ocean-ice turb. flux coeff: moved from SEAICE_CHECK to
101        SEAICE_READPARMS & SEAICE_INIT_FIXED (this fixes wrong summary report);
102        stop if multiple specifications for the same coeff; make sure default
103        SEAICE_mcPheePiston is compatible with drF(1) & deltaT.
104    o pkg/obcs:
105      - allow to switch to upwind 1rst order advection scheme for the advective
106        flux computation at the open-boundary; disabled for adjoint built.
107    o pkg/ptracers:
108      - rename PTRACERS_RESTART.h -> PTRACERS_START.h
109      - rename ptracers_fields_blocking_exchanges.F -> ptracers_fields_blocking_exch.F
110      - add parameter to decide when to start a tracer; use internal flag to
111        know which tracer to step-forward; switch this internal flag at the top
112        of forward_step.F (new S/R PTRACERS_SWITCH_ONOFF); for now, not enabled
113        for adjoint built.
114    o pkg/seaice:
115      - add SEAICE_SIZE.h anywhere in the code where SEAICE.h is included ;
116      - move MULTDIM declaration and setting from SEAICE.h to SEAICE_SIZE.h ;
117      - keep experiment offline_exf_seaice truly single category (set MULTDIM=1).
118    o pkg/ecco:
119      - fix writing of output file DiagnosCost_ClimSalt/Theta
120        and DiagnosCost_DriftSalt/Theta (if multi-tiles per proc).
121    o pkg/seaice:
122      - add missing initialisation of COR_ICE array in dynsolver.F
123      - merging SEAICE_MULTICATEGORY define and undef cases. Now the same code is
124        compiled either way, and is tested in all exps (multidim was only tested
125        in lab_sea ad before).
126      - cosmetic change to prepare for future addition of ITD. no change to results.
127        no defaults change.
128      - added run time param SEAICE_multDim (7 for SEAICE_MULTICATEGORY, 1 otherwise).
129      - by lack of adequate verification experiments, I further used custom versions
130        of global_ocean.cs32x15 to test multicat or not, with pickup or not. All
131        should be correct.
132      - avoid recomputations in ad.
133    o array initialisation in adjoint mode:
134      1) pkg/mom_common/mom_calc_ke.F:
135        add full array initialisation of KE inside mom_calc_ke.F (ALLOW_AUTODIFF_TAMC):
136        The S/R which calls MOM_CALC_KE initialises KE but in some recomputation
137        part this initialisation is gone, resulting in Floating Point Exception
138        (caught by open64 compiler with debug option).
139      2) model/src/convective_weights.F
140        set output convectCount over the full array range (instead of doing
141        an update): this fix a similar issue when called within recomputation (adjoint)
142        which could by-pass the initialisation (normally done in the caller S/R).
143    o pkg/seaice:
144      - final version of turbulent flux params, as agreed at MIT ice meet:
145           SEAICE_mcPheePiston (default is ~ 0.000875)
146           SEAICE_mcPheeTaper (default is 0.)
147           SEAICE_frazilFrac (defualt is 1.)
148           SEAICE_mcPheeStepFunc (default is false)
149      - changes results at trunction error level
150      - ifdef SEAICE_EXTERNAL_FLUXES, disallow SEAICE_waterAlbedo
151    o added pkg/frazil:
152      - see frazil_description.tex for details
153      - verification experiment is global_with_exf/input.yearly; changes output.yearly.txt
154    o pkg/shelfice/shelfice_thermodynamics.F
155      - fix exponents for velocity dependent exchange coefficients: change
156        from 2/3(=0) to 0.66666666666666667
157      - move computation of velocity dependent exchange coefficients into
158        separate loop, so that it applies to both thermodynamics
159      - move some divisions by constants out of loops
160    
161    checkpoint63j (2012/02/16)
162    o pkg/seaice:
163      - overhaul of seaice_summary.F after feb 2012 clean-up of seaice_growth.F etc.
164      - SItracer:  added run time params, and allow coupling to ocn salinity.
165    o pkg/seaice: remove (almost) all divisions by constants within loops
166      in seaice_growth.F and seaice_solve4temp.F, this changes (only) the cg2d
167      results of global_ocean.cs32x15.seaice from 16 to 11 digits (but only
168      those, caused by 1/QI -> recip_QI) -> update output.seaice.txt,
169      output_adm.seaice_dynmix.txt and also lab_sea: output_adm.evp.txt
170    o pkg/seaice :
171      - simplify McPhee tapering, and allow to use it with SEAICEturbFluxFormula
172        = 1 or 2, using newly added run time parameter SEAICE_availHeatTaper.
173      - fix d_AREAbyATM, d_AREAbyOCN, d_AREAbyICE diags I broke in r1.148.
174      - add permanent SItflux diag that corresponds to TFLUX but includes
175        ice+snow. Hence SItflux-TFLUX should match the ice+snow heat budget.
176      - allow activation/testing of a fix for suspected missing term in
177        ocn-ice heat budget (to be confirmed). To test this, you want to
178        undef SEAICE_DISABLE_HEATCONSFIX, and then set the run time param
179        SEAICEheatConsFix to .TRUE. that also allows the 'SIaaflux' diagnostic.
180      - no change in results, fwd or ad.
181    o global_ocean.cs32x15/results: 3 changes following from the pkg/seaice commit below:
182      - switch to variable freezing point.
183           Results change : cg2d -> 1 digits; ad -> 3-6-6 digits.
184      - bug fix : the sublimation term that was missing is now activated.
185           Results change : cg2d -> 2 digits; ad -> 8-6-6 digits.
186      - bug fix : flooding sign term for SIsal0.NE.0.
187           Result change : cg2d -> 8 digits; ad -> 11-12-9 digits.
188    o pkg/seaice:
189      - unified freezing point treatment : the old SEAICE_VARIABLE_FREEZING_POINT
190        is now the default, and the old default constant freezing point is recovered
191        with SEAICE_tempFrz0    = -1.96,
192             SEAICE_dTempFrz_dS = 0.,
193      - retire SEAICE_freeze (= the old way of specifycing the constant freezing point)
194      - remove ALLOW_SEAICE_FLOODING brackets; run time switch is already there.
195      - bug fix (thanks to M. Losch) : the sublimation term that was missing is now
196        activated. To reproduce old results with this bug define SEAICE_DISABLE_SUBLIM.
197      - bug fix (silly me) : flooding sign term (seaice_growth.F r 1.149line 1211)
198        was wrong for SIsal0.NE.0. Changes cs32x15 results (see above item for detail).
199      - bug fix (thanks to O. Jahn) : area loss for melting  got messed up in
200        seaice_growth r149 for legacy branch (no results change).
201      - introduce SEAICE_CAP_SUBLIM : caps sublimation heat flux in solve4temp (code
202        from I. Fenty).
203      - results did not change except for global_ocean.cs32x15, mostly due to the
204        switch to variable freezing point (see above item for detail).
205    o pkg/thsice:
206      - fix and simplify interface to salt_plume pkg ; diagnose directly amount of
207        seawater freezing in thsice_calc_thickn (not used).
208    o pkg/seaice: turbulent flux term specification via run time params.
209      - replace CPP switches with run time switches to facilitate testing
210      - retired CPPs : MCPHEE_OCEAN_ICE_HEAT_FLUX,
211                       GRADIENT_MIXED_LAYER_TURBULENCE_FACTOR
212      - added runtime parameter : SEAICEturbFluxFormula
213      - move Mcphee constants to SEAICE_PARAMS.h
214      - seaice_readparms.F : read turbulent flux term params (SEAICEturbFluxFormula;
215                 SEAICE_availHeatFrac/Frz, or SEAICE_gamma_t/_frz if apply);
216                 remove seaice_summary call (moved to seaice_init_fixed)
217      - seaice_init_fixed.F : set SEAICE_availHeatFrac/Frz depending on
218        SEAICEturbFluxFormula, and seaice_summary call (moved from seaice_readparms)
219      - seaice_summary.F : add missing report of read turbulent flux term set up
220                           and SITRACER.
221      - seaice_check.F : check range; inform and stop if retired CPPs are used
222                         (incl. SEAICE_AGE).
223      - seaice_growth.F : unified use of SEAICE_availHeatFrac/Frz, without
224             CPP switch, same computation as before for the different options.
225      - change results at the truncation level.
226    o pkg/seaice:
227      - remove un-used parameters LAD & MAX_TICE ; add new run-time parameters:
228        useMaykutSatVapPoly (default=F), postSolvTempIter (default=2) and
229        SEAICE_wetAlbTemp (default=-1e-3). Remove option SEAICE_SOLVE4TEMP_LEGACY.
230      - update verification/*/input*/data.seaice:
231        to reproduce previous results with former #defined SEAICE_SOLVE4TEMP_LEGACY
232        code, set useMaykutSatVapPoly=T & postSolvTempIter=0 ;
233        and to reproduce previous results with former non-SOLVE4TEMP_LEGACY code,
234        set SEAICE_wetAlbTemp=0 & SEAICE_snowThick=0.
235    o pkg/seaice/seaice_solve4temp.F (SOLVE4TEMP_LEGACY):
236      - remove LEGACY code for solving for tsurf (A1,A2,A3) but maintain the same
237        algorithm (same choice: useMaykutPolySatVap=T, postSolvTempIter=0);
238        difference in results only due to machine truncation.
239      - remove MAX_TICE (tsurf is always =< TMELT anyway); keep MIN_TICE if using
240        MaykutPolySatVap; keep MIN_LWDOWN.
241      - adapt SEAICE_MODIFY_GROWTH_ADJ code (untested) to non-legacy formulation.
242      - update output of verification exp. lab_sea (4 fwd: 11 cg2d digits except hb87,
243        + 3 AD: 6 digits except evp) and offline_exf_seaice.seaice (12 digits).
244    o pkg/salt_plume:
245      - isolate saltPlumeFlux array exch into a specific S/R called from
246        do_oceanic_phys.F
247      - add interface to pkg/salt_plume (filling of saltPlumeFlux) in pkg/thsice.
248    o verification:
249      - move untested set-up to MITgcm_contrib/verification_other.
250    o pkg/seaice:
251      - retire old way of SEAICE_AGE. Now replaced with ALLOW_SITRACER.
252    o pkg/seaice:
253      - seaice_solve4temp.F (keeping results unchanged):
254        * add 2 future run-time params to select which saturation vapor pressure
255          formula is used and how post-iteration fluxes are set.
256          Temporary set these 2 params according to option SOLVE4TEMP_LEGACY;
257        * New piece of code (not used) to update surf. atmos. heat flux F_ia using
258          the linearized expression to stay consistent with tsurf finding.
259      - seaice_freedrift.F avoid floating exception in sqrt(y) since y=sqrt(x*x)-x
260        can be < 0.
261    o pkg/seaice/seaice_solve4temp.F (SOLVE4TEMP_LEGACY undef):
262      - remove from F_ia (and from it's derivative dFiDTs1) the contribution of
263        conductive heat flux F_c , and add it explicitly when updating tsurf as
264        solution of: Fc = Fia + d/dT(Fia - Fc) *delta.tsurf
265        so that now F_ia has a consistent meaning through the entire routine.
266        This causes differences at truncation level: update output of fwd exp.
267        global_ocean.cs32x15.seaice.
268    o pkg/seaice:
269      - lots of editing/cleaning in seaice_solve4temp.F + better documentation
270        of arrays, sign/direction of fluxes; no effect on results.
271      - replace hard coded 273.16 (=previous value of celsius2K) by celsius2K
272        in seaice_budget_ocean.F & seaice_solve4temp.F (SOLVE4TEMP_LEGACY part);
273        note: this should have been done before changing celsius2K default.
274      - to keep results unchanged, add back old value of celsius2K in verification
275        exp. input*/data : lab_sea (AD), offline_exf_seaice (fwd+AD) & seaice_obcs
276      - replace hard coded seawater freezing temp in seaice_solve4temp.F (part
277        SOLVE4TEMP_LEGACY) of 271.20 (=previous value of celsius2K + default
278        value of SEAICE_freeze) by celsius2K+SEAICE_freeze so that seawater
279        freezing temp is consistent with value in seaice_growth.F ; this causes
280        differences at machine truncation level: update lab_sea AD output (3/4).
281    o pkg/seaice:
282      - mask (in exf_init_fixed.F) atemp,aqh,evap,precip,runoff,lwflx,areamask
283        and climsst/sss even when using seaice (to prevent calculation that might
284        use SST on land); does not affect any verification exp.
285      - apply mask to taux,tauy (in seaice_get_dynforcing.F); update output
286        of lab_sea.fd & lab_sea.hb87 and global_ocean.cs32x15.seaice_dynmix.
287    o pkg/seaice/seaice_growth.F: add mask to avoid non-zero ice thickness
288      over land (non-legacy code)
289    o vectorize salt_plume package:
290      - add extra code to salt_plume_frac and salt_plume_tendency_apply_s
291      - this code computes plumebk everywhere (also over land), thus requires
292        code to avoid divisions by zero and catch the case of kLev=Nr.
293      - efficiency of salt_plume_frac is still sub-optimal
294    o tools (genmake2):
295      - fix makefile NAME specification (option: -makefile NAME) by adding
296        "-f $MAKEFILE" in few places where it was missing including makedepend
297        command (contribution from Paul).
298    
299    checkpoint63i (2012/01/24)
300    o model/src:
301      - add factorized versions of some EOS code to find_rho.F,
302        define USE_FACTORIZED_EOS to turn it on (default for TARGET_NEC_SX)
303    o model/src:
304      - add celsius2K to namelist PARM01; remove unused recip_rhoNil from PARAMS.h;
305      - change default celsius2K from 273.16 to 273.15
306      - to keep results unchanged, add back old value of celsius2K in verification
307        exp. input*/data : aim.5l_cs, 1D_ocean_ice_column, lab_sea (fwd),
308         global_ocean.cs32x15(seaice) & cpl_aim+ocn(input_atm).
309    o model/src: add a little initialisation trick to find_rho.F and find_alpha.F
310      to make TAF generate vectorizable code
311    o pkg/seaice/seaice_evp.F: add code (copied from CICE) that avoids underflows.
312       Turn on by defining SEAICE_EVP_ELIMINATE_UNDERFLOWS. Most compilers
313       have flags that do this more efficiently.
314    o pkg/diagnostics/diagstats_calc.F
315      - for TARGET_NEC_SX fix the treatment of the scaling factor tmpFac=scaleFact
316    o pkg/obcs (with exch2):
317      - derive OB indices in overlap region from OB-InsideMask (in obcs_init_fixed.F)
318        and remove code (in obcs_readparms.F) which was based on EXCH of indices
319        (through buffer) and did not account for exch2 (e.g., CS-grid) topology.
320    o pkg/exf and seaice exp:
321      - change offline_exf_seaice.seaicetd test exp. to use default DIFF1 value (=0)
322        so that switching off area & heff advection flags does not affect results.
323      - change default EXF_LWDOWN_WITH_EMISSIVITY to #define in EXF_OPTIONS.h
324      - keep exp. seaice_obcs & 1D_ocean_ice_column(ad) unchanged (using #undef
325        EXF_LWDOWN_WITH_EMISSIVITY) and, using pkg/exf default emissivities, update
326        results of verification experiments: 1D_ocean_ice_column(fwd),
327        global_ocean.cs32x15.seaice(fwd+ad) & seaice_dynmix(ad), lab_sea (all 8)
328        and offline_exf_seaice (all 4).
329    o pkg/seaice:
330      - remove array YNEG, RIVER, TMIX (replaced by local var) from common block;
331        remove also areaNm1 & hEffNm1 when SEAICE_GROWTH_LEGACY is undef.
332      - fix bug: areaNm1 & hEffNm1 are needed in seaice_growth (SEAICE_GROWTH_LEGACY)
333        but were not filled when resp. SEAICEadvArea=F & SEAICEadvHeff=F and
334        not multi-dim advection;
335      - fix seaice_growth.F to compile with both SEAICE_GROWTH_LEGACY and
336        SHORTWAVE_HEATING #undef.
337    o optim: make Makefile more robust (?)
338    o pkg/obcs:
339      * fix treatment of obcs_read_pickup for TAF
340    o pkg/shelfice:
341      * add missing initialisation of num_shifwflx
342      * new adjoint verification exp. for isomip
343      * change Prandtl and Schmidt numbers from generic formulations
344        (in terms of model diffus. and visc.) to separate runtime
345        parameters, with Holland and Jenkins (1999) default values.
346    o pkg/exf (interpolation):
347      - extended input field (2 rows) near the N & S poles:
348        * fill in with the symetric value (when even Nb of data in longitude)
349        * add average value at the poles only for scalar quantities ; for vector
350          component interpolation, skip the averaging and keep duplicated values,
351          unless the 2 components have same location (uvInterp=T) in which case
352          interpolate the 2 components together using S/R EXF_INTERP_UV.
353      - new S/R EXF_INTERP_UV to interpolate the 2 components of a vector field
354        together: this allows to account properly for local orientation when
355        averaging at N & S pole.
356      - add CPP option EXF_USE_OLD_INTERP_POLE to recover old results regarding
357        exf-interpolation near N & S poles. Undef by default.
358      - add debug check/print on 1rst iter if debugLevel >=2.
359    o pkg/exf:
360      - change masking flags definition (no longer "parameter"), put them in
361        common block and set them in S/R EXF_INIT_FIXED.
362      - change recognized masking flag from s,u,v to c,w,s since the mask
363        to use (maskC,W,S) depends on position on model grid and has little to
364        do with scalar/vector difference; fix masking if using P-coordinates.
365      - fix masking of wind-stress (was wrong if interpolated or read on A-grid)
366        and update results of exp. global_with_exf (x2).
367      - fix setting of zenith-angle table when SHORTWAVE_HEATING is undef.
368    o pkg/obcs
369      - S/R obcs_calc_stevens: fix a small bug (gammat -> gammas where appropriate)
370    o pkg/exf (interpolation):
371      - assume periodicity in X only if input field cover full longitude range.
372      - improve search for lat. index (supposed to be faster, in ~log2(ny) steps,
373        and should vectorise).
374      - fix input lat of the 2 added row (in case we provide N.pole data).
375    
376    checkpoint63h (2011/12/30)
377    o pkg/seaice:
378      - change declaration of UVM from _RL to _RS in order to get B-grid
379        uIce,vIce monitor when _RS = real*4
380    o pkg/offline:
381      - new S/R OFFLINE_RESET_PARMS for resetting main-model params (switch off flags);
382      - compute vertical velocity if not read from file (switch on exactConserv
383        & staggerTimeStep);
384      - fix output of ptracer monitor iter & time for default PTRACERS_monitorFreq.
385    o verification:
386      - update grid-files (in tutorial_held_suarez_cs/input and fizhi-cs-32x32x40/input)
387        with grid-angle generated using "utils/matlab/cs_grid/cubeCalcAngle.m":
388        fix Pb in yG definition @ 2 missing corners (previously yG was averaged);
389      - update output of exp. global_ocean.cs32x15.viscA4 after changing
390        grid-file angles (used here for coriolis-3d);
391      - remove (or gzip) few files not needed to run fizhi-cs experiments.
392    o pkg/exf (vector interpolation):
393      - rotate vector component toward local grid-axis orientation using grid-angles
394        (stored in GRID.h) instead of locally computed rotation angle; keep old code
395        available with exf option EXF_USE_OLD_VEC_ROTATION (undef by default).
396    o pkg/seaice:
397      - allow to compile with exf options ALLOW_ATM_TEMP or ALLOW_DOWNWARD_RADIATION
398        undefined. Fix and remove the stop when ALLOW_RUNOFF is undefined.
399    o pkg/PKG_OPTIONS.h files:
400      - move #include "CPP_OPTIONS.h" just after #include "PACKAGES_CONFIG.h",
401        outside of the #ifdef ALLOW_THISPKG / #endif block.
402      - update verification/*/code/PKG_OPTIONS.h files.
403    o add a verification experiment (offline_exf_seaice/input.seaice) that test
404      the B-grid LSOR solver
405    o pkg/seaice: sort out emissivity and long wave radiation step 2:
406      - add emissivity for snow and ice as new run-time parameters
407        (unfortunately) that default to the corresponding exf values; this
408        changes results in most verification experiments so that for backward
409        compatibility these parameter have to be set explicitly to inconsistent
410        values (ugly);
411      - the exf-flag EXF_LWDOWN_WITH_EMISSIVITY then gets rid off the hard-wired
412        emissivities of 0.97 associated with lwdownloc in S/R seaice_solve4temp
413        until we agree how to handle this bug properly
414    o pkg/exf (interpolation):
415      - add a set of run-time param ({inputfield}_interpMethod), one for
416        each interpolated input field, to select the interpolation method
417        with a value of zero switching off the interpolation;
418      - print interpolation parameters to standard output;
419      - refine exf_check.F accordingly ; stop if USE_NO_INTERP_RUNOFF is defined
420        (to use instead runoff_interpMethod=0 in data.exf).
421      - simplify default setting of interpolation parameters (for all fields,
422        set position to match model grid cell-center position, leading to trivial
423        interpolation in case of regular Lat-Lon grid) and fix for the case of
424        non-uniform delY.
425    o pkg/exf/exf_radiation.F: add the factor ocean_emissivity to lwdown, for
426     within #ifdef EXF_LWDOWN_WITH_EMISSIVITY/#endif. Unless ocean_emissivity=1.     within #ifdef EXF_LWDOWN_WITH_EMISSIVITY/#endif. Unless ocean_emissivity=1.
427     this factor is absolutely required, because the lw exitance (= out-going     this factor is absolutely required, because the lw exitance (= out-going
428     long wave radiation) is emissivity*stefanBoltzmann*T^4 + rho*lwdown,     long wave radiation) is emissivity*stefanBoltzmann*T^4 + rho*lwdown,
429     where the reflectivity rho = 1-emissivity for conservation reasons. Once     where the reflectivity rho = 1-emissivity for conservation reasons. Once
430     this is established, we can remove the CPP-Flag (if we want to).     this is established, we can remove the CPP-Flag (if we want to).
431  o pkg/seaice:  o pkg/seaice:
432    - qualify a stop statement in S/R seaice_check: EXF_READ_EVAP and    - qualify a stop statement in S/R seaice_check: EXF_READ_EVAP and
433      ALLOW_BULKFORMULAE are only required if SEAICE_EXTERNAL_FLUXES is defined      ALLOW_BULKFORMULAE are only required if SEAICE_EXTERNAL_FLUXES is defined
434    - sort out emissivity and long wave radiation, step 1: make SEAICE_emissivity    - sort out emissivity and long wave radiation, step 1: make SEAICE_emissivity
435      what the name implies (and not emissivity*BoltzmannConstant), this means      what the name implies (and not emissivity*BoltzmannConstant), this means
436      the old default value of 5.5e-8 now means      the old default value of 5.5e-8 now means
437      5.5e-8/5.670e-8 = 0.97001763668430343479 as ocean_emissivity in      5.5e-8/5.670e-8 = 0.97001763668430343479 as ocean_emissivity in
438      S/R exf_readparms      S/R exf_readparms
439    - FV-discretization of the B-grid LSOR solver, turn on with    - FV-discretization of the B-grid LSOR solver, turn on with
440      SEAICE_LSRBNEW. This new solver also involves a slight re-organization      SEAICE_LSRBNEW. This new solver also involves a slight re-organization
# Line 40  o pkg/seaice/seaice_growth.F: Line 458  o pkg/seaice/seaice_growth.F:
458  o pkg/seaice/seaice_model.F:  o pkg/seaice/seaice_model.F:
459    Remove this patholigical case treatment in evolution branch,    Remove this patholigical case treatment in evolution branch,
460    where it is un-necessary and breaks conservation.    where it is un-necessary and breaks conservation.
461    Update global_ocean.cs32x15/results accordingly for    Update global_ocean.cs32x15/results accordingly for
462    output.seaice.txt output_adm.seaice.txt and output_adm.seaice_dynmix.txt    output.seaice.txt output_adm.seaice.txt and output_adm.seaice_dynmix.txt
463  o model/src:  o model/src:
464    useRealFreshWaterFlux: remove masking of EmPmP (using maskInC) in    useRealFreshWaterFlux: remove masking of EmPmP (using maskInC) in
465    external_forcing_surf.F and apply mask directly in S/R SOLVE_FOR_PRESSURE.    external_forcing_surf.F and apply mask directly in S/R SOLVE_FOR_PRESSURE.

Legend:
Removed from v.1.1556  
changed lines
  Added in v.1.1634

  ViewVC Help
Powered by ViewVC 1.1.22