Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Sticky Tag: |
Add and update some files related to ECCO v4 release 3. The main changes are adding cost_gencost_glbmean.F to compute the costs for global mean time-series of OBP & SSH, splitting the profile cost to sample-mean and -anomaly parts, updating the cost formula for the proxy sea-ice costs, adding initial velocity as part of the control variables, and applying the correction of global mean steric height change to OBP. - cost_gencost_glbmean.F: compute cost for global mean OBP & SSH time-series - cost_profiles.F: add a CPP option (ALLOW_PROFILES_SAMPLESPLIT_COST) that if defined splits the profile cost to sample-mean and sample-anomaly costs. - cost_gencost_seaicev4.F: add a CPP option (SEAICECOST_JPL) that if defined reads in the weights for the proxy sea-ice costs. - cost_gencost_curstomize.F: if ALLOW_PSBAR_STERIC is defined, correct OBP with the global mean steric ssh change to be consistent with SSH. - ecco_phys.F: include sterGloH in a common block to be used in cost_gencost_customize.F to correct OBP when ALLOW_PSBAR_STERIC is defined. - ctrl_map_ini_genarr.F: add CPP options to include initial UV as the control variables. - cost_gencost_all.F: changes related to cost for the global mean time-series. - cost_gencost_bpv4.F: minor change related to cost for the global mean time-series. - ecco_readparms.F: changes related to cost for the global mean time-series. - ecco_ad_diff.list: include the new added cost_gencost_glbmean.F. - ctrl_get_gen.F: check if the first seven characters of xx_tauu_file & xx_tauv_filei matches "xx_tauu" or "xx_tauv". - ecco_cost_final.F: add modification related to the sample-mean profile cost. - ecco_cost_init_fixed.F: initialize the data and weights for the global mean costs for OBP & SSH, if ALLOW_GENCOST_1D is defined. - profiles_readvector.F: read in climatology field in the profile file, and mask out the weight where climatology data is flagged. Active if ALLOW_PROFILES_CLIMMASK is defined. - PROFILES_SIZE.h: changes related to the split of profile cost to sample-mean and sample-anomaly. - profiles.h: changes related to the split of profile cost to sample-mean and sample-anomaly. - ecco.h: changes related to the global mean costs - profiles_readparms.F: changes related to the profile cost splitting and masking by climatology data. - profiles_init_fixed.F: changes related to the profile cost splitting. - profiles_init_varia.F: changes related to the profile cost splitting.
- cost_gencost_all.F: use gencost_nrec in place of gencost_nrecperiod (no effect) - ecco_check.F: check that retired run-time options are not used - ecco_cost_init_fixed.F, ecco_summary.F: finish retiring gencost_nrecperiod - ecco_readparms.F: finish retiring gencost_smooth2Ddiffnbt
- revised handling of gencost_errfile and gencost_weight.
- add the gencost_avgperiod='const' option for fields that are constant in time such as kapgm. - revise naming convention: gencost_barfile='etaday' becomes 'm_eta_day' etc. Note: backward compatible; 'etaday' still ok.
- move reading of error, conversion to weights from ecco_cost_init_fixed.F to ecco_toolbox.F (ecco_readwei)
o pkg/ecco : add capability to penalize full series of time steps, (rather than daily or month;y) for use in short verification experiments. - cost_gencost_assignperiod.F : add myiter as argument. - cost_averagesfields.F : add ECCO_CTRL_DEPRECATED brackets, and myiter argument to cost_gencost_assignperiod.F. - cost_averagesgeneric.F : if (startofloc .and. endofloc) then write current time step field. o pkg/ecco/cost_generic.F : add smoother as post-processing capability.
- remove variables associated with NON-generic costs unless ECCO_CTRL_DEPRECATED is defined - ecco_readparms.F : include ecco.h and ecco_local_params.h, instead of ecco_cost.h, unless ECCO_CTRL_DEPRECATED is defined - ecco_cost_init_varia.F, ecco_cost_init_barfiles.F, ecco_cost_final.F, ecco_cost_init_fixed.F : include ecco.h, instead of ecco_cost.h, unless ECCO_CTRL_DEPRECATED is defined - ecco_toolbox.F, ecco_cost_init_barfiles.F : bug fixes.
- ecco.h : add frame, cosphi. - ecco_cost.h : rm frame, cosphi. - ecco_cost_driver.F, ecco_cost_final.F, ecco_cost_init_fixed.F, ecco_cost_summary.F, ecco_summary.F : cosmetic change.
- use startdate_1/2 as default.
- cost_gencost_boxmean.F, cost_gencost_bpv4.F, ecco_cost_init_fixed.F, ecco_cost_weights.F : treat cases of missing files at run time. - cost_gencost_sshv4.F : rename etabar as etaday to reflect the required averaging frequency, move the test for etaday (now used instead of psbar) definition to ecco_check.F - ecco_check.F : if no gencost term properly defines etaday (e.g. due to missing files) then turn off sshv4 cost all together.
o pkg/ecco/cost_averagesfields.F : depend on gencost_barskip rather gencost_barfile for deciding whether to write barfile o pkg/ecco/cost_generic.F : add outname argument (output file name), compute and store misfit maks*(model-data) in localdif that is then used in cost and for output, output misfit if outlev.GT.0 o pkg/ecco/cost_hyd.F, cost_gencost_all.F : add cost_generic arg o pkg/ecco/ecco.h : add gencost_barskip o pkg/ecco/ecco_cost_init_fixed.F : determine gencost_barskip (set to false if same barfile is already taken care of by other gencost, or if gencost_barfile is empty) o pkg/ecco/ecco_summary.F : add gencost_barskip to summary o pkg/ecco/cost_gencost_all.F, cost_hyd.F : rm AD recomputation
- ecco.h, ecco_readparms.F, cost_generic.F, cost_gencost_all.F, cost_hyd.F : added run time params and/or passed as arguments : gencost_posproc, gencost_scalefile, gencost_nrecperiod, gencost_outputlevel. - cost_generic.F, cost_genread.F : added preproc code ('climmon ') to replace GENERIC_BAR_MONTH - cost_genread.F : fix array dimension - ecco_cost_init_fixed.F : re-activate ecco_summary - ecco_summary.F : report gencost variables
- ecco.h : remove un-needed CCP options, add gencost_preproc, add 3D gencost - cost_generic.F : move active_read calls to cost_genread (new) and setup generic pre-processing framework (via new preproc argument). - cost_genread.F (new) : interface between cost_generic and active_read - added 3D gencost involves : cost_averagesfields.F, cost_averagesinit.F, cost_gencost_all.F, ecco.h, ecco_check.F, ecco_cost_init_fixed.F, ecco_readparms.F (ALLOW_GENCOST3D, gencost_is3d, gencost_pointer3d, gencost_bar3d, gencost_mod3d, gencost_wei3d) - added gencost_preproc involves : cost_gencost_all.F, cost_genread.F, cost_generic.F, cost_hyd.F, ecco_readparms. and ... pkg/seaice/seaice_cost_driver.F - ecco_cost_driver.F : move cost_profiles here - cost_hyd.F : remove cost_profiles from here - ecco_cost_weights.F : remove gencost weights from here - ecco_cost_init_fixed.F : more gencost weights here - ecco_cost_final.F : 0. _ d 0 fixes
- remove includes from pkg/ctrl, add missing CCP switches, remove unused variable, replace optimiter with eccoiter : cost_averagesgeneric.F, cost_gencost*.F, cost_generic.F, ecco_check.F, ecco_phys.F - include ecco.h rather than ecco.h : ecco_cost_driver.F, ecco_phys.F, cost_averagesgeneric.F, cost_gencost*.F, - rename xx_genbar_dummy as gencost_dummy : cost_averagesfields.F, cost_averagesinit.F, cost_gencost_*.F, ecco_cost_init_barfiles.F - cost_bp.F : modify calls to cost_bp_read (added arguments) - cost_bp_read.F added arguments (localobsfile, localstartdate, localobs, localmask) replacing use of common blocs - cost_generic.F : add ALLOW_OLD_ESTIM_CODES bracket - ecco_check.F : use gencost_startdate rather than modelstartdate, rename using_topex as using_tpj, add ALLOW_OLD_ESTIM_CODES brackets - cost_gencost_all.F : remove un-necessary CPP brackets of cost_gencost_*v4 calls, add cost_gencost_bpv4 call, use gencost_startdate rather than modelstartdate - cost_averagesgeneric.F : added DEBUG code - ecco_cost_final.F : added ifdef ALLOW_ECCO - ecco_cost_init_fixed.F : copy optimcycle to eccoiter when ALLOW_CTRL, set eccoiter to 0 otherwise; revise gencost conditionality - ecco_cost_summary.F : add ALLOW_OLD_ESTIM_CODES brackets, rename using_topex as using_tpj - ecco_init_varia.F : initialize RHOsumGlob_0, VOLsumGlob_0 - ecco_phys.F : compute etanFull - ecco_readparms.F : rename using_topex as using_tpj, add bpv4-grace to gencost list, initialize added parameters - ecco_summary.F : include SIZE.h needed for augmented ecco.h
Replace hardcoded mdt year range with runtime param mdt[start,end]date[1,2], rename variable "tpmean" as "mdt" and "topexmeanfile" as "mdtdatfile", add error+stop statement if "topexmeanfile" is used in data.ecco
- distinct values of gencost_flag : 0) inactive gencost 1) standard active gencost 2) pre-specified cost term with creation of a barfile -1) pre-specified cost term using otherwise created barfiles
- cost_gencost_assignperiod.F, ecco_cost_init_fixed.F : add missing gencost_flag test. - cost_averagesfields.F, ecco_cost_init_barfiles.F : add missing using_gencost test. - ecco_cost_init_barfiles.F, cost_averagesfields.F : add using_altim, etc. tests. - ecco_check.F : switch off cost term if no a single file was found (regarless of startdates for this general test). - ecco_readparms.F : bug fix ('OR'; from previous rev) and print additional information when failed test stops.
- introduce gencost_flag(k) that is currently one of 3 values : 0 if cost term k is not used 1 if cost term is fully interactive (i.e. uses gencost_datafile) -1 if ocst term is pre-specified (i.e. uses gencost_name) - introduce using_gencost(k) logical in line with using_topex etc. - ecco_readparms.F : assign using_gencost(k) & gencost_flag(k) based on gencost_datafile(k).NE.' ' (fully interactive cost terms) or on gencost_name(k) (for pre-specified generic cost terms) - throughout : replace "if ( gencost_datafile(num_var) .ne. ' ' )" with "if ( using_gencost(num_var) ) then" - throughout : rm ALLOW_GENCOST_FREEFORM CPP option. The same thing is now achieved dynamically based on gencost_flag. - ecco_check.F : add gencost checks, account for "data"startdate in ecco_check_files, add topexmean check.
ecco_cost.h - add using_cost_altim, using_cost_sst,using_cost_bp,using_cost_scat to allow for run time switch of main cost terms. Those switches are further reset to false if files are missing (ecco_check.F) cost_gencost_all.F - using_cost_altim, using_cost_sst cost_hyd.F - using_cost_sst ecco_check.F - restrict maxNumDays test to relevant cases - add ECCO_CHECK_FILES S\R that test whether the input binary files are there, and otherwise switch off the corresponding run time flag. Rather than do the full run then crash in ecco_cost_driver. - thus reset using_cost_bp, using_cost_altim, using_cost_sst, using_cost_scat if necessary. ecco_cost_driver.F - using_cost_altim, using_cost_bp, using_cost_scat ecco_cost_init_fixed.F - remove tpTimeMask etc. bloc when not needed (i.e. undef ALLOW_NEW_SSH_COST) ecco_cost_weights.F - dont try to read data_errfile if it is not there - using_cost_sst, using_cost_altim, using_cost_bp, using_cost_scat ecco_readparms.F - activate using_cost_sst, using_cost_altim, using_cost_bp, using_cost_scat - also activate using_topex, using_ers, and using_gfo
include ECCO_OPTIONS.h instead of COST_CPPOPTIONS.h
move #include "AD_CONFIG.h" after the other included OPTIONS files and remove PACKAGES_CONFIG.h
Move cal-specific calls from ecco_readparms.F to ecco_cost_init_fixed.F as per jmc request
- bug fix: those tests break the ALLOW_GENCOST_FREEFORM case.
Another missing if-statement
bug fix (gencost_nrec needs to be defined before ecco_cost_init_barfiles.F is called)
Documenting ALLOW_GENCOST_CONTRIBUTION in ECCO_CPPOPTIONS.h (see extract below) and adding the ALLOW_GENCOST_FREEFORM sub-option. C >>> ALLOW_GENCOST_CONTRIBUTION: interactive way to add basic 2D cost function terms. C > In data.ecco, this requires the specification of data file (name, frequency, C etc.), bar file name for corresp. model average, standard error file name, etc. C > In addition, adding such cost terms requires editing ecco_cost.h to increase C NGENCOST, and editing cost_gencost_customize.F to implement the actual C model average (i.e. the bar file content). #undef ALLOW_GENCOST_CONTRIBUTION C >>> free form version of GENCOST: allows one to use otherwise defined elements (e.g. C psbar and and topex data) while taking advantage of the cost function/namelist slots C that can be made available using ALLOW_GENCOST_CONTRIBUTION. To this end C ALLOW_GENCOST_CONTRIBUTION simply switches off tests that check whether all of the C gencost elements (e.g. gencost_barfile and gencost_datafile) are specified in data.ecco. C > While this option increases flexibility within the gencost framework, it implies more room C for error, so it should be used cautiously, and with good knowledge of the rest of pkg/ecco. C > It requires providing a specific cost function routine, and editing cost_gencost_all.F accordingly. #undef ALLOW_GENCOST_FREEFORM
gencost: a couple of fixes + modifications in ecco_readparams.F to allow the generation of bar files without specifying data sets.
finish removing unbalanced quote (single or double) in commented line
Updating gencost code * merge B. Cheng's changes * bug fixes (especially cost_generic_all.F)
catch the case of empty filenames
fix syntax format for writing integer
Declare msgbuf seems useful...
Add an extra check on values of (SSH)TimeMask
o A final fix in cost_ssh_new(!) o Move ecco_check to earlier instance o Increase maxNumDays to 17yr o A few debug calls
Fix a myRiad of bugs...
Modify cost calculation for SSH anomalies: * Model mean is sampled according to altimeter data for each instrument * Period for computing model mean can be prescribed through daily flags; corresponding daily flag time series provided in files tpTimeMaskFile, ersTimeMaskFile, gfoTimeMaskFile NOT YET TESTED.
add missing cvs $Header:$ or $Name:$
Preparing bottom pressure cost for time-varying GRACE data.
Adding cost function for daily Florida Strait transport.
o cost_averagesflags now returns year indices in addition to day, month o sflux balance is performed on annual basis (sflxumm, sfluxmm2, bal_sfluxmm) o for SSH anomaly, separate more cleanly contrib from T/P, ERS, GFO, including separate counting and multipliers
Make pkg/profile fully independent of ecco,cost, etc. stuff to be able to use it in pure forward.
One more ifdef ALLOW_PROFILES
Adding Gael Forget profile cost code.
o Adding GFO observations o Modified masks to add costs beyond TOPEX 66N/S
Moving seaice-related cost to pkg/seaice/
fixes for DIVA
o merging from ecco-branch o pkg/ecco now containes ecco-specific part of cost function o top level routines the_main_loop, forward_step supersede those in model/src/ previous input data.cost now in data.ecco (new namelist ecco_cost_nml)
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 |