Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint65q: | (view) (download) (annotate) |
Sticky Tag: |
remove parameter MULTDIM, replace with nITD and runtime parameter SEAICE_multDim (still hard-wired to nITD if SEAICE_ITD is defined)
use specific pkg/rw S/R to read/write single level of multiple level array.
- remove TICE as a global variable and replace by a local variable tIce to handle the various restart options for SItices and SItice
- rename recently introduced parameters from (wrong name) AB to BDF (backward difference time discretisation) - retire runtime parameters SEAICEuseAB2, SEAICE_abEps The scheme is still experimental and does not work to my satisfaction, but at least the name is not approprate
add Adams-Bashforth2 time discretization for ice dynamics; so far only for JFNK-solver - requires an additional time level that is stored in the pickup - you can start with AB2 from a pickup without this time level with pickupStrictlyMatch = .false.
move all the ITD bits in one specific block (simpler); this also fixes the ITD pickup
correcting bug with nj counters in ITD case
- add missing value argument to S/R MDS_WR_METAFILES argument list
Step 1 of merging ice-thickness distribution (ITD) code from MITgcm_contrib/torge/itd/code/ to main repository (author: Torge Martin)
- merging SEAICE_MULTICATEGORY define and undef cases. Now the same code is compiled either way, and is tested in all exps (multidim was only tested in lab_sea ad before). - cosmetic change to prepare for future addition of ITD. no change to results. no defaults change. - by lack of adequate verification experiments, I further used custom versions of global_ocean.cs32x15 to test multicat or not, with pickup or not. All should be correct. - details : - added SEAICE_multDim run time param to be able to switch from single to multi cat. - "ifdef SEAICE_MULTICATEGORY" switches are replaced with "IF (SEAICE_multDim.GT.1) THEN". - "DO IT=1,MULTDIM" is replaced with "DO IT=1,SEAICE_multDim" in seaice_growth.F. For pickups and initializations I kept full loops (did not want to mess with the somewhat funky TICE/TICES pickup logic). - homogeneize seaice_growth names (heffActualP->heffActualMult and latentHeatFluxMaxP->latentHeatFluxMaxMult). - in growth, add extra MULTDIM dimension in all relevant local fields (needed to simplify logic, and get taf to behave). - clean-up growth/solve4temp interface by adding ticeInMult (TSURFin entering solve4etmp) and ticeOutMult (TSURFout leaving solve4temp). update seaice_solve4temp accordingly. - avoid recomputations (added store directives and clear logic of solve4temp input/output).
- simple propagation of SItrNumInUse.
- removal of the old way of seaice age tracer, which is now replaced by particular cases of SITRACER. - retired params : SEAICEadvAge, SEAICEadvSchAge, SEAICEdiffKhAge, IceAgeTrFile. - added to SITRACER : IceAgeTrFile, check pickups, monitor, output.
Merge SItracer fields into single pickup.
2nd fix (another one to come ;)
Start fixing...
Simple code for pickup of SItracer fields (#define ALLOW_SITRACER) To be done: * thorough testing of missing fields in S/R seaice_read_pickup * thorough matching between generic tracers and specific fields used (e.g. volume-weighted age, area-weighted age, salinity, ...)
in MDS_WR_METAFILES calls, replace "myTime" by a local copy into array of length 1 (was caught by compiler syntax-check).
Renaming of compile time flag SEAICE_SALINITY to SEAICE_VARIABLE_SALINITY and SEAICE_salinity to SIsalFRAC. Added logical checks for the use of the retired variable names in seaice_readparms and seaice_check. ---------------------------------------------------------------------- Modified Files: pkg/autodiff/autodiff_restore.F pkg/autodiff/autodiff_store.F pkg/obcs/obcs_apply_seaice.F pkg/seaice/SEAICE.h pkg/seaice/SEAICE_OPTIONS.h pkg/seaice/SEAICE_PARAMS.h pkg/seaice/seaice_ad_check_lev1_dir.h pkg/seaice/seaice_advdiff.F pkg/seaice/seaice_check.F pkg/seaice/seaice_diagnostics_state.F pkg/seaice/seaice_growth.F pkg/seaice/seaice_init_varia.F pkg/seaice/seaice_model.F pkg/seaice/seaice_monitor.F pkg/seaice/seaice_output.F pkg/seaice/seaice_read_pickup.F pkg/seaice/seaice_readparms.F pkg/seaice/seaice_write_pickup.F ----------------------------------------------------------------------
avoid un-used variables (placed within proper #ifdef)
Start a seaice tracer-like code but for now confinded to ice age
third and step of replacing 3D versions of UICE,VICE,HEFF,AREA by 2D versions. Keep your fingers crossed.
added sea ice age tracer; #define SEAICE_AGE in SEAICE_PARAMS.h
new version of seaice read/write pickup: Only write/read fields needed for a restart.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.22 |