Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to MAIN: | (view) (download) (annotate) |
Sticky Tag: |
- optim_readparms.F: skip if .NOT.useCTRL - ctrl_map_ini_genarr.F, ctrl_init.F: treat case when pkg.autodiff is not compiled.
- finish deprecating ctrlSmoothCorrel2d/3d
- fix xx_gentim2d_preproc_r type - rename 'replicate' as 'docycle' - define 'doglomean' and 'documul' pre-processing option - improve summary
- avoid double definition of k.
- move wunit initialization to ctrl_init.F (needs to be before generic controls so that may use it).
- revise treatment of xx files. - add rmcycle option.
- dont create xx files if not used.
- when replicate is used, initialize the adimensional adxx file and pack only for the repeated portion.
- add time variable weights and cyclic controls (time mean, seasonal cycle, etc) capabilities to gentim2d
- carry out smooth_correl2D at initialization stage rather than during time stepping.
- ctrl/ctrl_get_gen.F : fix gensign, doCtrlUpdate (kept for continuity of results, although rather questionable). - ctrl/ctrl_init.F, ctrl_map_ini.F, ctrl_map_ini_ecco.F : remove codes associated with NON-generic NON-obcs controls, unless ECCO_CTRL_DEPRECATED is defined - ctrl/ctrl_map_ini_genarr.F : replace ALLOW_DIFFKR_CONTROL switch with ALLOW_3D_DIFFKR (defined in CPP_OPTIONS.h).
- ctrl_init.F : use startdate_1/2 as default. - ctrl_summary.F : bug fix.
- pkg/ctrl/CTRL_OBCS.h (new) : regroup all obcs ctrl variables. - pkg/ctrl/ctrl.h, ctrl_dummy.h, ctrl_weights.h : rm obcs ctrl variables (now all in CTRL_OBCS.h). - pkg/ctrl/ctrl_getobcse.F, ctrl_getobcsn.F, ctrl_getobcss.F, ctrl_getobcsw.F, ctrl_getrec.F, ctrl_init.F, ctrl_init_obcs_variables.F, ctrl_init_wet.F, ctrl_mask_set_xz.F, ctrl_mask_set_yz.F, ctrl_pack.F, ctrl_unpack.F, ctrl_readparms.F, ctrl_set_pack_xz.F, ctrl_set_pack_yz.F, ctrl_set_unpack_xz.F, ctrl_set_unpack_yz.F : add CPP brackets and CTRL_OBCS.h - pkg/ctrl/ctrl_pack.F, ctrl_unpack.F : add CPP brackets
o pkg/ctrl : - CTRL_GENARR.h : add xx_gentim2d_numsmooth - ctrl_cost_driver.F : bug fix (iarr, not 1) - ctrl_init.F : bug fix (missing iarr) - ctrl_readparms.F : add xx_gentim2d_numsmooth, improve numsmooth defaults - ctrl_summary.F : improved report of controls settings
o pkg/ctrl : - introduce run time switch ctrlUseGen (in ctrl.h, ctrl_check.F, ctrl_init_variables.F, ctrl_readparms.F, ctrl_summary.F) - re-activate ctrl_summary (call in ctrl_init.F)
- ctrl_init.F : fix previous modification. - ctrl_readparms.F : read/init mult_gentim2d.
- CTRL_GENARR.h : add weight field wgentim2d. - ctrl_init.F : read wgentim2d from xx_gentim2d_weight. - CTRL_GENARR.h : add objf_gentim2d(nsx,nsy,maxCtrlTim2D) etc.
1st step toward generic time-varying control variable (2D)
- switch off ustress/vstress controls when useAtmWind, and vice versa.
- pkg/exf : added run time switch useAtmWind to replace ALLOW_ATM_WIND cpp switch. ALLOW_ATM_WIND now just sets the useAtmWind default (see exf_readparms.F) and force defines ALLOW_BULKFORMULAE (EXF_OPTIONS.h). - pkg/exf, autodiff, ctrl, ecco and seaice : remove ALLOW_ATM_WIND brackets, or replace them with useAtmWind ones. - pkg/ctrl, ecco : allow to compile both ALLOW_U/VSTRESS_CONTROL and ALLOW_U/VWIND_CONTROL. Depending on useAtmWind, one is inactive, and the other is active (see exf_getffields.F/exf_getsurfacefluxes.F).
rename CTRL_CPPOPTIONS.h to CTRL_OPTIONS.h
Replace flag ALLOW_BOTTOMDRAG_CONTROL by ALLOW_BOTTOMDRAG_CONTROL_NONGENERIC
Attempt at adding CTRL_SIZE.h
Enable generic arrays of control variables
Mean field atmosp. controls
- add a formal parameter to s/r ctrl_init_rec to print xx_$(ctrl_valiable)_file for easier debugging - move call of cal_* routines into the if-block where they are really needed so that xx_$(ctrl_variable)_period can be 0 or -12 without having to specify a startdate
remove "#include "cal.h"' (not needed)
once again, fix computation of endrec in s/r ctrl_init_rec
fix computation of endrec in s/r ctrl_init_rec, old variant gave too few records when startrec > 1
remove #include "OBCS.h" (don't seem to be needed)
add new control variable xx_shifwflx (fresh water flux underneath ice shelves). This is almost as tedious as obcs-ctrl, because the variables needs its own mask.
Ability to decompose obcs controls into modes using ALLOW_OBCS_CONTROL_MODES
removed obsolete print statements (that I forgot). This gives me a chance to mention this (unfortunately forgot the previous commit message of ctrl_init.F, v 1.36 2011/03/15 16:40:55): - ctrl_init: fixed the handling of the start/endrec for obcs-variables
change behavior of xx_${varname}period to be analogous to exf-conventions, along the way: - introduce helper routine ctrl_init_rec (part of ctrl_init.F) to clean up ctrl_init a little - remove unused variables
- add code that allows the use of ALLOW_OBCS?_CONTROL without exf/cal - fix initialisation (computation of diffrec) for obcs-ctrl - handle case of obcs?period == 0
ALLOW_ROTATE_UV_CONTROLS: when defined, we rotate wind/stress controls adjustments from Eastward/Northward to model grid directions.
Initialise xx_dic (still missing adxx_dic)
Complete implementation for xx_gen2d, xx_gen3d
Bug fix (reported by jmc): remove un-assigned vars.
o bridging the gap between eddy stress and GM. -> eddyTau is replaced with eddyPsi (eddyTau = f x rho0 x eddyPsi) along with a change in CPP option (now ALLOW_EDDYPSI). -> when using GM w/ GM_AdvForm: The total eddy streamfunction (Psi = eddyPsi + K x Slope) is applied either in the tracer Eq. or in momentum Eq. depending on data.gmredi (intro. GM_InMomAsStress). -> ALLOW_EDDYPSI_CONTROL for estimation purpose. The key modifications are in model/src/taueddy_external_forcing.F pkg/gmredi/gmredi_calc_*F pkg/gmredi/gmredi_*transport.F
introduce isopycnal diffusion coefficient control.
Bit of tutorial_global_oce_optim
Fix one (benign) index.
Adding AREA, HEFF, HSNOW as control variables.
o Correct some location calculations for obcs gradient checks o Improve output for obcs gradient checks and include iobcs index
Adding new control variables: lwflux, lwdown, evap, snowprecip, apressure, runoff.
Modifications for bottom topography control o replace hFacC by _hFacC at various places o replace ALLOW_HFACC_CONTROL by ALLOW_DEPTH_CONTROL o add non-self-adjoint cg2d_nsa o update autodiff support routines o re-initialise hfac after ctrl_depth_ini o works for 5x5 box, doesnt work for global_ocean.90x40x15
if ALLOW_CAL, use monthly mean controls if the control period (xx_hfluxperiod etc) is 0
Bring ctrl up-to-data, in particular w.r.t. wthetaLev, wsaltLev
Adding time-dependent SST, SSS control.
Adding swdown control.
Adding swflux control
Adding precip control
o separate masks used for ctrl_pack/unpack 'from write_grid' output (suggested by G. Forget) o added new control variables * init. uVel, vVel, etanN * lambda[Theta,Salt]ClimRelax
Adding eddy stress controls a la Ferreira et al.
uwind, vwind at 'c' points.
o OBCS as control variables - update ad_diff.list - remove balance of obcs controls from default - fix index bug nobcs in ctrl_init - fix dummy fields filen in ctrl_pack - add dummy weights for obcs
More on dsvd vs. MITgcm interfacing o handling of g_, ad, via admtlm_vector (mds...vector) o use ctrl_pack/unpack for admtlm_vector I/O o use optimcycle for dsvd iteration o make sure norm is w.r.t. derived quantities
ctrl package totally restructured o pack/unpack now optional and decoupled from xx_/adxx_ I/O o ctrl_pack/unpack cleaned (new routines ctrl_init_ctrlvar.F, pkg/ctrl/ctrl_init_wet.F) o confined inclusion of AD_CONFIG.h to where necessary.
o added the [#include "AD_CONFIG.h"] statement to all files that need it for adjoint/tl #defines o re-worked the build logic in genmake2 to support AD_CONFIG.h o removed tools/genmake since it no longer works
Merging for c51 vs. e34
Preparing next differentiable checkpoint and sync of MAIN vs. ecco-branch
merging.
Controls of sst, sss, hfacc, bottomdrag. (no ice climbing).
Merging new ctrl package from release1_p5: o new ctrl package - adopted from ECCO environment to enable optimization - added Eliassen Palm fluxes to controls
Bug fix for K loop.
Included diffkr, kapgm to set of control variables.
o Added prototype routines to handle optimization o Extended control vector to add passive tracer
Modifications and additions to enable automatic differentiation. Detailed info's in doc/notes_c37_adj.txt
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 |