--- MITgcm/doc/tag-index 2010/04/13 07:00:08 1.1249 +++ MITgcm/doc/tag-index 2011/05/18 02:21:49 1.1435 @@ -1,12 +1,877 @@ -$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.1249 2010/04/13 07:00:08 gforget Exp $ +$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.1435 2011/05/18 02:21:49 jmc Exp $ $Name: $ Notes on tags used in MITgcmUV ============================== -o exf: +o obcs and 2d/3d solver norm: + use interior masks (maskInC) to cancel out cg2d & cg3d matrix coeff at OB + and outside OB interior region (will allow to place OB further inside the + domain). Depending on the domain, can affects cg2d-Norm (previous + cancelation outside OB was only partial), e.g. in exp4 & obcs_ctrl, + and cg3d-Norm (previous Norm was computed before canceling OB terms), + e.g. in tutorial_plume_on_slope. + - update output of exp.: exp4 (x2), obcs_ctrl and tutorial_plume_on_slope. +o pkg rbcs: + - split RBCS.h into 3 files: RBCS_SIZE.h, RBCS_PARAMS.h & RBCS_FIELDS.h + - add capability to apply relaxation to horizontal velocity uVel & vVel. +o pkg/grdchk: add gradient check for control variable xx_shifwflx +o pkg/shelfice/shelfice_init_fixed.F + fix CPP-flag combinations +o pkg/seaice: Merge iceage code of Pierre Rampal + * update/change/correct ice age calculations + * add age updates for pathological cases + Probably needs more testing... + +checkpoint62x (2011/05/13) +o pkg/mom_vecinv: + high-order vorticity scheme: use interior masks (maskInW & S) + to zero-out (outside OB) gradient of vorticity. +o verification exp.: + turn on "useEnergyConservingCoriolis" (better discretisation) in exp. + hs94.128x64x5 and seaice_obcs ; update results. +o pkg/obcs: + fix bug in OBeta for YZ sections in obcs_exf_load.F +o pkg/ctrl, pkg/shelfice, and optim: + - 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. + - add a cost function term that penalizes the deviation of xx_shifwflx + from the first guess (zero) in analogy to other control variables +o pkg/shelfice: + - start basic adjoint +o pkg/ctrl: + - remove extra 2D field "for good measure" when initializing in + ctrl_set_globfld_[xy/xz/yz].F + - replace hard coded precision 32 (a bug) in ctrl_map_ini_gen by ctrlprec + - improve error messages in ctrl_set_unpack_* +o OBC implementation in momentum: + use interior masks (maskInC,W & S) in momentum S/R: + - multiply divergence, tension and some del^i.u or del^j.v by maskInC + - multiply del2u,del2v by maskInW/S (biharmonic viscosity) + - multiply horiz. grad of vorticity by maskInW/S (in Leith scheme) + - multiply gradient of wVel by maskInW/S in del2w calculation (NonHyd) + Motivation: fix/clean implementation of OBC with biharmonic-viscosity + (and also with Leith/Smagorinsky harmonic-viscosity). + Update output of experiment dome and exp4 (+nlfs). +o exp4 test-exp: + - turn on: nonHydrostatic, exactConserv, viscA4 (with momDissip_In_AB=F) + and prescribe time-varying OB (without pkg/exf) for zonal-velocity + at Western & Eastern Boundaries (+/- 1 per-cent); Also prescribe + time-varying OB at Western-side for wVel (NonHyd); update output. + - add secondary set-up (.nlfs) using NonLin FreeSurf (z*) + mom_vecinv + and biharmonic-viscosity ; also use prescribed time varying OB. +o pkg/obcs: + fix bug in OBWeta,OBWeta indices in obcs_apply_r_star.F +o model/src: + - fix startTime setting when baseTime<>0 & nIter0=0 are specified ; + - initialise startTime & nIter0 with unlikely values: allows to set one + from the other without ambiguity. +o seaice_obcs test-exp.: + add small diffK4T,S to test biharmonic diffusivity with OBCS ; update output. +o pkg/obcs: + - remove calls to OBCS_COPY_TRACER after EXCH for T,S & pTracer: + no longer needed with maskInC,W,S in pkg/generic_advdiff. +o pkg/seaice: + - retired SEAICE_SALINITY and SEAICE_salinity in favor of + SEAICE_VARIABLE_SALINITY and SIsalFRAC, respectively. + - fixed bug in the initialization of sea ice salinity variable HSALT + in seaice_init_varia.F (removed dependence on ICE2WATR) +o fizhi-cs test exp.: + switch reference output convention for these 2 non-standard test-exp, + from: pgi 6.1-5 on faulks (FC.6, -of linux_ia32_pgf77+authors_fc5) + to: ifort 11.1 on baudelaire (FC.13, -of linux_amd64_ifort11) + reason: faulks might get retired soon and pkg/fizhi has still Pb with gfortran +o model/inc: + - change type of PmEpR array (from _RS to _RL) to fix restart (with "-use_r4") + of exp. global_ocean.90x40x15 (Suncronous time-stepping + Real-FW + NonLin-FS) +o pkg/seaice: + - fix calculation of saltFlux and saltPlumeFlux when using SEAICE_SALINITY +o verification/lab_sea, 1D_ocean_ice_column, seaice_obcs, global_ocean.cs32x15 + - updated output*.txt files due to bug fixes in salt, saltPlumeFlux, + and initial HSALT + +checkpoint62w (2011/04/26) +o pkg/mom_fluxform: + - fix calculation of del2u & del2v (no-slip BC) when using Non-Lin Free-Surf. + - use parameter "sideDragFactor" in no-slip BC side-drag part. + - update output of exp. global_ocean.90x40x15 +o pkg/mom_vecinv: + mask del2u & del2v (no effect on results, but cleaner & closer to mom_fluxform) +o update seaice exp.: + use more consistent parameter values (remove "backward compatability only": + ICE2WATR, SEAICE_lhSublim, SEAICE_cpAir, SEAICE_rhoAir + set rhoConstFresh) + related to thermodynamics seaice. Update output (fwd+AD) of exp.: + 1D_ocean_ice_column (x2), lab_sea (x8), ioffline_exf_seaice (x2) & seaice_obcs +o update test-exp global_ocean.90x40x15: + o use default CD_CODE_OPTIONS file (Adams-Bashforth on CD Mom & Coriolis). + o increase Overlap size from 2 to 3 (to allow to test bi-harmonic Visc.) + o new pickup-files from a 100.yr run with pkg/down_slope (input.dwnslp params) + o turn on zStar & viscA4 in standard set-up (dir input/) + and update output files: output.txt & output.dwnslp.txt +o new AD-test experiment: obcs_ctrl + (From Matt MITgcm_Contrib/SOSE/BoxAdj) to test OBCS as control vector. +o pkg/dic: + fix two bugs in handling water vapour pressure in carbonate chemistry + and air-sea fluxes. Found by Val Bennington and Galen McKinley + (add DIC Option = WATERVAP_BUG to recover old results) + update output of tutorial_global_oce_biogeo (fwd+AD) & tutorial_dic_adjoffline +o adding allowInteriorFreezing option to check for water below freezing point + at depth and bring the negative heat anomaly to the surface level +o pkgs _fields_load: + - extend GET_PERIODIC_INTERVAL to deal with non-periodic case (from pkg/rbcs) + - use new S/R GET_PERIODIC_INTERVAL in pkgs: + bulk_force, cheapaml, cfc, dic, obcs (+ ctrl/ctrl_get_gen_rec), offline and + rbcs to get interpolation weights and time reccord number. + - fix multi-threading in aim_fields_load.F + - apply EXCH to temp arrays [0,1] after reading in dic_fields_load.F +o external_fields_load: + new S/R GET_PERIODIC_INTERVAL to calculate which time-record (and linear + interpolation weights) to use in a periodic time-series ; do not divide by + time-step to convert to integer: + - this fixes case where externForcingPeriod is not multiple of time-step + (Thanks to Christopher L. Wolfe) + - this fixes case where externForcingPeriod is an odd multiple of time-step + (was wrong by half of time-step); update results of tutorial_global_oce_in_p. + store index of time-record which is currently loaded: + - works without any assumption on sequence of calls to EXTERNAL_FIELDS_LOAD ; + - needed for the adjoint but not yet used because of extensive recomputations; + (to be fixed soon) + +checkpoint62v (2011/04/02) +o verification/1D_ocean_ice_column added to test Ian Fenty's + pkg/seaice_growth.F modifications for improving sea ice code differentiability +o update output of exp4, internal_wave, seaice_obcs, tutorial_plume_on_slope + (new velocity statistics after changing maskInW & maskInS definition) +o pkg/generic_advdiff with OBCS: + use maksInW & maskInS in advective flux and in biharmonic diffusion calculation: + equivalent to assumption of no tracer gradient outside the OB region. + This will affect the results if using obcs+biharmonic diffusion. + update output_adm.txt of experiment bottom_ctrl_5x5 (not expected since no obc) +o pkg/obcs: + change definition of maskInW & maskInS: leave OB edges inside (maskIn=1) + (e.g., maskInW(OB_Ie)=1 ) so that velocity normal-component at OB is still + in Interior region. No impact on solution but affects Velocity monitor stats. +o pkg/ptracers (adjoint) + New option AUTODIFF_PTRACERS_SPLIT_FILES for writing separate + tape file for each tracer +o model/inc/src and pkg/autodiff: add parameters that allow to turn + of parts of the adjoint code at run time. For now, there are only + useKPPinAdMode, useGMrediInAdMode, and useSEAICEinAdMode. These + parameters are set in data.pkg. + This is the lazy coward's version of doing this, but still useful for + debugging. In order to do it right, everything needs to be moved to + pkg/autodiff. +o pkg/autodiff: fix global_sum_tile_ad.F by resetting adsumPhi at + the end; this fixes the adjoint balancing code for open boundaries. +o pkg/ctrl: + - change behavior of xx_${varname}period to be analogous to exf-conventions: + xx_${varname}period = 0., means time-independent control part + xx_${varname}period = -12., means one-year-periodic monthly control part + - introduce helper routine ctrl_init_rec (part of ctrl_init.F) to + clean up ctrl_init a little, remove unused variables + - ctrl_init: fixed the handling of the start/endrec for obcs-variables + - move "call cal_GetMonthsRec" from s/r ctrl_get_gen to s/r ctrl_get_gen_rec + +checkpoint62u (2011/03/15) +o model/src: + - for the adjoint, change NonLin-FreeSurf initialisation sequence: fill-in + h0Fac from INITIALISE_FIXED and reset hFac to h0Fac in INITIALISE_VARIA ; + - in initialise_varia.F (except for ALLOW_DEPTH_CONTROL) remove 2nd call to + INI_DEPTHS, INI_MASKS_ETC & INI_LINEAR_PHISURF. +o pkg/ctrl/obcs/ecco: + - remove obsolete, unused, and partially broken code: + ctrl_obcsvol/ctrl_obcsbal/ctrl_volflux and code within + ALLOW_CTRL_OBCS_BALANCE + - put a stop statement into ecco/cost_obcsvol.F, but also add + cost_obcsvol to ecco_ad_diff.list +o pkg/ecco: fix counting cost function contributions for obcs (code + by Matt M.) and diffkr for diagnostics +o pkg/ecco, pkg/ctrl, pkg/grdchk: + add cost penalty terms for initial uvel, vvel, eta controls + and I/O for prior error files +o pkg/mdsio: + move mds_check4file.F from eesupp/src to mdsio_check4file.F ; add option + (new argument) to check for tiled file in mdsioLocalDir : this fix the + restart from pickup_som , pickup_dic (& dic_co2atm) with mdsioLocalDir. +o pkg/ctrl: + - ctrl_obcsbal.F, ctrl_obcsvol.F: replace last calls of ctrl_getrec by + ctrl_get_gen_rec, put a stop statement into ctrl_getrec. Remove + unused and superfluous variables + - ctrl_get_gen_rec.F: catch the case of xx_genperiod=0. +o pkg/ecco + - enable adjoint of Stevens OB +o pkg/ctrl/ecco/grdchk: + - remove global declaration of tmpfldx/yz and tmpfldx/yz2. + Fortunately, we do not have any tests for the numerous cpp-flagged + option of "obcs as control parameters" so we will never know + if this is an improvement (but at least now things compile). + - remove an obsolete initialization from ecco_cost_init_barfiles.F + - fix some problems within never used ifdefs to make the code compile +o pkg/obcs: + - Refine Interior mask definition to work with more complex OB (e.g. + if OB_Ie < OB_Iw); In case default setting is not sufficient, allows to + read in Interior mask from file. Check if Interior mask is consistent + with OB list of indices. +o pkg/seaice + - beginning code for a seaice tracer package, + but currently only used for seaice age: SEAICE_AGE + SEAICE_num = 4 + iTracer = 1: area-weighted ice age + = 2: volume-weighted ice age + = 3, 4: template for one-year vs. multi-year ice + data.seaice has new namelist SEAICE_PARM03 for arrays related to + SEAICE_num + +checkpoint62t (2011/03/05) +o pkg/obcs: + - obcs_apply_uv.F: change to a 2 steps method, first tangential component; + then normal component. This ensures that the normal component is set + correctly even when it conficts with tangential setting from an other OB. + Affects results of test-experiment seaice_obcs: update the output.txt +o pkg/obcs: + - add code to monitor statistics of dynamical fields at OB. + - take OBCS_BALANCE code out of obcs_calc.F into new S/R OBCS_BALANCE_FLOW : + - fix to OBCS_BALANCE code (right hFac ; deal with simple OB intersection). + - change default: balance the Net inflow through all OB (instead of balancing + each OB separately); keep the old method if setting OBC_balanceFacX < 0. + - switch on useOBCSbalance in dome experiment: only correct Western OB outflow + to match Nortern OB inflow (OBCS_balanceFacN=0). +o pkg/seaice: + - redefined actual sea ice age to be ICEAGE/HEFF ifdef SEAICE_AGE_VOL +o pkg/seaice (seaice_growth v 1.113): + - reverting seaice_growth to v 1.111 in order to have code with exact bit + compatibility with MITgcm_contrib/ifenty/Fenty_seaice_thermo_code_merge + CPP option SEAICE_OCN_MELT_ACT_ON_AREA removed in v 1.112 is reintroduced + runtime flag SEAICEareaFormula is kept but is inactive +o model/src: + - add new param to scale curvilinear grid distance and area when using + a different sphere radius from the grid-files. + - test/check multi-threads EXCH applied to local variable (cg2d_x) +o adjoint: + - enable adjoint of Stevens OB + - add dummy_in_dynamics to enable extraction of ADJrhoinsitu + (a bit delicate because of potentially modified adj. common block structure; + current switch is ALLOW_AUTODIFF_MONITOR_DIAG, could be changed later) + +checkpoint62s (2011/02/15) +o pkg/seaice (seaice_growth v 1.112): + - introduce SEAICEareaFormula run time parameter, which selects the recipe for + computing the ice cover tendency from effective thickness tendencies. Include + Ian Fenty's formula. + - remove 'undef SEAICE_OCN_MELT_ACT_ON_AREA' which may now be achieved using + SEAICEareaFormula. + - simplify notations for the various d_HEFF/d_AREA terms. +o pkg/gmredi: + - add Boundary-Value-Problem bolus transport (Ferrari etal, OM 2010) code + from Christopher Wolfe (UCSD); add partial cell factor in vertical derivative; + add a verification test-run (front_relax.bvp) to test GM_useBVP. +o pkg/seaice (seaice_growth v 1.111): + - for SEAICE_DO_OPEN_WATER_GROWTH, replace Gael's implementation with Ian's. + - the new SEAICE_DO_OPEN_WATER_MELT allows open-water air-sea heat fluxes to + also melt ice. +o pkg/seaice: + - McPhee formula for Ice-Ocean fluxes (provided by Ian Fenty). + - can be used by #define MCPHEE_OCEAN_ICE_HEAT_FLUX in SEAICE_OPTIONS.h +o pkg/cheapaml: + - from Nico Wienders: New version of this package. +o pkg/flt: + - add CPP options to prevent floats to re-enter the opposite side of + a periodic domain (default: keep periodicity) +o pkg/gmredi: + - apply exchange to GM_PsiX,GM_PsiY to get valid values near CS-corners + (needed for multi-dim advection). + - switch on GM Advective form in global_ocean.cs32x15 and update output.txt +o model/src: + - fix wrong re-setting of addMass array (ALLOW_ADDFLUID) for atmospheric run. +o tutorial_tracer_adjsens + - extend to NLFS and replace maskC by hFacC + (change reference output accordingly) + +checkpoint62r (2011/01/24) +o testreport: + - add option -deloutp (-do) to remove output file after successful run + - add option -mfile (-mf) for MPI machile-file and for each test-exp, + extract exact list of procs from this file ; adjust COMMAND by + replacing TR_MFILE & TR_NPROC with local machile-file & Nb of MPI procs. +o pkg/ecco: replace old ineffective way of penalizing deviations from + first guess (of obcs) with code by Matt Mazloff +o pkg/ctrl: add code that allows the use of ALLOW_OBCS?_CONTROL without + exf/cal + - ctrl_init: fix initialisation (computation of diffrec) for obcs-ctrl + and handle case of obcs?period == 0 + Not affected by these changes: There is still an inconsistency in + the computation of start/endrec for the obcs variables for ALLOW_CAL + defined (see comment by Menemenlis, 7-Mar-2003) + - make S/R ctrl_get_gen_rec return something meaningful even if + ALLOW_CAL is not defined + - ctrl_getobcs?: simplify code so that it does not need to use + S/R exf_swapfields +o testreport: + allow to test MPI with different number of processors for each experiment: + create file "SIZE.h.mpi" in each build dir. + Note: update of "-command" argument not yet implemented. +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. +o pkg/seaice + seaice_lsr: move stress-divergence computations out of outer pseudo- + timestepping loop +o pkg/obcs/obcs_prescribe_read.F: move 'CALL OBCS_EXTERNAL_FIELDS_LOAD' + up, so that the calls of the ctrl_* subroutines are really at the end + of the routine. +o pkg/gmredi: + allow to specify a 2-D horizontal map and a 1-D vertical profil + as scaling factor for Isopycnal diffusivity (Redi) and GM diffusivity. +o pkg/seaice: + move lsr iterations from seaice_dynsolver to seaice_lsr. +o pkg/seaice: + reduce memory footprint of seaice mutldim advection tapes, + by using a 2D tape independent of the generic_advdiff ones, + and setting GAD_AREA=1 etc. rather than GAD_AREA=101 etc. + +checkpoint62q (2010/12/29) +o model/src: + - check horizontal grid-spacing for unset or zero/negative values. + - change AD test hs94.1x64x5 to be truly a 2-D set-up. +o pkg/flt: + - use (recent) mdsio S/R MDS_READVEC_LOC instead of local FLT_MDSREADVECTOR + - precision of input and output files set according to readBinaryPrec + and writeBinaryPrec (previously always 64.b), pickup remains at 64 bits. + - initial float position from tiled file was not converted to index space + (looks like a bug): fixed to make it similar to initial pos. global file. +o global_ocean.cs32x15: + change SIZE.h of AD set-up to get same tiling as with MPI. + Update output_adm, output_adm.thsice (pass@14) & output_adm.seaice (fail@11) +o model/src: + add flag to control printing of domain fields (bathymetry, hFac ...) in + ini_mask_etc (call to plot_fieds_xy*). +o pkg/thsice: + if useEXF, some forcing fields are not valid in overlap: fixed by computing + over the interior only + apply EXCH at the end (like with SEAICE advection). +o pkg/mdsio: + - add 2 arguments to S/R MDS_PASS_R4/8toRL/S for overlap size of buffer + to copy to/from, so that it can be used to replace MDS_PASS_WH_R8toRL/RS. + - change barrier call for safe multi-threads access to 3-D shared buffer. + - MDS_READ/WRITEVEC_LOC use buffers from MDSIO_BUFF_3D.h (instead of local ones) + - replace call to MDS_PASS_WH_R4/8toRL with call to MDS_PASS_R4/8toRL and + remove the 4 S/R MDS_PASS_WH_R4/8toRL/S. +o pkg/flt: + - add fourth-order Runge-Kutta integration + - add basic exch2 support (only 1 facet supported so far!) +o pkg/mdsio+rw: + new S/R to read local (or tile independent) vector (read counterpart of + mds_writevec_loc, and front-end write_glvec_rl/rs). +o global_ocean.cs32x15: additional input_ad.seaice experiment + that uses pkg/seaice rather than pkg/thsice. + (using multidim advection for seaice) +o towards more F95 syntax for array specification in namelist: + - change "data.diagnostics" (data.ptracers was changed before checkpoint62p) + of all verification experiments. + e.g.: line: fields(1,3)='ETAN ','ETANSQ ', + was changed to: fields(1:2,3)='ETAN ','ETANSQ ', + - finish adding "-DNML_EXTENDED_F77" to DEFINES list in pgf77 and g77 optfiles +o global_ocean.cs32x15: additional input.seaice experiment + that uses pkg/seaice rather than pkg/thsice. + +checkpoint62p (2010/12/17) +o pkg/thsice: rename (ad tape index) iicekey as ticekey, and move it + to THSICE_SIZE.h to avoid conflict with pkg/seaice. +o pkg/seaice: add seaice_diffusion.f seaice_map_thsice.f to adjoint. + allow for use of multim. advection in seaice adjoint. +o pkg/seaice: add diagnostics for snow precipitation and sublimation flux + - first attempt to close budgets by taking into account the freshwater + flux implied by the sublimation of snow and ice. So far only the + volume budget is closed, turn on with soon-to-be-retired-again CPP-Flag + SEAICE_ADD_SUBLIMATION_TO_FWBUDGET +o eesupp/src: + new S/R with new option (NML_EXTENDED_F77) to change array specification + from F95 standard to commonly accepted extended F77 form. + This would allow to use F95 syntax in namelist (needed with gfortran 4.4.5) + and to revert back to the original syntax (with -DNML_EXTENDED_F77) + for less tolerant f77 compiler (e.g., pgf77, g77). +o globalFiles: + commented out in parameter file "data" since it's not safe with MPI + (e.g., wrong on aces); keep it if useSingleCpuIO=T (but not doing much + in this case); no longer commented out in restart test (tst_2+2). +o add adTapeDir to specify a special directory where adjoint tapes are + written/read (adread_adwrite.F). adTapeDir is specified in data/PARM05 + and cannot be used together with mdsioLocalDir. +o nesting pkgs: + - packages_init_variables : put call to OBCS_INIT_VARIABLES in last position + - update Gianmaria's Nesting pkgs (from Contrib/nesting_sannino) + - add parameter files + utils dir + output from short run on beagle. +o pkg/seaice: + fix seaice_growth.F store directives; update results of exp. lab_sea.ad +o pkg/seaice: explicitly store tsurfloc in seaice_solve4temp.F to avoid + unnecessary copying in adjoint code, requires new parameter NMAX_ITER + +checkpoint62o (2010/11/25) +o pkg/exf: + - change CPP option EXF_VERBOSE to run-time logical param exf_verbose. +o pkg/seaice: + - seaice_ocean_stress: split a loop for better vectorization of the + adjoint code + - seaice_growth.F: fix bug in conservation of freshwater connected to + capping of heff, put contribution into d_HEFFbyNEG + - replace irritating parameters SEAICE_latentWater/Ice and SEAICE_sensHeat + by something more sensible (parameters that are what their name implies) + - change some defaults, so that by default exf-parameters are used for + things like rhoAir, cpAir,latent/sensible heat parameters, in order + to reproduce the old results, many data.seaice now contain funny values + for cpAir and latent heat of sublimation +o packages_readparms.F: move exf_readparms up in line so that + exf-parameters are visible for other packages (e.g. seaice) +o debugMode & debugLevel=2: + - differentiate between debugMode & debugLevel=2: + debugMode: controls printing of debug messages (sequence of S/R calls). + debugLevel: controls printing of algorithm intermediate results and stats. + - remove "if debugLevel=2 => debugMode" but keep "debugMode => debugLevel=2"; + => allows to print debug-stats without all sequence of call messages. + - switch control of debug print from debugLevel to debugMode in many S/R. +o pkg/obcs (obcs-sponge): + fix bug that was introduced on Oct 25 (in dynamics.F v1.151): put back the + call to OBCS_PRESCRIBE_EXCHANGES (need to exch gU,gV when using obcs-sponge) +o pkg/generic_advdiff: + - record overlap minimum size for each advection scheme; + - refine criteria on overlap minimum size; + - check and stop (in gad_check) if overlap size is too small. +o pkg/obcs: + - with ptracers: remove multiple calls to obcs_apply_ptracer (only done + once, in ptracers_implicit.F) + - with seaice: remove test on empty file name in obcs_apply_seaice (always + apply OB values when tile has OB) +o model/src, coriolis setting: + - integer parameter "selectCoriMap" (=0,1,2) replaces 3 logical + useConstantF, useBetaPlaneF, useSphereF ; can now read coriolis from + files (selectCoriMap=3) with any grid. + - add parameter "fPrime" for constant second Coriolis coeff (default=0). +o pkg/seaice/seaice_growth.F: + a few cosmetic changes that reduce the number of lines of code +o pkg/obcs: add boundary conditions following Stevens (1990) + - the code follows old MOM/NAOSIM code + - so far it is only implemented for the eastern and western boundaries + and NOT for pTracers +o pkg/rbcs: + - replace rbcsInIter by rbcsForcingOffset, the time in seconds at the + beginning of the first rbcs forcing period. + - add option rbcsSingleTimeFiles that makes rbcs read forcing data like the + offline package, i.e., one file per time, labeled by iteration number; + deltaTrbcs sets the timestep with which the data was generated; + rbcsIter0 is the forcing iteration corresponding to rbcsForcingOffset. + - rbcsForcingCycle=0 makes forcing non-cyclic. + - make arithmetic safe for negative times and odd forcing periods. + +checkpoint62n (2010/11/09) +o pkg/seaice: + fix masking in free-drift S/R ; update results of exp. lab_sea.fd +o pkg/obcs: + New S/R to copy tracer value from the OB location to narrow band region + (width = same as overlap) beyond the OB: preserve OB value (needed for + high-order scheme) which were overwritten by EXCH call if in overlap + region. Applied to theta, salt, ptracer and advected seaice variables. + With seaice: use maskInC in similar way as in gad_advection.F, + in seaice_advection.F and advect.F. + Update output of experiment seaice_obcs and change exp4 to test OBCS with + 4th order Adv.Scheme. for pasive salt and ptracer. +o tools/genmake2: + - when looking for an optfile (not specified), only search for Fortran compiler + (remove sym-link test + setting of CPP + makedepend check + C-compiler check) + - in get_fortran_c_namemangling: use "$CC $CFLAG" to compile C test programm + (instead of "$MAKE genmake_test.o" since an existing Makefile can be wrong) + - set default for CPP to "cpp -traditional -P" (was the case without specifying + an optfile, but otherwise default was just "cpp". + - comment out PLATFORM=$p_PLATFORM (no idea where p_PLATFORM comes from) + - when "CC" is not set in the optfile, look for possible C compiler + (instead of just setting CC=cc) + - put back version v.169 modif (from 2008/02/15), was dropped in v.173 changes: + => add a ".F" to ".o" rule for source files with no "#include" (such as + port_rand.F); otherwise, default ignores FOPTIM and just uses FFLAGS. + - move gfortran before g77 in list of possible Fortran compiler (consistent + with reference compiler switch from g77 to gfortran) +o pkg/seaice: + o remove SEAICE_OLD_AND_BAD_DISCRETIZATION-code, add a test to + seaice_check that stops the model, when the CPP flag is used. + o seaice_growth.F: make capping of ice volume conserving by returning the + capped ice as freshwater to EmPmR. This does not change the verification + experiments but will change runs where the capping is acutally active +o change reference platform+compiler from faulks+g77 to baudelaire+gfortran + (except the 2 fizhi test exp.); update output of exp.: bottom_ctrl_5x5, + global_ocean.cs32x15 (icedyn, thsice, AD thsice), global_ocean_ebm (AD), + lab_sea (fd, hb87, salt_plume), MLAdjust (3/5) and vermix (dd) +o tools/genmake2: + - merge genmake_warnings & genmake_errors into 1 log file: "genmake.log") + - change DUMPSTATE default to false (can use "-ds" option to switch it to T) + - clean previous genmake log files before anything else. + - change Makefile to remove testreport log files (*.tr_log) and genmake log + files only with "CLEAN" target (instead of "Clean"); +o pkg/generic_advdiff: + Change OBCS in multiDim advection (gad_advection.F): + Use maskInC to prevent intermediate update of tracer-field in OB regions, + thus keeping current-time-step OB values; and remove the call to OBCS_APPLY + which were applying future time-step OB values. + This way, all explicit calculations use current-time-step OB values + (simpler and more consistent). + Affects results when set-up uses time-varying OBC and multi-dim advection; + update output of experiment seaice_obcs. +o pkg/seaice: + move OPTIONS (formerly locally defined) to SEAICE_OPTIONS.h: + this includes SEAICE_GROWTH_LEGACY (+ SEAICE_DO_OPEN_WATER_GROWTH & + SEAICE_OCN_MELT_ACT_ON_AREA ) and SEAICE_SOLVE4TEMP_LEGACY. + Default (pkg/seaice/SEAICE_OPTIONS.h) is to define SEAICE_SOLVE4TEMP_LEGACY + but leave SEAICE_GROWTH_LEGACY undef ; For now, keep verification exp + unchanged (SEAICE_GROWTH_LEGACY defined in */code*/SEAICE_OPTIONS.h) +o pkg aim (2010/10/26): + - Introduce ALLOW_INSOLATION, moving toward a more general incoming solar radiation + formulation with obliquity, eccentricity, ... as run-time parameters, + - Introduce diagnostics for top-of-the-atmaophere incoming solar radiation and + upward shortwave radition at the surface (all-sky and clear-sky). +o pkg/obcs: + - writing sections with globalFiles=T does not work: switch to tiled-files + when writing sections for OBCS (change pkg/rw/write_rec.F accordingly). + - fix index bug (OB_Ie -> OB_Iw_) in obcs_apply_uvice.F + - apply OBCS_SEAICE_COMPUTE_UVICE to both uice and vice at all obcs + +checkpoint62m (2010/10/21) +o pkg/seaice: vectorize seaice_solve4temp.F + - move iterations loops outside of i/j-loops + - requires 2D arrays for TB and effConduct + - add 2D iceOrNot to replace HICE_ACTUAL.GT.0, as HICE_ACTUAL is + modified in this routine + - a little bit of clean up, adjusting indentation, etc. + - replaced a few TEN**a by exp(a*log(10.)) in new code for better + performance and '**TWO' by '**2' (because TWO is a float), + replaced ONE, ZERO +o eesupp/src: + fix flow dir for exch1_z_RX_cube, exch1_uv_RX_cube & exch1_bg_RX_cube +o pkg/seaice/seaice_growth.F + Revision 1.89 of seaice_growth.F completes the overall october 2010 revision and + merging process. The merged routine has two branches, and one activates the 'evolution' + branch by setting SEAICE_GROWTH_LEGACY to undef (at the top of the routine for now). + In summary, here is what the '10/10 revision' did consist of + part 1: seaice_growth.F revisions 1.71 to 1.75 + - Preliminary seaice_growth.F clean-up, keeping test results strictly unchanged. + The emphasis here was on improving readability (e.g. by trying to use meaningful + variable names) and modularity (e.g. by adding arrays to store heff etc. updates). + part 1.5: + - revising the lab_sea experiment to make it a more useful (i.e. stable + and representative of an actual model run). This was done by generating a + (winter) pickup to start from, switching back the main experiment dynamic + solver from evp to lsr, having one of the experiments use the free drift solution. + part 2: seaice_growth.F revisions 1.76 to 1.85 + - Sorting out hard-coded constants that prevented heat and fresh water conservation. + - Sorting out the various fields units and sign (set early on and reset at the end) + to avoid numerous scalings/re-scalings. By v1.85 the basic unit for ice, heat and + fresh water stock is 'effective ice meters', and >0 implies more ice/snow. + - Using tendency terms arrays (d_HEFF* etc.) to alleviate remaining code locks, + and simplifying logical expressions to further improve readibility. + part 3: seaice_growth.F revisions 1.86 to 1.89 + - Re-organize the blocks of code more logically. + - Merging the '_if.F' pieces that add something new. +o pkg/thsice: + - vectorize thsice_solve4temp and thsice_get_exf. + Problem: thsice_solve4temp has an unvectorizable statement that + might also be problematic for TAF + - thsice_get_exf: add the ALLOW_BULK_LARGEYEAGER04 CPP-flag. This + does not change the verifcation experiment, but will change all + experiments that have this flag undefined (not tested in verification); + a little reorganization to save a few 2D fields and recomputations + - 1st step of revisiting thsice adjoint (major recomp. sorted out) + - 2nd step: fix some store dirs + o seems to work somewhat, i.e. using ifort but not g77 + o likely cause are incomplete init. or recomputation + o start verification/global_ocean.cs32x15/input_ad.thsice +o pkg/obcs: add support for exch2 + - the position of the boundary and prescribed values are specified using + a global domain with exch2 facets stacked + - in x for N,S boundaries (like W2_mapIO=-1) + - in y for E,W boundaries (so E,W boundaries do not overlap) +o pkg/mdsio: add support for writing global sections with exch2 + file layout is as for obcs described above: + - for x-z sections, facets are stacked in x (like W2_mapIO=-1) + - for y-z sections, facets are stacked in y +o pkg/thsice: + - change a few routines for better vectorization: thsice_albedo.F, + thsice_step_temp.F, and in thsice_calc_thickn.F. Results are + not affected, but in particular the latter routine has changed + dramatically (not necessarily easier to read now). + - re-arrange calculation in THSICE_SOLVE4TEMP: move outside of i,j loops + iteration loop and call to S/R THSICE_GET_BULKF & THSICE_GET_EXF. +o verification/lab_sea: + - overhaul of the forward model experiments. The main motivation + for this revision is that lab_sea has proven quite fragile (when + changing the sea-ice code, and switching platforms) to a point + when failures were very hard to attribute to specific code problems. + - the suspected reason for this fragility is noise amplification by evp so, + to start with, we decided to replace evp with lsr in the main experiment. + - the input.lsr experiment thus became obsolete and was removed. + - it was replaced with the input.fd experiment that uses an + analytical "free drift" solution as the ice velocity field. + - Taken together, input (lsr), input.fd (free drift) and input.hb87 (evp) + will hopefully allow us to discriminate problems due to dynamic solvers + from problems due to the thermodynamic code. input.salt_plume (lsr) allows + us to test additional options, along with the salt plume package. + - Finally a pickup was generated (at the end of a one year run) to + make the tests more representative of an actual model run. Previously + the tests starting point was a 1m thickness of ice everywhere. +o pkg/seaice: + - introducing S\R seaice_freedrift.F that compute the + analytical solution to an approximate ice momentum + equation (i.e. the simple stress/coriolis balance). + - define SEAICE_ALLOW_FREEDRIFT to trigger the computation + of the free drift velocity field, and enable its use. + To actually use the free drift solution as the model ice + velocity field set SEAICEuseFREEDRIFT to .TRUE. in data.seaice. +o move "useOASIS" from PARAMS.h to EEPARAMS.h and read it from "eedata" + +checkpoint62l (2010/10/04) +o pkg/seaice: + -fix the USE_ORIGINAL_SBI version (for variable freezing point); + -use "celsius2K" in SEAICE_VARIABLE_FREEZING_POINT and in new + version (with USE_ORIGINAL_SBI undef); +o add hooks for new packages OASIS, the package will follow + (hooks exclude the seaice pkg for now) +o pkg/autodiff: ALLOW_AUTODIFF_WHTAPEIO + Option to use mdsio_read_whalos.F/mdsio_write_whalos.F, + rather than mdsio_readvector.F/mdsio_writevector.F, within + adread_adwrite.F to read/write adjoint-related tapes to disk. +o eesupp and pkg/mdsio: ALLOW_WHIO + Option to write/read 2D fields to files including tiles halos. + The main purpose is for adjoint related "tape I/O". + The secondary purpose is for debugging phases. + A word on those rather specifically intended purposes. + The code was meant to be stripped down to the bare minimum. + Typically, there is a unique and basic mapping to the global + buffer (tile by tile, then proc by proc, then level by level), and + byteswaps and meta-files are omitted. Indeed the (*_WH*) code is not + meant to generate user friendly outputs of various shapes and forms. + Rather it is intended, for the knowledgeabale developers, + to be largely independent of the many mdsio options, to allow + outputs of tiles+halos in debugging phases and in adjoint runs, + and to allow some flexibility in tuning (adoint) I/O depending on each + file system behavior. With regard to tuning, most of the potential knobs + (to leave files open, to allocate the I/O indep. of usesinglecpuio, + to specify directories, to specify the typical size of I/O calls, etc.) + are not yet included, and will be added if they prove useful. +o pkg/seaice: + fix uninitialised arrays in USE_ORIGINAL_SBI version of seaice_solve4temp.F +o pkg/seaice: + new S/R seaice_solve4temp.F: this is the merged version of Ian Fenty + code (seaice_budget_ice_if.F) which enable to recover old standard + code (seaice_budget_ice.F) when option USE_ORIGINAL_SBI is defined. + temporary: add "#define USE_ORIGINAL_SBI" at the top of seaice_solve4temp.F. +o model/src (rStar): + use simple average (not area weighted) of rStarFac at U,V point when using + vectorInvariant and selectKEscheme=1,3 (consistent with mom. vertical advection) + update output of exp. fizhi-cs-32x32x40 and fizhi-cs-aqualev20. + +checkpoint62k (2010/09/17) +o adjoint + * changed verification/global_ocean.cs32x15 ; adjoint now tests + Adams-Bashforth 3 + NLFS + RSTAR + * some more modifs required for ECCO-GODAE v4 +o pkg/seaice + add SEAICE_AGE_VOL option to use volume instead of area for + integrating SEAICE_AGE +o model/src: + first check-in of sigma & hybrid-sigma coordinate code ; also includes + non-linear free-surface parts ; but pressure-gradient not yet coded. +o pkg/ptracers: + option for ptracer to convert Salt Relax into additional EmP. + tested in exp. global_ocean.90x40x15.dwnslp (update output) + +checkpoint62j (2010/08/25) +o pkg/ggl90: + other minor changes: remove 3-D temp array gTKE (+ add argument myIter) +o pkg/dic: car_flux.F, phos_flux.F + - reduce number of exp-calls in order to improve performance + - clean up a little (replace fields by their macros, etc., fix + typo in CPP-flag) +o pkg/ggl90: minor changes + - GGL90diffKrS was removed --> always use GGL90diffKr + - GGL90viscAr was removed --> replaced with GGL90viscArU, GGL90viscArV + - hack of mxlMaxFlag=2 --> ensure mixing between first and second level + (commented out for now) + - change in max/min operations to ensure that smoothing is ok + - smoothing of GGL90viscAr was moved to ggl90_calc.F (as done for GGL90diffKr) + - always use diffKrNrT as background profile (i.e. never use diffKr field) +o pkg/cfc: bug fix, AREA(i,j,1,bi,bj) -> AREA(i,j,bi,bj) +o pkg/dic: + - model/src/impldiff.F: if TARGET_NEC_SX, extend loop ranges for better + vectorization + - small bug fix in insol for the unlikely case of a cartesian grid + - towards vectorizing the dic package: bio_export.F, car_flux.F, phos_flux.F + + now vectorize, which also removes adjoint recomputations; + + replace integer maksp1 by _RL maskp1 + + replace a**x by exp(x*log(a)) in phos_flux.F for speed + +checkpoint62i (2010/07/21) +o pkg/flt: + - with OBCS: stop floats which enter the OB region +o model/src: + - use tempVertAdvScheme & saltVertAdvScheme (instead of horizontal ones) + for implicit vertical advection. +o pkg/seaice: + - account for melting in seaice age evolution. + - remove double counting of seaice ridging effect on seaice age. + +checkpoint62h (2010/06/18) +o pkg/exch2: + - remove exch2_*xy_rx files: call was replaced with exch2_*3d_rx(myNz=1). +o tools/genmake2 + - remove "-pdefault" option: redundant with the use of "packages.conf"; + - remove file pkg/pkg_default : set the default as a pkg group + ("default_pkg_list") defined in pkg/pkg_groups; + - fix for case pkg/pkg_depend is missing (was hanging before); + - add option "-pgroups" to specify a different pkg_groups than the default. +o verification/adjustment.cs-32x32x1: + add a "minimal" set-up test (code_min & input_min) which only compiles + eesupp/src and the 2 pkgs (exch2 & debug) which don't need model/src & inc. +o tools/genmake2 + - extend pkg_depend rules to model & eesupp (e.g., if model depend on [pkg])) + - fix details of checking for mnc & profile pkg when NetCDF is unavailable. +o pkg/exf: merge exf_bulk_largeyeager04 into exf_bulkformulae because these + files are nearly the same anyway. + Step 1: make exf_bulkformulae look like exf_bulk_largeyeager04: + - redefinition of tau(i,i) (by a factor of ustar) + - 1./exf(Const/T) -> exf(-Const/T) (big change in the results) + - replace rhonil by rhoConstFresh in computation of evap (bug fix) + - replace u/vstress=tau*rd*ws*cw by tau*rd*u/vwind (changes results) + - replace + rd(i,j)= rdn(i,j)/(exf_one - rdn(i,j)/karman*psimh ) + shn = sh(i,j,bi,bj)*rd(i,j)/rdn(i,j) + by + shn = sh(i,j,bi,bj)/(exf_one - rdn(i,j)/karman*psimh ) + (changes results) + -> exf_bulkformulae v1.22, + update verification experiments lab_sea, offline_exf_seaice, seaice_obcs + (lab_sea: output.hb87.txt 1.11, output.lsr.txt 1.25, output.salt_plume.txt 1.13, + output.txt 1.63 + offline_exf_seaice: output.seaicetd.txt 1.7 + seaice_obcs: output.txt 1.10) + Step 2: do the actual merge and remove exf_bulk_largeyeager04.F + -> exf_bulkformulae v1.23, + unfortunately requires updating lab_sea.salt_plume (6 matching digits), + and global_ocean.cs32x15.icedyn (only 11 matching digits) + Also update output_adm of exp. lab_sea (all 4) and offline_exf_seaice. +o adjoint of exch-1: + - pass high-level EXCH S/R through TAF (eesupp/src/exch_ad_diff.list) + (note: was already like this when using EXCH-2) and remove flow dir + and hand-written AD version of high-level EXCH S/R (pkg/autodiff); + - provide flow-dir for low-level exch1 S/R (eesupp/src/exch1_ad.flow); + - update pkg/exch2 diff list. + +checkpoint62g (2010/05/19) +o eesupp/src (exch-1): + - split exch_rx.F into Forward S/R (exch1_rx.F) and Adjoint S/R (exch1_rx_ad.F) + and remove argument "simulationMode"; same thing for all exch_*rx_cube.F + (renamed to exch1_*rx_cube.F). + - change accordingly exch_*_rx.template and AD version in pkg/autodiff + to call new exch1 S/R ; update Makefile and .cvsignore. + - replace call to exch2_xy_rx S/R with exch2_*3d_rx(myNz=1) (will remove + exch2_xy_rx later) + Note: after updating your code, need to run "make clean" in eesupp/src +o test experiment bottom_ctrl_5x5: + new output_adm.txt with fewer grdchk & less monitor output. +o model/src: + remove the call to ini_cori in initialise_varia.F (just keep the usual one + in initialise_fixed.F). More consistent with coriolis & horizontal grid + beeing treated in the same way (ini_grid is not called a 2nd time). +o pkg/exf: + - rewrite exf_bulk_largeyeager04.F for better vectorization, changes + global_ocean.cs32x15/input.icedyn (11 digits of agreement), updated + - fix adjoint (used worked for ALLOW_ATM_WIND defined, works for this now) + - cosmetic changes to exf_bulkformulae.F to make it look more like + exf_bulk_largeyeager04.F +o eesupp/src (exch-1): + - Fix AD EXCH code for 2-D domain special cases (Nx=1 or Ny=1). + - Separate buffer filling and MPI sending: allow EXCH-1 to work for local + array (non-shared) when using MPI+MTH. Also reduces number of BARRIER + (even without using MPI). + - Message mode: move RecvAck setting (indicator of buffer being ready) + from send_put to recv_get S/R (was useless before, but not sure if + it's much more useful now); + - Switch the order of sync: MPI-proc 1rst and then threads; + - take out spin-waiting code (#undef EXCH_USE_SPINNING), use BARRIER instead. + - fix AD code for communication mode ='get' (but not used). +o model/src: + initialise dPhiHydX,dPhiHydY inside calc_grad_phi_hyd.F (so that TAF does + not drop it in S/R mddynamics, producing NaN in hs94.1x64x5 AD-test exp). +o utils/matlab/rdmnc.m: adapt to be able to use the generic matlab netcdf API +o pkg/ctrl: require a specific set of control variables and exf-flags for + adjoint of seaice (stop in ctrl_check.F if conditions are not satisfied) +o model/src: + a) 1rst version of a new driver S/R to turn-off output freq and flags after the + 1rst forward sweep, to avoid over-writing output files during recomputations + recomputations (& grdchk); called from cost_final.F (& ctrl_init_ctrlvar.F ?) + b) 2nd version: + - add specific pkg S/R for seaice & ptracers (called from S/R TURNOFF_MODEL_IO); + - switch-off more output flags (exf_monFreq, chkPtFreq, dumpInitAndLast, + writePickupAtEnd) + seaice & ptracers output; + - do not switch off MNC flags (otherwise, won't get admonitor netcdf file) +o model/src: + - new S/R rotate_uv2en_rl (..._rs) that rotates vector fields. +o pkg/exch2: + - remove "simulationMode" from arg. list of S/R EXCH2_RX1,2_CUBE ; + - add argument "signOption" to EXCH2_RX1_CUBE (will be needed for SM exch). +o pkg/autodiff & exch2: + process exch_uv_agrid_3d_rx.f & exch2_uv_agrid_3d_rx.f through TAF + (for now, only if ALLOW_EXCH2 is defined). +o pkg/autodiff: + - include PACKAGES_CONFIG.h in exch*ad.flow & exch*ad.F + (not supposed to be in CPP_OPTIONS.h) to get ALLOW_EXCH2 defined correctly. + + clean-up comments (_RS is not always real*4) + - fix bug in ADEXCH_UV_3D_RX (without EXCH2, was calling the forward exch S/R) + - add a stop in ADEXCH_UV_AGRID_3D_RX if trying to use it with EXCH2: + was calling a forward exch2, which is wrong ; used in SEAICE & EXF pkgs. +o testreport (AD-tests): + no longer link files from dir "../input" (1rst link files from + "../input_ad.[xx]" if secondary test "xx" and then from "../input_ad") + +checkpoint62f (2010/04/29) +o model/src/the_main_loop.F: + adjust store directives for seaice evp and multicategory according to + pkg/ecco/the_main_loop.F +o adjoint: + global_sum_ad was incomplete (noted many times by many people ;) + nice description by Jean U. as follows: + * allreduce(var) in global_sum.F can be interpreted as + reduce(sum) followed by broadcast of sum. + * The adjoint of that is + sum(adjoint) followed by broadcast(summed adjoint value) + or in other words, allreduce(sum, adjoint vars) + We were missing the sum(adjoint)! + Benign, except(!) for "global" scalars appearing in tile loops (bi,bj) + (noted by J.M. Campin, e.g., in cost_ssh_mean, variable offset). + The fix should produce 16-digit accuracy between + single-CPU multi-tile (e.g. nSx=2, nPx=1) and + multi-CPU single-tile (e.g. nSx=1, nPx-2) + We'll probably change this yet again shortly +o eesupp/src: + - fix global_sum_r4 (wrong from previous modif in Jun 2009; ever used ?) +o pkg/icefront + - ALLOW_SUBGLACIAL_RUNOFF option adds capability for time-evolving + specification of addmass array based on a 2D field, which is added + at bottommost wet level at each horizontal location. +o model/src: + horizontal grid initialisation (other than curvilinear): add code for Exch2 IO + layout; (not always compatible with delX,delY setting; commented out for now). +o pkg/exch2: + change tile to processor setting (case nSy*nPy > 1): allows default model mapping + (myX and myYGlobalLow) to be used for simple (1 facet, no blank tile) config. + +checkpoint62e (2010/04/15) +o pkg/obcs: + - fix wrong index in OBCS_SPONGE_V for Eastern-OB (reported by David Hebert). +o pkg/dic: + -fix bug in fe_chem.F for multi-tile (nSx*nSy > 1) set-up; + (note: not presently tested in any forward verification exp.) + update tutorial_global_oce_biogeo AD output file. +o pkg/exf: - account for the variation of albedo as a function of zenith angle - by defining ALLOW_ZENITHANGLE in EXF_OPTIONS.h + by defining ALLOW_ZENITHANGLE in EXF_OPTIONS.h o build_options: - rename "linux_ia64_ifort+mpi_ice_nas" to "linux_amd64_ifort+mpi_ice_nas" o pkg/dic: @@ -79,8 +944,8 @@ but keep the former optfile for few weeks for smooth transition o pkg/ecco - allow user defined cost function contributions - CPP: ALLOW_USERCOST_CONTRIBUTION - USAGE: compute contributions in cost_usercost_all.F + CPP: ALLOW_USERCOST_CONTRIBUTION + USAGE: compute contributions in cost_usercost_all.F - note: this is identical to what ALLOW_GENCOST_CONTRIBUTION once was. the two options are complementary. o pkg/smooth