Parent Directory
|
Revision Log
|
Revision Graph
| Links to HEAD: | (view) (download) (annotate) |
| Sticky Tag: |
Add averaging variable
Part two of ECCO-CLIVAR code merges. Completes merge of seaice area relax. code. Requires unified CPP option EXF_ALLOW_SEAICE_RELAX to be set in EXF_OPTIONS.h since this pkg controls its I/O (and avoids second CPP option in SEAICE_OPTIONS.h)
- 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).
Prepare adjoint of SITRACER
Add seaice obcs
o model/src, pkg/autodiff, pkg/ecco, pkg/seaice: alleviate the need for additional 3D tapes when using the non-inear free surface in the adjoint. This is done by adding an 'update' of hfacc etc. to their current value at the beginning of forward_step.F.
-avoid recomputation. -add seaice_diffusion.f seaice_map_thsice.f to adjoint. -allow use of multidim advection in ad runs.
Add tices
add missing cvs $Header:$ or $Name:$
Adding code for seaice export (and others in future) sensitivity calculation.
Re-organized adjoint checkpointing according to Matt Mazloff (but with modifs/completions/cleanups) Storing is now bundled into large arrays to optimized I/O (and second step in cleanup of the_main_loop)
o Remove recomputations after latest modifs o EVP TLM and ADM gradient checks completely wrong (1.E34)
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
seaice adjoint, part 2 (SEAICE_ALLOW_EVP).
o Ported new load_fields_driver structure over to ECCO o adjusted exf and seaice store directives accordingly
o SEAICE_CGRID adjoint, part 2. (all stores seem to be sorted out, but NANs in adjoint).
First stab at SEAICE_CGRID.
Implement 4-level checkpointing. Needed for high-res. runs with large global files to be able to limit tapelev size (otherwise a potential show-stopper).
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 |