Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint65l: | (view) (download) (annotate) |
Sticky Tag: |
- packages_boot.F : - add useCTRL, useECCO to run time parameters list. - default is true if ALLOW_AUTODIFF, false otherwise. - IF (useECCO) useCAL = .TRUE. - IF (useGrdchk) useCTRL = .TRUE. - do_oceanic_phys.F, packages_check.F, packages_init_fixed.F, packages_init_variables.F, the_main_loop.F : add useECCO switch - forward_step.F, load_fields_driver.F, packages_check.F, packages_init_fixed.F, packages_init_variables.F, the_model_main.F : add useCTRL switch - initialise_varia.F : add ALLOW_CTRL bracket
document calling sequence
add block to save 3d sigmaR field for cost calc
ALLOW_AUTODIFF only: compute again (if fluidIsAir) rhoInSitu (as the virtual potential temperature) since it was reset to zero at the top. There might be a better way to go around this (but since AD of atmos code is rarely used ...)
- add new pkg "kl10" for mixing due to internal wave breaking ( http://www.sciencedirect.com/science/article/pii/S1463500310000144 )
remove unused variables
clean up 1 more comment
clean up, removed un-needed comments
An Nguyen's extensions to salt_plume package (carry corresponding heat flux along with salt redistribution)
Add store dir for saltplumeflux
- Start to include explicitly AUTODIFF_OPTIONS.h, COST_OPTIONS.h, and CTRL_OPTIONS.h in src files (to enable to skip the ECCO_CPPOPTIONS.h) For now, only in pkgs used in verification/hs94.1x64x5. - Replace ALLOW_AUTODIFF_TAMC by ALLOW_AUTODIFF (except for tape/storage which are specific to TAF/TAMC).
also fill-up some (selected) surface diags if fluidIsAir
add few storage to eliminate recomputations that appear when changing EXTERNAL_FORCING_SURF
when using pkg/offline, enable to calculate GMRedi tensor, KPP mixing and convective index when the corresponding file(s) is/are not specified.
- call EXTERNAL_FORCING_SURF outside bi,bj loops (in do_oceanic_phys.F), (where external_forcing_adjust was called) and change list of arguments; - merge external_forcing_adjust.F into external_forcing_surf.F - put surface relaxation of SST & SSS in new S/R (forcing_surf_relax.F) which also contains balancing surface relaxation (ALLOW_BALANCE_RELAX, previously in file "balance_relax.F", now removed); remove corresponding arrays in FFIELDS.h.
- to enable the use of other features with pkg offline (e.g., obcs), also call S/R DO_OCEANIC_PHYS in offline run - more modifs to come.
remove storage of snowPrc (from pkg/thsice)
move forcing adjustment (balancing surface forcing) in specific S/R where might also be applied exchanges (if needed) to forcing arrays.
Add headers for THSICE adjoint.
First stab at a thsice-specific cost function.
- added call to seaice_fake, for adjoint purpose only.
- add call to new routine ECCO_PHYS
update previous modif by adding few store dir for TAF
- implement new sequence of calls for thsice+seaice: previously: ice-Dyn,ice-Advect,ice-Thermo(thsice) new sequence: ice-Thermo(thsice),ice-Dyn,ice-Advect - allows (with temporary CPP option "#define OLD_THSICE_CALL_SEQUENCE" in CPP_OPTIONS.h) to recover old sequence
remove reset of addMass (now done in load_fields_driver.F)
- move balancing of relaxation terms to new S/R balance_relax.F.
fix previous modif: no need to remove traditional flux balancing if useThSIce
- introduce ALLOW_BALANCE_RELAX which allow the removal of the global mean of relaxation terms by setting balanceThetaClimRelax and balanceSaltClimRelax - disable balanceEmPmR and balanceQnet in the case when useSeaice. This case is now treated appropriately in seaice_growth.F - do_oceanic_physics.F : include EXF_OPTIONS.h to avoid recomputations in the ALLOW_ECCO_EVOLUTION case.
pass sigmaR to S/R PP81_CALC, MY82_CALC and GGL90_CALC
Add store.
add SEAICE_SIZE.h anywhere SEAICE.h is included
adding pkg/frazil - see frazil_description.tex for details
isolate saltPlumeFlux array exch into a specific S/R called from do_oceanic_phys.F
use sigmaR in calc_ivdc rather than rhokp1 and rhokm1
- change diagnostics WRHOMASS to just the Vertical transport of in-situ density; - add 2 diagnostics for wVel*delta^k(Rho) at constant pressure (= WdRHO_P) and at constant T,S (= WdRHOdP); separated k-loop for rhoInSitu calculation; - reset addMass to zero only if useICEFRONT.
(re-)initializing rhoInSitu should do the trick and be correct.
adding some comments
o adding package bbl (Bottom Boundary Layer) description in MITgcm/pkg/bbl/bbl_description.tex example/test experiment in MITgcm_contrib/bbl
move call to MYPACKAGE_CALC_RHS outside bi,bj loop (+ remove bi,bj arguments)
More store modifs (currently no impact
Remove unpleasant #ifndef ALLOW_AUTODIFF_TAMC (hard to track down later)
temporarily exclude from adjoint computations until impact has been vetted in forward integrations
Add allowInteriorFreezing option to check for water below freezing point at depth and bring the negative heat anomaly to the surface level. Modified Files: doc/tag-index, model/inc/PARAMS.h, model/src/do_oceanic_phys.F, ini_parms.F, set_defaults.F, thermodynamics.F Added File: model/src/freeze_interior.F
Some store fixes (probably benign)
Enable adjoint of OB conditions following Stevens (1990)
add call to new S/R GMREDI_DO_EXCH
- only reset addMass to zero if fluidIsWater (otherwise, atmospheric setting is lost). - does not restrict MYPACKAGE_CALC_RHS call to fluidIsWater case.
Store modifs for ptracers adjoint with NLFS
switch some test on debugLevel value to debugMode test
Attempt to make adjoint work again for arctic210x192x50 setup (currently broken)
Adding a hook in do_oceanic_phys for computation of custom mypackage tendency terms outside the k-loop.
Change store dir. logic following common block changes (05/2009)
Adjoint compatible with combined AB3 and NLFS.
Prerequisite for adjoint of ggl90.
add argument "myIter" to S/R GGL90_CALC
Adding capability to read sub-glacial runoff files using pkg/exf. As per pkg/obcs, all scalar parameters are defined in EXF_PARAMS.h and the rest are defined in ICEFRONT.h. Note that array addmass is set to zero at beginning of every time step in do_oceanic_phys.F so that it can cumulate input from various sources.
Add one store
bug fix: saltPlumeFlux was re-initialized after being computed, which in effect prevented using the salt plume parameterization with ALLOW_AUTODIFF_TAMC
avoid unbalanced quote (single or double) in commented line
Adding the shell of, and the hooks to, a new package that will be used to model melting and freezing of vertical glacier ice fronts: Modified Files: doc/tag-index model/inc/PARAMS.h model/src/do_oceanic_phys.F model/src/external_forcing.F model/src/packages_boot.F model/src/packages_check.F model/src/packages_init_fixed.F model/src/packages_init_variables.F model/src/packages_readparms.F Added Files: pkg/icefront/ICEFRONT.h pkg/icefront/ICEFRONT_OPTIONS.h pkg/icefront/icefront_check.F pkg/icefront/icefront_description.tex pkg/icefront/icefront_diagnostics_init.F pkg/icefront/icefront_init_fixed.F pkg/icefront/icefront_init_varia.F pkg/icefront/icefront_readparms.F pkg/icefront/icefront_tendency_apply.F pkg/icefront/icefront_thermodynamics.F
- use interior masks (instead of maskH, <- to be remove).
move bi,bj loops into obcs_calc, so obcs_prescribe_read is called only once
move OBCS_CALC call before SEAICE_MODEL (since SEAICE_MODEL needs seaice-obcs fields)
Small changes to CADJ STORE
Adding AUTODIFF_MYFIELDS.h in a few places.
Adding stressDivergenceX/Y to store.
One temp. store.
Add TAF option "kind" (or adjust "byte") to enable real*4 common blocks
Add timers for KPP_CALC and GGL90_CALC
Add some headers and (re-)init.
AD: back to version 1.72 ; + compute rhoInSitu if fluidIswater, otherwise set it to zero.
try to put back "if fluidIsWater" (needed for hs94 AD test)
A few changes following intro of new variable rhoInSitu
store 3-D (in-situ) density in commom block (this save 1 rho computation); re-arange rho diagnostics.
always call FREEZE_SURFACE if "allowFreezing" is set ; (+ stop in config_check if trying to use seaice pkgs with allowFreezing=T)
new pkg "down_slope".
replace calls to "FIND_RHO" with recent version "FIND_RHO_2D"
More flexibility in zeroadj.
GMREDI_WITH_STABLE_ADJOINT CPP option: special setup of gmredi for which the adjoint is stable enough for parameter optimization.
Arctic is different from global (prbbl bc of obcs)
More hidden recomputations, this time more thoroughly: avoid seaice_model and load_fields_driver
Remove this silly ifdef (what was I sinking...)
Some stuff needed for latest v3 production.
added check, readparms, and more diagnostice to pkg/salt_plume also changed package flag from useSaltPlume to useSALT_PLUME
added pkg/salt_plume by gathering code, which were previously spread around various files in model/inc and model/src results remain numerically identical to before, as a first step towards adding more options, etc., to this package
Fix a bug reported by An Nguyen: calc_salt_plume_depth requires that sigmaR be available. Bug fixed by adding flag "usePLUME", which is also a first step for addition of pkg/plume
Put back IF(useSEAICE) for adjoint (seems benign).
Adding code for seaice export (and others in future) sensitivity calculation.
Include SEAICE_SALINITY in adjoint.
Update NLFS adjoint.
Update NLFS adjoint.
Comment all relevant #ifndef ALLOW_AUTODIFF_TAMC that used to hide exch2 or cubed-sphere specific code (commented via 'cph-exch2')
o starting implementation of Duffy et al. (GRL 1999) salt plume scheme (#ifdef ALLOW_SALT_PLUME)
forgot to check-in this one (pkg/gmredi modification from yesterday).
One more store change (revert).
Re-arrange store directives.
forgot the #ifndef ALLOW_AUTODIFF_TAMC in the previous check-in
- move GMRedi after KPP and all vertical mixing scheme. - add call for computing mixed-layer depth (but hidden from TAF for now)
Seaice_model suddenly needs much more storing. Don't have time to check what has changed (again).
add call to KPP_DO_EXCH (after calling KPP_CALC). - fix conservation problem. - might be a temporary fix until we check carefully the computation domain of KPPviscAz.
add myIter to KPP_CALC call.
o Remove recomputations after latest modifs o EVP TLM and ADM gradient checks completely wrong (1.E34)
Fix KPP adjoint after introducing new fields KPPdiffKzS, KPPdiffKzT
Removing exf_clim code.
move EXF header files from lower_case.h to UPPER_CASE.h ;
First set of modifs for TAF-ing thsice.
First set of modifs for TAF-ing thsice.
o add calc_wsurf_tr.F to diff.list o slight changes in store dirs in do_oceanic_phys (M. Mazloff)
if fluid is not water, by-pass all the calls, except OBCS_CALC which was moved down to the end of bi,bj loops ;
o Small modifs (mostly porting for non-ecco setups)
Updating seaice adjoint, step 1 (everything, except SEAICE_EVP).
Adding store.
o ecco_readparms namelist was incomplete for new control terms o seaice load added to stored state o slightly more storing in do_oceanic_phys
Split seaice_init into _fixed, _varia
add hooks for atm2d package
move call to SEAICE_MODEL from FORWARD_STEP to DO_OCEANIC_PHYS (and Patrick fixed the adjoint)
use the right CPP option: "#ifdef ALLOW_OCN_COMPON_INTERF"
o Another overhaul of store dirs. for NLFS to eliminate "hidden" recomputations. o TBD: "hidden" mom_vecinv recomp. in dynamics
o Fix PmEpR store for #undef EXACT_CONSERV o Fix "hidden" recomp. in thermodynamics (no TAF warnings) o Try to fix NLFS adjoint (hidden recomp in forward_step)
move balanceEmPmR & balanceQnet out of the bi,bj loops
o move balancing of fluxes before the call of external_forcing_surf (thanks to Jean-Michel for catching this bug)
Change of EmPmR in external_forcing_surf necessitates re-arranging adjoint STORE (what a pain).
o add code to balance EmPmP and Qnet at the end of do_ocean_physics. Useful if bulk formulae are used in long integration (especially EmPmR). Turn on with balanceEmPmR = .true. or balanceQnet = .true. in data, PARM01 if balancePrintMean, the imbalance that is substracted is printed to STDOUT.
o add hooks for new package shelfice, painless
time-ave surf_flux & convect_adjust moved from thermodynamics to do_oceanic_phys
add diagnostics for Convective Adjusment.
- add call to diags_oceanic_surf_flux (ocean only) - remove unused variables.
add buoyancy (rho) flux diagnostics
use new S/R diagnostics_fill to fill-in diagnostics.
This set of changes restores TAMC(!) compatibility.
use flags: fluidIsAir/Water, usingP/ZCoords instead of buoyancyRelation
o Fixing directives for non-ECCO forward_step, after ECCO directives have been fixed to avoid recomp. of do_oceanic_phys o Works well for global_ocean.90x40x15, but recomp. issue remains for carbon
o some delicate re-shuffle of store directives to avoid one extra call of do_oceanic_physics o NB: this may break global_ocean adjoint temporarily, but it is clear how to fix it. Will do later, need this now.
modified argument list of CALL OBCS_CALC to myTime+deltaTclock
o bringing adjoint up to date for sheduled c55
o prepare addition of new packages GGL90 and OPPS - new parameters useGGL90 and useOPPS - include call to the new routines at the (hopefully) right places
add diagnostics od d.Rho/dr (=SigmaR).
o remove single quotes (eg. "don't"-->"do not") so that the on-line code browser does not get confused
o add calls for two new packages - pp81 (Packanowski and Philander, 1981), Richardson number and stratification dependent mixing - my82 (Mellor and Yamada, 1982) level 2 turbulence closure scheme
move ocean specific S/R calls (FREEZE_SURFACE, THSICE_MAIN, OCN_APPLY_IMPORT) from forward_step.F to do_oceanic_phys.F
replace surfaceTendency U,V,S,T,Tice by surfaceForcing U,V,S,T,Tice
max number of passive tracers is now defined in PTRACERS_SIZE.h
put atmospheric physics & state-vars diagnostics calls in 2 dedicated S/R.
take out 1rst part of thermodynamics (KPP,GM,slope ..) into do_oceanic_phys.F
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 |