Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Sticky Tag: |
add run-time param to allow to turn off tidal forcing.
new run-time param (useMin4hFacEdges) to select method for setting hFacC
new input parameter "rwSuffixType" (read from PARM03 namelist) to select file suffix format; by default (=0), use iteration number;
add new parameter "selectImplicitDrag" for implicit treatment of bottom drag
- new parameters "top_Pres" & "seaLev_Z" (replacing Ro_SeaLevel and recently added phi0Ref) to set vertical axis origin and phiRef origin according to coordinate and fluid type.
add new parameters (phi0Ref, selectP_inEOS_Zc & gravityFile)
add few more parameters (but still inactive, src code yet to come)
- to check restart test, add option to apply EXCH to U,V earlier, just before integr_continuity; turned off by default.
Merge and update from Krishna Narayanan's contrib area: o Add one variable for preliminary OpenAD DIVA o Add replacement time-stepping for OpenAD DIVA
add run-time parameters to select bottom-drag options
initialise "geothermalFile"
- bug fix (need to initialize viscFacAdj to 1).
remove "recip_Cp" from common block ; add thetaConst (for pStar)
add input files for 2-D additional Western and Southern cell-edge wall (e.g., to add "thin-wall" where it is =1)
useSingleCpuInput separates single-CPU input from single-CPU output
remove parameter "useOldFreezing" from PARAMS.h
add run-time parameters for isotropic 3-D Smagorinsky (Smag3D)
remove unused forcing field "dQdT" and associated parameter "dQdTFile"
add run-time parameter to select CG2D solver minimum-residual solution (in case of a poor convergence)
- allow to read-in time-constant addMass field from file (addMassFile); - add support to account for frictional heating (run-time switch & CPP option).
add logical flag, true if using Cubed-Sphere Exch with CS-corners inside the domain
create new header file "AUTODIFF_PARAMS.h" for pkg/autodiff parameters which are now read from new parameter file "data.autodiff" (inAdExact previously in "data", use{KPP/GMRedi/SEAICE}inAdMode previously in data.pkg)
- 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.
add coeffs (1-D array) for vertical biharmonic diffusion on T & S.
adding pkg/frazil - see frazil_description.tex for details
- change default celsius2K from 273.16 to 273.15
move delX,delY to new header file (SET_GRID.h) and adjust length to 1rst face dimensions.
new run-time switch "doResetHFactors" (default=false) to reset (or not) thickness factors (hFac*) at the beginning of forward_step.F
switch reading of debugMode from S/R INI_PARMS (parameter file "data") to S/R EESET_PARMS (parameter file "eedata").
- 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.
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
add new param to scale curvilinear grid distance and area when using a different rSphere.
initialise new parameter adTapeDir
- remove useConstantF, useBetaPlaneF, useSphereF and replace them with integer parameter "selectCoriMap" (=0,1,2). - add parameter "fPrime" for constant second Coriolis coeff (default=0).
first check-in of sigma (and hybrid-sigma) coordinate code
Adding parameters to specify temperature and salinity of addMass array separately from temp_EvPrRn and salt_EvPrRn
ALLOW_3D_VISCAH/ALLOW_3D_VISCA4 => 3D specification of Viscosity => addition to the viscosity field as computed by others schemes
add Christopher Wolfe's implemetation of the single reduction cg2d (d'Azevedo, Eijkhout, and Romine, 1999) with CPP-flag ALLOW_SRCG and runtime flag useSRCGSolver
add run-time parameters to check and mask initial T & S
rename thetaMin,phiMin -> xgOrigin,ygOrigin (temporary backward compatibility in ini_parms.F, until next checkpoint)
Add smoothing parameter for mixed-layer diagnostics
dRhoSmall (for mixed-layer diagnostics) now a run-time paramater
disentangle parameters: retire shelfIceFile in data/PARM05 and substitute with SHELFICEtopoFile in data.shelfice, update data files in verification experiment
initialisation and option setting for mass source/sink of fluid
Put eddyPsi back now that PARAMS is there!!!! :-)
Changing back Gaels mod - since they don't compile due to missing PARAMS.h mods
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
remove from PARAMS.h: doTr1ClimRelax, tauTr1ClimRelax, lambdaTr1ClimRelax
new parameter "selectVortScheme" to select which scheme to use for vorticty-term (in Vector Inv.); remove "SadournyCoriolis" flag.
add a flag writePickupAtEnd (default=true) to be able to suppress writing a pickup at the last timestep
add parameter rotateGrid and Euler angles EulerPhi/Theta/Psi. For usingSphericalGrid, this allows to define the rotated grid coordinates via phiMin/thetaMin/dxSpacing/dySpacing, etc., but then re-compute the geographical coordinates according to the inverse of the rotation defined by the Euler angles, so that Coriolis parameter and online-interpolation by exf works with the geographical coordinates on XC/YC/XG/YG. The three Euler angles PhiEuler, ThetaEuler, and PsiEuler define the rotation about the original z-axis (of an sphere centered cartesian grid), the new x-axis, and the new z-axis, respectively. Naturally, this feature does not work with all packages, so the some combinations are prohibited in config_summary (flt, flt_zonal, ecco, profiles), because there the coordinates are assumed to be regular spherical grid coordinates.
add "monitorSelect" to reduce number of monitored fields (default unchanged)
add new run-time parameter, "pickupStrictlyMatch": when reading pickup, check and stop if pickup-files do not stricly match; default=T.
prepare for "clever pickup" implementation: new header file: RESTART.h for internal parameters related to restart process (move parameters from PARAMS.h & GAD.h to new header file RESTART.h)
use mass2rUnit & rUnit2mass as units conversion factor (for surface forcing) and remove horiVertRatio (& recip_horiVertRatio);
add temperaure criteria for Mixed-layer diagnostic
latitudinal dependence of Bryan and Lewis, 1979 fixed and reworked as per JM suggestions
o Added capability for latitudinal dependence of Bryan and Lewis, 1979 vertical diffusivity, similar to that in MOM4; vertical diffusivity is specified using diffKrBL79* diffKrBLEQ* and KbryanLewisLatTransition
Modified capability for 3D specification of background vertical diffusion coefficient as per JM requests. 3D diffusion is now specified by (i) #define ALLOW_3D_DIFFKR in CPP_OPTIONS.h and (ii) specifying file diffKrFile in runtime "data" file that contains the 3D vertical diffusivity coefficients.
o Added capability for 3D specification of vertical diffusion coefficient. This is done by specifying files diffKr3dSfile and diffKr3dTfile that contain the 3D vertical diffusivity coefficients. Modified files: doc/tag-index model/inc/PARAMS.h model/src/calc_3d_diffusivity.F, calc_diffusivity.F, ini_mixing.F, ini_parms.F, and set_defaults.F Added missing file verification/tutorial_global_oce_latlon/run/.cvsignore
add flag "useGAD" (turned on from temp,saltStepping & usePtracers)
usePickupBeforeC35 no longer supported ; remove this option.
initial check in: correction of tracer source/sink due to Linear Free surface
initialise "the_run_name" (was missing).
add "deepAtmosphere" flag
allow to read vertical arrays: tRef,sRef,delR & delRc from (binary) file ; + start adding anelastic-code parameters
add useSphereF, useBetaPlaneF and use3dCoriolis to namelist PARAM01 ; change default of useSphereF to T (if set to F => read Coriolis from files);
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
move calendarDumps from "data" to "data.cal" and clean-up the code with a simple call to pkg/cal S/R: CAL_TIME2WRITE (the former piece of code started to spread over newly checked-in S/R) add useEXF & useCAL flags (for now, set in hard-coded way)
change forcing_In_AB to affects both T,S forcing and Momentum forcing (allow to differentiate between forcing components using new integer flags: momForcingOutAB=1/0 & tracForcingOutAB=1/0) and add new flag to put Dissipation tendency out of Adams-Bashforth.
- change the default rotation period to 86164.s = the Earth rotation - replace .D0 by _d 0 (supposed to be the standard).
move tauThetaClimRelax3Dim & tauSaltClimRelax3Dim from common block to "retired parameter" list (in ini_parms.F)
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
Adding unfinished 3-dim relaxation code.
add new parameter (implicitIntGravWave) even if the code is not yet ready; (hard to maintain a different version of theses files during testing phase)
new parameter: doAB_onGtGs to (always) apply Adams.Bashforth on tracer tendencies (rather than on tracers <- coming soon).
new parameter: sideDragFactor to enable half-slip-side BC.
change default value of tRef (uniform, meaningfull value for ocean & atmos) and initialize sRef (was missing, as Martin mentioned).
add KEscheme selector.
Allow use of old scheme for viscous lengths with useAreaViscLength=.TRUE. Default: .FALSE.
Fix remaining initialization issues.
Adding clean version of mom_calc_visc and viscAhRemax and viscA4Remax params.
Parameter and config_summary changes for mom_calc_visc.F
Modified model/inc/PARAMS.h model/src/ini_parms.F model/src/set_defaults.F for release1_50yr
updating model/inc/PARAMS.h model/src/ini_parms.F and model/src/set_defaults.F for release1_50yr
"dumpInitAndLast" replaces "nodumps" (& partly MINIMAL_TAVE_OUTPUT)
Add new flag in PARM03 namelist called nodumps - true to turn off all dumps, indep of freq
reading of delXfile & delYfile moved from ini_parms.F to ini_grid.F (ini_parms.F is shorter ; allows later to read from netcdf files)
do not need to set implicitFreeSurface=F to use rigidLid.
add "horizGridFile" for curvilinear-grid input file.
rkSign & usingPCoords replace -rkFac & groundAtK1 (<- removed)
add flag for momentum vertical advection (upwindShear)
Added run-time parameters nh_Am2 which scales the non-hydrostatic terms and changes internal scales (i.e. allows convection at different Rayleigh numbers).
add parameters for AB-3 ; remove readPickupWithTracer & writePickupWithTracer
Added flag useAnisotropicViscAGridMax to turn on and off (off by default) Alistair's latest length scale computation for horizontal viscosity. It is used only for maximum viscosity calculations. Alistair recommends a value of viscA*GridMax=.25
Make lambda[Theta,Salt]ClimRelax spatially varying.
add baseTime parameter = model base time (time origin)
Added Harmonic Smagorinsky Viscosity. May not work with strongly anisotropic grids.
Expanded Leith viscosity to follow Ahgridmin and Ahgridmax, and select between 'full' and approximate form. Also added leith-like viscosity that is proportional to grad(div.v_h).
Adding eddy stress controls a la Ferreira et al.
o parameter calendarDumps: when set, approximate months (30-31 days) and years (360-372 days) for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq, KPP_taveFreq, and freq in pkg/diagnostics are converted to exact calendar months and years. Requires pkg/cal.
Add flag(s) inAdExact to help D. grow seaice in the Sahara.
initialise useConstantF, useBetaPlaneF & useSphereF in set_defaults.F
added ability to set inner and outer rotating tank temperatures
add saltFlux(+File) forcing capability with periodicExternalForcing
debugMode & debugLevel: go back to what it was before. version 1.137 (ini_parms.F) & 1.77 (set_defaults.F)
hack to allow deblevelzero, until debugmode flag is removed
depth convergence accelerator: replace deltaTtracer by dTtracerLev(k)
remove some obsolete params.
o added viscA4GridMin and viscA4GridMax for more control on biharmonic viscosity
o remove all the *_ioinc flags and replace them with the single global outputTypesInclusive flag
o move *_ioinc variables
o remove all tr1-related code (ALLOW_PASSIVE_TRACER) (adjoint stuff still has some tr1 names, but all use ptracer arrays)
o fix name error: "monitor_mdsio" --> "monitor_stdio" - add "monitor_grid" output for ini_cori.F,ini_parms.F
o overhaul of IO so that we now have flags for MDSIO and/or MNC - all verification tests compile and run with linux_ia32_g77 - defaults are compatible with current input files--nothing should change if you were not previously using MNC - MNC output has been added in numerous places (eg. timeave) but there are still a few writes not yet do-able with MNC (this is in progress) - flags now allow for either/or/both use of MDSIO and MNC and documentation will soon follow - numerous small formatting cleanups for ProTeX
o make the mon_iotype setup in monitor the poster child for MNC/MDSIO flag handling
o add header info to both the NetCDF output and the model stdout - requested by Steph
change Qnet to always be the net heat flux, (+upward).
Only update cg2d preconditioner every "cg2dPreCondFreq" iter. (default=1)
re-write staggerTimeStep: change pickup file ; (flag usePickupBeforeC54 to start from old pickup)
merged cylindrical coord configuration and rotating_tank exp
Added new flag to fix aim.5l_cs - useJamartMomAdv distingiushes the non-linear terms from linear Coriolis when using Jamart wet points
Added vertical diffusivity profile (T/S) due to Bryan and Lewis, 1979. New parameters: diffKrBL79surf - surface diffusivity diffKrBL79deep - deep diffusivity diffKrBL79Ho - turning depth for arctan function diffKrBL79scl - depth scale for arctan function This diffusivity is added to all other diffusivities. The defaults are set so as to give zero diffusivity.
Added Sadourny discretization of Coriolis in V.I. mode - moved some PARAMETERS from mom_*_coriolis.F to PARAMS.h - re-enabled use of omega3 in mom_vecinv.F
Added variable viscosity for the vector invariant equations based on Leith, 1968, Phys. Fluids (10) 1409-1416 - the use of the variable viscosty in the no-slip boundary conditions has not been implemented (but should be) - new parameters viscC2leith and viscC4leith are non-dimensional - I decided to modulate the variable viscosuty with the same viscAhMax and viscA4max; ideally we should have another maximum based on dx^2/dt etc.
adding parameter adjDumpFreq
Added new grid-dependent viscosity and biharmonic dissipation terms: o new parameters = viscAhGrid, viscAhMax, viscA4Grid and viscA4Max o new stuff in mom_vi_hdissip.F which is bound to break the adjoint!!!! This has been "verified" against old experiments **BUT** there is a known issue involving exch2 - results are dependent on using exch1 or exch2 and we don't know which is right (if either).
add run-time parameters for implicit vertical advection.
use CartesianGrid as default only if no horizontal grid is specified
change convertEmP2rUnit to rhoConstFresh/rhoConst for ocean in Z. (unchanged for ocean-P) and change the default value of rhoConstFresh to rhoConst.
additional changes for FREEZE: - new S/R FREEZE_SURFACE only apllied to surface level. - add run-time parameter "useOldFreezing" to use the old version "FREEZE"
change default to: useNHMTerms=.FALSE.
* reverse gravitySign back to "logical" value: +1 when R increases downward * add a parameter to apply surface relaxation only in a latitude band
specific volume (atmospheric geopotential) includes water vapor effect
o introducing integer flag debugLevel o introducing pathname variable mdsioLocalDir for mdsio
o introducing integer flag debugLevel o introducing pathname variable mdsioLocalDir for mdsio
Merging from c51
minor modifs: remove CALL AIM_INITIALISE from packages_readparms.F set celsius2K (=273.16) and change spelling or comments.
New variable in PARM03: pickupSuff is a string that can be set to indicate the suffix on pickup files. This allows us to avoid renaming the temporary pickup files.
release1_p15 o Added CFC-11 diagnostics, see verification/global_with_CFC11/README
new flag "useCDscheme" (default=F);
set the Earth rotation either directly (omega) or from the rotation period
merging c49 and e27
Merging from release1_p12: o Modifications for using pkg/exf with pkg/seaice - improved description of the various forcing configurations - added basic radiation bulk formulae to pkg/exf - units/sign fix for evap computation in exf_getffields.F - updated verification/global_with_exf/results/output.txt o Added pkg/sbo for computing IERS Special Bureau for the Oceans (SBO) core products, including oceanic mass, center-of-mass, angular, and bottom pressure (see pkg/sbo/README.sbo). o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F to avoid negative values in shallow regions. - updated verification/natl_box/results/output.txt - updated verification/lab_sea/results/output.txt o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F o Added useSingleCpuIO option (see PARAMS.h). o Updated useSingleCpuIO option in mdsio_writefield.F to work with multi-field files, e.g., for single-file pickup. o pkg/seaice: - bug fix in growth.F: QNET for no shortwave case - added HeffFile for specifying initial sea-ice thickness - changed SEAICE_EXTERNAL_FLUXES wind stress implementation o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, kpp_transport_t.F, forward_step.F, and the_main_loop.F o pkg/seaice: - adjoint-friendly modifications - added a SEAICE_WRITE_PICKUP at end of the_model_main.F
o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F to avoid negative values in shallow regions. o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F o Added useSingleCpuIO option (see PARAMS.h). ---------------------------------------------------------------- Modified Files: Tag: release1 doc/tag-index eesupp/src/ini_procs.F model/inc/PARAMS.h model/src/ini_parms.F model/src/set_defaults.F pkg/kpp/kpp_do_diags.F pkg/kpp/kpp_readparms.F pkg/kpp/kpp_routines.F pkg/mdsio/mdsio_writefield.F pkg/sbo/README.sbo pkg/sbo/sbo_calc.F pkg/sbo/sbo_diags.F verification/lab_sea/code/CPP_OPTIONS.h verification/lab_sea/input/.genmakerc verification/lab_sea/input/data.pkg Added Files: Tag: release1 eesupp/src/gather_2d.F eesupp/src/scatter_2d.F verification/lab_sea/input/data.sbo
first step in r* implementation: add param "select_rStar"
Branch release1_coupled contains code for coupling to UCLA atmospheric model: cvs tag ucla1 Branched off tag release1_beta1 Modified eesupp/src/eeboot_minimal.F, eedie.F, exch_jam.F, global_max.F, global_sum.F, gsum_jam.F, ini_procs.F, and main.F model/src/dynamics.F, forward_step.F, freeze.F, ini_parms.F, set_defaults.F, the_main_loop.F, the_model_main.F, timestep.F, write_state.F, and mdsio_writefield.F pkg/timeave/TIMEAVE_STATV.h, timeave_statv_write.F, timeave_statvars.F, and model/inc/PARAMS.h, Added model/src/do_coupled_ucla.F and verification/coupled_ucla NOTES: MPI_COMM_WORLD -> MPI_COMM_MODEL in exch_jam.F, global_max.F global_sum.F, and gsum_jam.F Added useSingleCpuIO: ini_procs.F, PARAMS.h, ini_parms.F, set_defaults.F, mdsio_writefield.F, and subroutine GATHER_2D in do_coupled_ucla.F
* allows a more accurate definition of Ro_Surf (selectFindRoSurf=1) when using P-coordinate; only implemented for atmospheric config.
Added new routine quasihydrostaticterms() and flag "quasihydrostatic" which is false by default and enables QH mode. Exlcusive with nonhydrostatic flag.
Added new flag "useNHMTerms" which controls appearance of non-hydrostatic metric terms: - defaults to TRUE but is set to false when metricTerms is false. This means no output is currently affected since N-H metric terms have always been associated with spherical metric terms to date. - note that N-H metric terms are both incomplete and disctetized incorrectly and are not fixed as yet. - turning off useNHMTerms affects these experiments adjustment.128x64x1, aim.5l_Equatorial_Channel, exp1, exp2, global_ocean.90x40x1, hs94.128x64x5, hs94.1x64x5, natl_box which means they all have non-hydrostatic metric terms in them.
* update timeave pkg for wVel diagnostic ; put convertEmP2rUnit in PARAMS.h
o cleaned up the use of rhoNil and rhoConst. - rhoNil should only appear in the LINEAR equation of state, everywhere else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst and the dynamical equations are all divided by rhoConst o introduced new parameter rhoConstFresh, a reference density of fresh water, to remove the fresh water flux's dependence on rhoNil. The default value is 999.8 kg/m^3 o cleanup up external_forcing.F and external_forcing_surf.F - can now be used by both OCEANIC and OCEANICP
Changes necessary for ocean in p-coordinates - Added new buoyancy relation = 'OCEANICP' - Added new parameters = gravitySign (this used to be contained inside the factor dRdZ which I added when we first switched to R coordinates). X GM/Redi is not compatible (yet) X bottom drag and no-slip need to be debugged.
o Added new equation of state -> JMD95Z and JMD95P - EOS of Jackett and McDougall, 1995, JPO - moved all EOS parameters into EOS.h - new routines ini_eos.F, store_pressure.F o Added UNESCO EOS, but not recommended because it requires in-situ temperature (see JMD95) o Modified formatting for knudsen2.f in utils/knudsen2 and added unesco.f to be used with POLY3
Added pressure loading term and experiment based on Wunsch and Stammer (1997) o new field in FFIELDS.h, etc... o new cpp flag ATMOSPHERIC_LOADING o Changed hFacC to _hFacC in calc_phi_hyd.F o Added SHORTWAVE_HEATING to some files for consistency
Add new flags: * T,S forcing outside Adams-Bashforh * temp,salt Advection and Forcing (turn on/off) * for each tracer: internal flag for multiDimAdvection & A-B
Changes encapsulated by checkpoint43a-release1mods and chkpt44d_post on the main trunk. These are: o added missing EXCLUDE_MONITOR flags o changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi (incompatible typ in MIN/MAX expressions caused problems on IBM SP3) o in genmake added variable MAKEDEPEND plus resetting for case SunOS o added timer_stats.c routine for IBM SP3 o removed variables in dynamics o real fresh water flux implemented with non-linear free-surface. o few fix (mask in shap_s2, EmPmR in external_field_load, USE_NATURAL_BCS in solve_for_P); o add arguments myIter & myTime to S/R obcs_calc & solve_for_P o merge of relevant stuff from the ecco-branch: - genmake: removed $S64 overwrite for case SunOS - pkg/exf: update and corrections for field swapping and obcs - pkg/ecco: parameter lists for the_model_main, the_main_loop harmonized between ECCO and MITgcm - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice updated checkpointing_lev... lists for obcs - model/src: minor changes in forward_step, plot_field added directive for divided adjoint in the_main_loop - pkg/mdsio: added mdsio_gl_slice o check parameters & config (chkpt44a_pre,post) o OBC and NonLin_FrSurf. o fix bug in mom_vi_del2uv o select when filters are applied ; add options to zonal_filter (data.zonfilt) o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection) o update AIM experiments (NCEP input files) o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf) o added some stuff for AD These were merged with cvs co -r release1 -P MITgcm cd MITgcm cvs update -kk cvs update -j checkpoint43a-release1mods -j chkpt44d_post -d -P -kk
o define cell Center vertical spacing and then put Interface at the middle
Merging changes on MAIN between checkpoint43 and checkpoint43a-release1mods Command: cvs -q update -jcheckpoint43 -jcheckpoint43a-release1mods -d -P These changes are most of the changes between c43 and c44 except those that occured after "12:45 11 Jan 2002". As far as I can tell it is checkpoint43 with the following mods: o fix bug in mom_vi_del2uv o select when filters are applied ; add options to zonal_filter (data.zonfilt) o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection) o update AIM experiments (NCEP input files) o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf) o added some stuff for AD o Jamar wet-points This update does not contain the following mods that are in checkpoint44 o bug fix in pkg/generic_advdiff/ - thread related bug, bi,bj arguments in vertical advection routines o some changes to pkg/autodiff, pkg/cost, pkg/exf, pkg/ecco, verification/carbon and model/src/ related to adjoint o some new Matlab scripts for diagnosing model density - utils/matlab/dens_poly3.m and ini_poly3.m The list of exclusions is accurate based on a "cvs diff". The list of inclusions is based on the record in doc/tag-index which may not be complete.
add parameters to use real fresh water flux (replace USE_NATURALBCS option) with non-linear free-surface.
Updating ecco-branch-mod1 to checkpoint44. Will be tagged ecco-branch-mod2.
zonal_filt parameters are now in a specific data file (data.zonfilt)
Added flag and implementation of Jamart and Ozer, 1986.
Added energy conserving discretization for Coriolis term. o don't panic - the default is off so you can continue not conserving energy just like you always have... o new flag: useEnergyConservingCoriolis defaults to .F.
Bringing comments up to data and formatting for document extraction.
Added multi-dimensional form of advection o available only for single step schemes (ie. can't be used with ABII) o stable for max(cfl_u,cfl_v,cfl_w)<=1 (without cfl_u+cfl_v+cfl_w <=1) o selected using multiDimAdvection=.T. (default) o had to hack some existing routines to work on local arrays
Added tension/strain form of dissipation. * NOT working on cubed sphere.
Added method for dumping intermediate local arrays: mdsio_writetile - same as mdsio_writefield except works from inside bi,bj loop mdsio_writelocal - same as mdsio_writetile except works for local arrays write_local_r? - higher-level wrapper for mdsio_writelocal Controlled by diagFreq. Defaults to zero (ie. no dumps) Example given at end of mom_vecinv.F that dumps some local arrays.
Added run-time control of vector-invariant/flux-form momentum eqns.
Added run-time control of advection schemes. - advection scheme determines method of forward integration. - unfortunately, we have to use integers in "data" since ENUM_CENTERED_2ND doesn't mean anything to fortran - defaults are centered second - output differs due to these mods! This is due to the g77 optimization. I have tested that using -ffloat-store, these mods do not affect the output so am confident about changes. T S U V C D M c m s m s m s m s n p a R g m m e . m m e . m m e . m m e . f n k u 2 i a a d i a a d i a a d i a a d g d e n d n x n . n x n . n x n . n x n . Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 16 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass adjustment.cs-32x32x1 Y Y N N -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- N/O aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_LatLon Y Y N N -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- N/O aim.5l_zon-ave Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 pass exp0 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 pass exp1 Y Y Y Y 13 16 16 16 16 16 16 16 13 16 13 13 13 13 13 13 16 pass exp2 Y Y Y Y 12 16 16 13 16 16 16 16 16 13 16 16 16 16 13 13 16 FAIL exp4 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass exp5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass front_relax Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 11 16 pass hs94.128x64x5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 pass hs94.cs-32x32x5 Y Y Y Y 16 16 16 22 16 16 16 16 16 16 16 22 16 16 16 16 16 pass internal_wave Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass natl_box Y Y Y Y 16 16 16 16 16 13 16 13 16 16 16 16 16 16 16 16 16 pass solid-body.cs-32x32x1
o Added grdchk package handling o Added passive tracer handling
add options related to Geopotential computation and Orography definition: read orography (in m) from file ; compute Bo_surf(P_ground); select the form of geopotential integration;
Added a debugMode that uses same statistics stuff as monitor.F Can be disabled with -DEXCLUDE_DEBUGMODE. Turn on at run-time with debugMode=.true. Default is enabled but off.
Adding skeleton "monitor" routines. The default is to do it every time-step. monitorFreq=0 disables.
Merge from branch pre38: o essential mods for cubed sphere o debugged atmosphere, dynamcis + physics (aim) o new packages (mom_vecinv, mom_fluxform, ...)
Further packaging of Shapiro Filters.
See doc/tag-index and doc/notes_c37_adj.txt Preparation for stand-alone autodifferentiability.
add parameters for 1) Exact conservation of Total Vol, 2) Non linear Free Surf., 3) residual target (in W unit) for cg2d solver with no RHS normalisation
Minor adjustments to allow testing of Coriolis term on cubed-sphere. - moved "omega" (spherical angular speed) into set_defaults.F and added it to the namelist. - added cosine patch on equator to check Kelvin/Rossby wave properties.
Added usingCurvilinearGrid logical.
Modifications and additions to enable automatic differentiation. Detailed info's in doc/notes_c37_adj.txt
remove "include CG2D.h" ; make the running flag "metricTerms" active
add 2 parameters to define a Crank-Nickelson barotropic time-stepping
Powers of filters - changed defaults - changeed powers in hs94.128x64x5 to those we use
Made sure each .F and .h file had the CVS keywords Header and Name at its start. Most had header but very few currently have Name, so lots of changes!
Merged changes from branch "branch-atmos-merge" into MAIN (checkpoint34) - substantial modifications to algorithm sequence (dynamics.F) - packaged OBCS, Shapiro filter, Zonal filter, Atmospheric Physics
Packaged OBCS (open boundary conditions) o source code now in pkg/obcs o controlled by namelist in data.obcs o includes Orlanski radiation condition (in same directory) o affects exp4 and internal_wave
Added linear and quadratic bottom drag terms. bottomDragLinear=0.0 and bottomDragQuadratic=0.0 are the default.
Packaged zonal filter code: - Like the Shapiro code, this is quasi-packaged (it uses the main namelist to set it's 3 parameters) - FFTPACK is included in pkg/zonal_filt
Added Shapiro filters. o this is "quasi-" packaged - code resides in pkg/shap_filt - does not use it's own data file or _init methods since it only uses one parameter - the code control is via pkg/shap_filt/SHAP_FILT_OPTIONS.h o two versions are available - original form written for the UV-exact atmosphere - a more general, less efficient form that will work on the cubed sphere The latter use exhcanges inside the routine while the former assumes the overlaps are upto date and are wide enough.
vertical discretization for atmospheric run, with k=1 at the surface: add parameter: Ro_SeaLevel = Total pressure at Sea-Level ; add flag: groundAtK1 = True if surface(k=1) at lower boundary (ground) set horiVertRatio to Gravity*rhoConst ;
introduce a parameter flag "staggerTimeStep" to allow a stagger time stepping
Added defaults for package interfaces. Tested for exp(0,2,4).
Moved setting of default values for GM/Redi parameters to gmredi_init()
Added separate initialization routine for pSurf (otherwise known as cg2d_x). This allows easy initial value problem in free surface height (read from file in pSurfInitFile) and helps split up the initializations of "fixed" and "variable" arrays.
Various updates for OBCs and Non-hydrostatic routines. o OBCs now fits into time-stepping properly o div.G has been moved to solve_for_pressure()
Corrected interaction between OBCs and algorithm. The positioning of set_obcs() within the time-stepping sequence is crucial for stable open-boundaries. Forcing the boundaries with time-dependent flow previously led to horrible results...
Added IVDC (Implicit Vertical Diffusion Convection). Also facilitated a "convection counter" that is output through "diags".
Added a parameter "implicitViscosity" to separately control implicit viscosity and diffusion.
Added COS(latitude)^cosPower dependence to viscosity terms. New parameter "cosPower" defaults to 0.0 which removes latitudinal dependence.
Implemented new I/O package (mdsio.F). This package does parallel I/O in much the same way as dfile.F used to except it uses "direct access" rather than (f77) unformatted sequential access. Problems with dfile.F package included: o unnecessary memory use (each process had two global sized buffers) o inability to read the files it had written without post-processing o "tiled" files were tiled by process/thread rather than actual tiles o created huge numbers of files with no alternatives Features of the mdsio.F package: o direct-access binary writes o no excessive memory use o ability to read/write from multiple record files o "tiled" files are based on "WRAPPER" tiles so that the number and content of files is independent of the number of threads and/or processes o option to create single "global" files rather than "tiled" files o ability to read both "global" and "tiled" files [Caveat: the tiling of files must match the model tiles] o checkpoints now use a single file per model section ie. one file for the hydrostatic model core, one file for the non-hydrostatic extensions and one file for the C-D extensions o the mid-level I/O routines now is broken into more source files read_write_fld.F supplies basic I/O routines with the same interface as the original I/O package read_write_rec.F supplies I/O routines which allow multiple records write_state.F writes the model state checkpoint.F supplies the read/write checkpoint routines All the example input data has had to be modified to be direct-access. Otherwise only routines that used I/O have been affected and not all of those have been due to the continuity of arguments in the read_write_fld.F routines. What needs to be done? We have to create a suite of conversion utilities for users with old-style data. Also supply the option for using old-style I/O, not just for die-hards but for reading data too extensive to be converted. And more...
Modifications for non-hydrostatic ability + updates for open-boundaries.
o Added "natural BCs" as alternative to "virtual salt flux" o Re-difined precFloat32 and precFloat64 to be 32 and 64 so that their values can be meaningfuly set in the data file o Modified read_write.F to create an exception if readBinaryPrec is not set o Replaced CPP control of viscous BCs with run-time control o Tidied up input-data precision (ie. ini_depths cnh_dbg...) o ini_forcing.F now initialises *all* forcing arrays to zero o Definitively tested verification experiments 0,1,2 and 4 (3 is atmospheric set-up which is in a state of flux)
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 |