Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint59k: | (view) (download) (annotate) |
Sticky Tag: |
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
"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
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.
new flag "useCDscheme" (default=F);
set the Earth rotation either directly (omega) or from the rotation period
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
first step in r* implementation: add param "select_rStar"
* 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
o define cell Center vertical spacing and then put Interface at the middle
add parameters to use real fresh water flux (replace USE_NATURALBCS option) with non-linear free-surface.
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, ...)
See doc/tag-index and doc/notes_c37_adj.txt Preparation for stand-alone autodifferentiability.
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
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 |