Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint53d_pre: | (view) (download) (annotate) |
Sticky Tag: |
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 |