Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint62m: | (view) (download) (annotate) |
Sticky Tag: |
remove unnecessary BARRIER
move from external_forcing_surf.F to ini_forcing.F the p-coord. hack consisting in using pLoad to set phi0surf
added pkg/salt_plume by gathering code, which were previously spread around various files in model/inc and model/src results remain numerically identical to before, as a first step towards adding more options, etc., to this package
finishing EmPmR unit changes: replace convertEmP2rUnit by mass2rUnit
Change EmPmR units: from m/s to kg/m2/s
Committing An Nguyen's modifications to SALT_PLUME code. This includes addition of a saltPlumeFlux array to FFIELDS and of routine plumefrac.F
make pLoad & sIceLoad always available (but still only used if ATMOSPHERIC_LOADING is #define).
fix wind-stress (fu,fv) exchange call (uses C-grid vector exch).
- call pkg/rw S/R (rather than directly MDSIO) - all threads call I/0 S/R (needed for singleCPUIO to work in multi-threaded)
o Fix I/O inconsistency in pkg/rbcs: replace precFloat32 by readBinaryPrec o Remove 3-dim. relaxation code from pkg/exf (now use only pkg/rbcs) o Thanks to Tom Haine for testing!
Adding unfinished 3-dim. relaxation code.
Added some _BARRIER statements to get correct multi-threaded behavior for initializations followed by master thread I/O.
Make lambda[Theta,Salt]ClimRelax spatially varying.
add saltFlux(+File) forcing capability with periodicExternalForcing
fix a bug: bi,bj do loops missing.
replace surfaceTendency U,V,S,T,Tice by surfaceForcing U,V,S,T,Tice
change Qnet to always be the net heat flux, (+upward).
add sea-ice loading (sIceLoad) as a new forcing field
o Qsw is always declared and initialized to zero
o modifications to make FREEZE flux visible to pkg/kpp - moved surfaceTendencyTice from pkg/seaice to main code - FREEZE moved to FORWARD_STEP - subroutine FREEZE now limits only surface temperature this means new output.txt for global_ocean.90x40x15, global_ocean.cs32x15, and global_with_exf, but note that results for these three experiments remain bit-identical to before if allowFreezing=.FALSE. o added surface flux output variables to TIMEAVE_STATVARS o time-averaged output for pkg/ptracers
o convert all "INCLUDE_EXTERNAL_FORCING_PACKAGE" defines to the more consistent ALLOW_EXF o passed all the basic verification tests on shelley
o undid all of the cp51 checkin pending some ongoing code cleanups and discussion
o modifications to make FREEZE flux visible to pkg/kpp - moved surfaceTendencyTice from pkg/seaice to main code - FREEZE & EXTERNAL_FORCING_SURF moved to FORWARD_STEP - subroutine FREEZE now limits only surface temperature (this means new output.txt for global_ocean.90x40x15, global_ocean.cs32x15, and global_with_exf) o added surface flux output variables to TIMEAVE_STATVARS
- add salt-flux to forcing fields (used when salty sea-ice forms or melts) - enable to apply restoring only in a latitude band
o Cleanup the default CPP_OPTIONS.h by removing (here, commenting out) the PACKAGES_CONFIG.h dependency. Essentially all of the files that need to include PACKAGES_CONFIG.h already do so explicitly so this removes the redundancy.
differentiable version of checkpoint46n_post o external_fields_load now part of differentiation list o pressure needs multiple storing; would be nice to have store_pressure at beginning or end of forward_step, e.g. by having phiHyd global (5-dim.) (NB: pressure is needed for certain cases in find_rho, which is also invoked through convective_adjustment). o recomputations in find_rho for cases 'JMD95'/'UNESCO' or 'MDJWF' are OK. o #define ATMOSPHERIC_LOADING should be differentiable o ini_forcing shifted to begining of initialise_varia
Merging from release1_p8 branch: o external_fields_load: - added this routine to TAF list - needed to make some common blocks global and additional storing along the same lines as exf package (checkpoint_lev?_directives.h)
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
Bringing comments up to data and formatting for document extraction.
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!
Fixed confusion about units of forcing arrays in FFIELDS.h namely Fu,Fv,Qnet,Qsw,EmPmR: - Removed verification/natl_box/code/external_fields_scale.F (did not differ from that in model/src) - Changed units of fu,fv,Qnet,Qsw,EmPmR back to proper units (see FFIELDS.h for description) - Scale fu,fv,Qnet,Qsw,EmPmR when used in external_forcing_surf.F, kpp_calc.F and kpp_transport_t.F - Removed model/src/external_fields_scale.F and calls to it - verification/natl_box uses flux data with "atmospheric" sign so a special version of external_fields_load.F is used to change the data as it's read in. This way, the arrays have the right units and signs at all times tha a user could possibly use them.
Rescaling of forcing fields done immediately after reading fields.
Added call to EXTERNAL_FIELDS_SCALE.F. Tested for exp(0,2,4)
Removed unused variables and fixed some unitialized variables.
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...
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)
Added IMPLICIT NONE in a lot of subroutines. Also corrected the recip_Rhonil bug: we didn't set it in ini_parms.F
The default form of ini_forcing.F was to blow a SIN wind-stress. Very useful in a convection experiment. The code is still there but the amplitude is set to zero as a default.
Changes to allow for atmospheric integration builds of the code
Various changes including time-dependant forcing: o logic for controlling external forcing fields now allows for time-dependant forcing: load_external_fields.F o genmake.dec needed a special line for the above file. o theta* and salt* time-stepping algorithm were re-implemented. The 4x4 global configuration has been "double-checked" against CNH's version. However, we do not assume any responsibility for the correctness of this code ... 8-)
Introduced time-dependant forcing, loaded and interpolated in load_external_fields.F in a subroutine load_interpolate_forcing(). Control is by one logical and two real variables in PARAMS.h: periodicExternalForcing, externForcingCycle and externForcingPeriod. The code in load_external_fields.F is "customized" so needs to be edited for non-global type runs. We'll tidy it up later.
Fairly coplete 4 degree global intercomparison setup. Includes changes to make convective adjustment and hydrostatic pressure correct as well as IO for climatological datasets
Chages to make default setup correct for 4 degreee global comparison
Fixed problems with _RS -> REAL*4 and with reading in intial hydrography
Additional changes for reading initial conditions and forcing from binary datasets
Merge of GM Redi and spherical polar and inplicit diffusion and CD. Everything for a global run is now included, however, still some discrepancies with GM Redi.
Added changes to support implicit free-surface. - included gBaro a "barotropic" gravity that can be set differently to the g.rhoprime gravity. - discovered and fixed coding error in dynamics loop. Per tile temporaries that needed correct initial values were not being reset for each tile.
Change default forcing pattern to a more commonly used one.
Further $Id to $Header conversions
Initial revision
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 |