Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint65b: | (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)
Remove ifdef
Move some field inits from _fixed to _varia
remove tIce, needs no initialisation
make fw2ObyRidge a global variable
call seaice_itd_redist once in the initialisation phase to have the initial conditions in the correct category
add opnWtrFrac as a global variable (required for ridging scheme) and advect it like AREA
use the right type of S/R (SEAICE_MAP_RS2VEC instead of SEAICE_MAP2VEC) when mapping _RS arrays to _RL vector.
- remove legacy branch code. - retire SEAICE_GROWTH_LEGACY and SEAICE_CAP_HEFF accordingly.
- add a metric based on grid cell area to SEAICE_SCALPROD
initialise etaZ
Add averaging variable
Step 1 of merging ice-thickness distribution (ITD) code from MITgcm_contrib/torge/itd/code/ to main repository (author: Torge Martin)
- simplify (?) ocean-drag coefficent computations by using the same routine in all three solvers (saves some code lines) - remove global fields DRAGA and DRAGS from C-grid code and declare them locally in lsr.F (the only place where they are still used)
use new parameter OB_indexNone for null index value (instead of hard-coded 0)
Merging JPLs o seaice AREA relaxation code o modified global mean cost imbalance code
rename parameters: SIsalFrac to SEAICE_saltFrac & SIsal0 to SEAICE_salt0
- 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).
- 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.
- remove YNEG, RIVER, TMIX from common block; - remove also areaNm1 & hEffNm1 when SEAICE_GROWTH_LEGACY is undef
change declaration of UVM from _RL to _RS
- undo resetting UVM=0 that has slipped in unnoticed in r1.49 and caused zero ice-velocities for the B-grid code
More prepares.
Add some basic init.s to break TAF dependencies.
- remove B-grid & useCubedSphereExchange code; - OBCS: only change seaiceMaskU,V when OBCS_UVICE_OLD is defined
allow to specify initial seaice velocity from files (uIceFile,vIceFile)
- seaice_tracer_phys.F and seaice_advdiff.F do ice cover tracers, in addition to ice volume tracers. - seaice_readparms.F add SItrMate ('HEFF' or 'AREA') in PARAMS03 to switch from ice volume tracer (defualt) to ice cover tracer - seaice_growth.F use areaMax in AREA update (part 4), consistent with ridging step (part 2.5). store AREA in SItrAREA at the ridging and update steps (for use with SItracer).
- introducing ALLOW_SITRACER and seaice_tracer_phys.F to handle generic seaice tracer. For now it covers, and was tested for, salinity and age (work in progress). - introducing siEps (1e-5, parameter, defined in SEAICE_PARAMS.h).
refine debugLevel criteria when printing messages
comment out calls to S/R OBCS_COPY_TRACER (no longer needed with the the use of interior mask in advect & diffusion S/R)
split "OBCS.h" into 4 separated header files (OBCS_PARAMS,GRID,FIELDS,SEAICE)
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
undoing 1.50 to 1.51 modification
call OBCS_COPY_TRACER for advected seaice variable (AREA, HEFF, HSNOW, HSALT and ICEAGE) (should fix Pb when using high-order scheme with OB near tile edge)
For OBCS, close southern and western boundaries for sea ice solver based on myYGlobalLo and myXGlobalLo instead of OB_Js and OB_Iw.
- rename: SEAICE_DIAGS.h --> SEAICE_TAVE.h - use simpler (no level index) cumulative-time counter: SEAICE_timeAve(bi,bj) - cumulate fields only if doing time-ave output (SEAICE_taveFreq > 0)
o Adding I. Fenty seaice cost extensions (after minor cleanup) - smrsst, smrsss - based on modified seaice_cost_driver (not yet checked into CVS) - new runtime "clamp" parameters SEAICE_clamp_salt, SEAICE_clamp_theta o Adjust a few seaice STORE directives (following some recent modifs).
make maximum zeta a runtime parameter
add missing "_d 0" in HSNOW initialisation
add bj in exch2 arrays and S/R
Changed initialisation and re-initialisations of seaiceMaskU/V
cosmetic change: replace uVel(i,j,1,bi,bj) with uVel(i,j,kSrf,bi,bj) etc.
third and step of replacing 3D versions of UICE,VICE,HEFF,AREA by 2D versions. Keep your fingers crossed.
first steps in cleaning up the 3-time levels of UICE,VICE,HEFF,AREA: 1. introduce fields for time step (N-1 = *Nm1) 2. do not use levels 2 and 3 anymore (but they are still around) these changes probably break the adjoint, but the pickup is still working, so I am stopping now to give P. a chance to fix the adjoint if necessary and then I will get rid of the 3D fields altogether carefully taking into account the pickup (not clear how).
o adding JM's doc/diags_changes.txt: a very useful summary that I refer to all the time o adding pkg/seaice diagnostics for atmospheric and oceanic heat flux and for atmospheric and oceanic ice growth
- move initialization of grid variables from init_varia and init_fixed where possible
Adding stressDivergenceX/Y to store.
new header file "W2_EXCH2_SIZE.h" coming with new W2-Exch2 topology code
change macros (EXCH & GLOBAL_SUM/MAX) sufix _R4/_R8 to _RS/_RL when applied to _RS/_RL variable
forgot a few instances of 330., when replace this number by a runtime parameter SEAICE_rhoSnow. There is still one instance in cost_ice_test.F, which I am not touching
change a few defaults: B-grid flags (not tested in verification, so no effect) turn on flooding by default turn on advection of snow by default
add 4 coeffient-2D-fields for the metric terms. For now they are defined in SEAICE.h and computed in seaice_init_varia.F, eventually they should be moved to newly created SEAICE_GRID.h (together with other grid parameter fields) and computed in seaice_init_fixed.F. That will be a different step.
added sea ice age tracer; #define SEAICE_AGE in SEAICE_PARAMS.h
Make frWtrAtm global for FW balancing in presence of sea-ice, and I need it outside of seaice code. Also move DIAGNOSTICS_FILL(frWtrAtm ... (hope I'm not making a betise).
More _IF fixes.
next fix: put all previous changes within #ifdef SEAICE_ALLOW_TD_IF
More fixes.
Add Ian Fenty sea-ice thermodynamics modifications. Currently this is in separate routines to enable alternative testing. (relevant routines are ..._if.F) CPP switch is via #define SEAICE_ALLOW_TD_IF I.F. code doesnt contain latest SEAICE_SALINITY code
fixed a comment
complete the functionality of starting from pickup even if nIter0=0 (did not work so far because of to generous if statement)
removed uneeded arrays KGEO, GWATX, and GWATY from SEAICE_CGRID code
o pkg/seaice: removed SEAICE_FFIELDS.h and seaice_get_forcing.F seaice forcing fields can now be read only through pkg/exf
always initialise all variables in common block.
o Added open boundary conditions capability for seaice HEFF and AREA For time being this capability requires pkg/exf, pkg/obcs, and pkg/seaice UICE and VICE are masked at the southern and western open boundaries, if any, of the domain. Eventually needs to be extended to SALT and SNOW.
define SEAICE_salinity as a fraction of the model's surface level salinity
initial HSALT set to ICE2WATR*rhoConstFresh*SEAICE_salinity
replace hardcoded lower limit for zeta (zMin) by runtime parameter
adding ice salinity HSALT as a prognostic variable
changes for using pkg/seaice with pkg/obcs
Close southern and western boundaries for UICE/VICE when useOBCS=.TRUE.
added missing exchange for pkg/seaice OBCS mask
fix typo in latest check-in
added a missing #inclulde "OBCS_OPTIONS.h" (bug fix by An Nguyen)
oops
applied OBCS T/S mask to HEFFM sea ice mask This fixes pkg/seaice OBCS problem but in my opinion this information should eventually be transferred to the GRID.h arrays: hFacC, maskC, etc.
Adding AREA, HEFF, HSNOW as control variables.
- fixed problem with HSNOW initialization to avoid thick snow when AREA is initilized with small values - does not change lab_sea results. - added HsnowFile initialization capability Modified Files: doc/tag-index pkg/seaice/SEAICE_PARAMS.h pkg/seaice/seaice_init_varia.F pkg/seaice/seaice_readparms.F
initialise PRESS0, zmin, zmax as a function of AREA and HEFF
- make it possible to read AREA from a file, too.
make pLoad & sIceLoad always available (but still only used if ATMOSPHERIC_LOADING is #define).
- rearrange fields for evp a little to avoid having to call a: too many exchanges and b: exchanges for stress trensor components which we do not have.
o add new interface for atmospheric wind forcing (C-grid only) - new routine - two new field (taux, tauy for stress over ice) - removed one global field (DAIRN) for C-grid case only - small clean up - even remembered to update seaice_ad_diff.list
Initially set HSNOW to zero intead of 20 cm when HEFF is zero. This does not change lab_sea experiments, which are initialized with HEFF=1 everywhere, but it "will" change results for any experiment that are initialized with partial open water domains.
o fix multi-category seaice: - change cpp flag SEAICE_MULTILEVEL to more meaningful name: SEAICE_MULTICATEGORY - fix short wave heat flux o replace field areaLoc by scalar variable
o split seaice_init into _fixed, _varia o add first version of diagnostics interface (may need improvements, additions, etc)
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 |