Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Sticky Tag: |
- new options 1) to account for true vertical distance (including hFac) in vertical viscous flux and diffusive flux ; 2) to increase vertical mixing near surface and/or bottom where partial cell is too thin ; - for now, both additions above are within: #ifndef EXCLUDE_PCELL_MIX_CODE ; - also re-order options in CPP_OPTIONS.h (little bit more logical)
- add new common block to store velocity increment 3-D factor due to surf. pressure gradient when using Implicit bottom friction (& vert. visc); for now, only compiled when CPP option ALLOW_SOLVE4_PS_AND_DRAG is defined.
add "#undef ALLOW_GEOTHERMAL_FLUX"
add CPP option USE_OLD_EXTERNAL_FORCING (default is undef) to use EXTERNAL_FORCING_U,V,T,S subroutines (for backward compatibility).
- allow to read-in time-constant addMass field from file (addMassFile); - heating due to friction (and Kinetic Energy dissipation).
set ALLOW_3D_DIFFKR independently of ALLOW_DIFFKR_CONTROL which should now only be defined (in ECCO_CPPOPTIONS.h) if ALLOW_3D_DIFFKR is defined. few edits (move ALLOW_ADDFLUID before other forcing options ; move ALLOW_SRCG before other solver options)
- document and add (#undef) options ALLOW_BALANCE_FLUXES & ALLOW_BALANCE_RELAX so that we know what they are for and know where to turn them on. - change comments regarding inclusion of ECCO_CPPOPTIONS.h to reflect upcoming changes.
by default, also compile CG2D_SR version (define ALLOW_SRCG)
switch SOLVE_DIAGONAL_LOWMEMORY to undef (by default will use the vectorized & differentiable solve_tri/penta/diagonal.F)
temporary: switch to "#define SOLVE_DIAGONAL_LOWMEMORY" until we fix pkg/gmredi/gmredi_calc_psi_bvp.F and pkg/ggl90/ggl90_calc.F
Add default CPP options for solve_*diagonal.F
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 ALLOW_ADDFLUID ; switch ALLOW_3D_DIFFKR if DIFFKR_CONTROL is defined.
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
o starting implementation of Duffy et al. (GRL 1999) salt plume scheme (#ifdef ALLOW_SALT_PLUME)
in FFIELDS.h: replace #ifndef ALLOW_EXF by #ifndef EXCLUDE_FFIELDS_LOAD and make pLoad & sIceLoad always available (but still only used if ATMOSPHERIC_LOADING is #define).
latitudinal dependence of Bryan and Lewis, 1979 fixed and reworked as per JM suggestions
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.
moved "#undef OLD_GRID_IO" from ini_curvilinear_grid.F to CPP_OPTIONS.h
add more comments about the (obsolete?) flag ISOTROPIC_COS_SCALING
add comments about ISOTROPIC_COS_SCALING and COSINEMETH_III
remove MINIMAL_TAVE_OUTPUT from CPP_OPTIONS.h
#undef ALLOW_ADAMSBASHFORTH_3 : disable ADAMS-BASHFORTH-3 code by default
Added CPP option MINIMAL_TAVE_OUTPUT for minimal time-averaged output: S, T, U, V, W, ETA, and phiHydLow.
o SHORTWAVE_HEATING is now independent of "ALLOW_KPP" and "undefined" by default (until a run-time flag is implemented) o Qsw is always declared (but only used if SHORTWAVE_HEATING is defined)
add run-time parameter & CPP_OPTION for implicit vertical advection
Fixing OPTIONS files for use of exf: o ALLOW_ECCO not needed o ECCO_CPPOPTIONS.h should not be included from EXF_OPTIONS.h/CAL_OPTIONS.h, but from CPP_OPTIONS.h as has been the case in the past o All cal/exf related options are currently set in single header file. Should remain so until we agree on a consistent new policy.
o cleanup: remove the following obsolete #define-s from all CPP_OPTIONS.h files: - INCLUDE_T_FORCING_CODE - INCLUDE_MOMENTUM_FORCING_CODE - INCLUDE_MOMENTUM_METRIC_TERM_CODE - OLD_UV_GEOMETRY
o add a "cd_code" package and update all the verification tests so that they use the new package instead of "INCLUDE_CD_CODE"
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.
o added "header barrier" to model/src/CPP_OPTIONS.h
o reset defaults to "#undef" for: - INCLUDE_CD_CODE - ALLOW_NONHYDROSTATIC - NONLIN_FRSURF
o first check-in for the "branch-genmake2" merge o verification suite as run on shelley (gcc 3.2.2): Wed Oct 8 23:42:29 EDT 2003 T S U V G D M c m s m s m s m s E p a R g m m e . m m e . m m e . m m e . N n k u 2 i a a d i a a d i a a d i a a d 2 d e n d n x n . n x n . n x n . n x n . OPTFILE=NONE Y Y Y Y 13 16 16 16 0 16 16 16 16 16 16 16 16 13 12 0 0 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 0 0 16 16 0 0 pass adjustment.cs-32x32x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 22 0 16 16 22 0 pass adjust_nlfs.cs-32x32x1 Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O advect_cs Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O advect_xy Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O advect_xz Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_cs Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass exp1 Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass exp2 Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass 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 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass global_ocean.90x40x15 Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL global_ocean.cs32x15 Y Y Y Y 6 11 12 13 13 12 13 16 13 9 9 9 9 10 9 9 11 FAIL global_ocean_pressure Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass global_with_exf Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass hs94.cs-32x32x5 Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL ideal_2D_oce Y Y Y Y 8 16 16 16 16 16 16 16 16 13 13 8 16 16 16 16 16 FAIL internal_wave Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass inverted_barometer Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL lab_sea Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL natl_box Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass plume_on_slope Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass solid-body.cs-32x32x1
o included PACKAGES_CONFIG.h in all files where the ALLOW_${PKG_NAME} defines are used o added comments where IF ( use${PKG_NAME} ) statements will probably be needed -- or need to be edited
Deleted code/CPP_OPTIONS.h everywhere where a default in model/inc will suffice. Only the following experiments still require CPP_OPTIONS.h: aim.5l_Equatorial_Channel/code/CPP_OPTIONS.h aim.5l_LatLon/code/CPP_OPTIONS.h aim.5l_cs/code/CPP_OPTIONS.h global_with_exf/code/CPP_OPTIONS.h which are for reasons we'll sort out later. We had to change the default behaviour in initialize_varia calling convection. Note that the following experiments appear to have different: ideal_2D_oce - due to sensitivity to solver tolerance and optimization !!! global_ocean_pressure - not sure why but probably related to solver tolerance Output generated on faulks: Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 16 16 16 22 0 0 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 0 0 16 16 0 0 pass adjustment.cs-32x32x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 22 0 16 16 22 0 pass adjust_nlfs.cs-32x32x1 Y Y Y Y -- 16 16 16 13 16 16 16 16 16 16 16 16 16 16 16 16 N/O advect_cs Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O advect_xy Y Y Y Y -- 5 6 7 6 16 16 16 16 7 7 0 7 16 16 16 16 N/O advect_xz Y Y Y Y 14 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_cs Y Y Y Y 14 16 16 16 16 16 16 16 16 16 16 16 16 16 16 13 16 pass aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 16 16 16 22 16 pass exp1 Y Y Y Y 13 13 16 16 16 16 13 16 16 13 13 16 16 13 13 13 13 pass exp2 Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass 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 14 16 16 16 13 16 16 16 13 13 13 13 13 13 13 13 16 pass global_ocean.90x40x15 Y Y Y Y 6 11 12 13 13 12 13 16 13 9 9 9 9 10 9 9 11 FAIL global_ocean_pressure Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass global_with_exfY Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 16 16 22 13 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 16 16 13 16 16 16 22 13 pass hs94.cs-32x32x5Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL ideal_2D_oce Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass internal_wave Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass inverted_barometer Y Y Y Y 12 16 16 13 16 16 16 13 16 13 13 12 13 13 13 13 13 FAIL lab_sea 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 16 16 16 22 16 16 16 16 16 16 16 16 pass plume_on_slope Y Y Y Y 13 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass solid-body.cs-32x32x1
release1_p14 o Added interpolation routine pkg/exf/new_interp.F for on-the-fly interpolation. Enable with USE_EXF_INTERPOLATION and specify input grids in data.exf o Added direct pressure solver pkg/solver. See pkg/solver/README.directSolver for instructions.
Merging c44 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 Merging pkg/exf and pkg/seaice from cvs tag ecco_ice2
02/12/03 Added pkg/seaice and modified pkg/exf as per release1_p12_pre
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. Modified Files: doc/tag-index model/inc/CPP_OPTIONS.h model/inc/PARAMS.h model/src/do_the_model_io.F model/src/packages_boot.F model/src/packages_check.F model/src/packages_readparms.F model/src/the_model_main.F
- improved description of the various forcing configurations - added basic radiation bulk formulae to pkg/exf
Two packages: bulk_force (Bulk forcing) and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2 Earlier integration from Stephaine Dutkiewicz and Patrick Heimbach. Two ifdef statements for compile time, ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE Two switches in data.pkg to turn on at run-time: cat data.pkg # Packages &PACKAGES useBulkForce=.TRUE., useThermSeaIce=.TRUE., & WARNING: useSEAICE and useThermSEAICE are mutually exclusive. The bulk package requires an additional parameter file with two namelists, data.ice and data.blk. c ADAPTED FROM: c LANL CICE.v2.0.2 c----------------------------------------------------------------------- c.. thermodynamics (vertical physics) based on M. Winton 3-layer model c.. See Bitz, C. M. and W. H. Lipscomb, 1999: "An energy-conserving c.. thermodynamic sea ice model for climate study." J. Geophys. c.. Res., 104, 15669 - 15677. c.. Winton, M., 1999: "A reformulated three-layer sea ice model." c.. Submitted to J. Atmos. Ocean. Technol. c.. authors Elizabeth C. Hunke and William Lipscomb c.. Fluid Dynamics Group, Los Alamos National Laboratory c-----------------------------------------------------------------------
Two packages: bulk_forcing (Bulk forcing) and thermodynamic_seaice (adapted from LANL CICE.v2.0.2) Earlier integration from Stephaine Dutkiewicz and Patrick Heimbach. Two ifdef statements for compile time, ALLOW_TSEAICE and ALLOW_BULKFORMULA Two switches in data.pkg to turn on at run-time: cat data.pkg # Packages &PACKAGES useBulkf=.TRUE., useTSeaIce=.TRUE., & The bulk package requires an additional parameter file with two namelists. cat data.blk &BULKF_PARM01 RainFile= 'ncep_precip_m_cubed.bin', SolarFile= 'ncep_downsolr_cubed.bin', AirTempFile= 'ncep_tair_cubed.bin', AirhumidityFile='ncep_qair_g_cubed.bin', LongwaveFile= 'ncep_netlw_cubed.bin', UWindFile= 'ncep_uwind_cubed.bin', VWindFile= 'ncep_vwind_cubed.bin', WspeedFile= ' ', RunoffFile= ' ', QnetFile= ' ', EmPFile= 'ncep_emp_calc_cubed.bin', CloudFile= 'ncep_totalcloud_cubed.bin', & &BULKF_PARM02 qnet_off=0.0, empmr_off=0.0, conservcycle=311040000., & c ADAPTED FROM: c LANL CICE.v2.0.2 c----------------------------------------------------------------------- c.. thermodynamics (vertical physics) based on M. Winton 3-layer model c.. See Bitz, C. M. and W. H. Lipscomb, 1999: "An energy-conserving c.. thermodynamic sea ice model for climate study." J. Geophys. c.. Res., 104, 15669 - 15677. c.. Winton, M., 1999: "A reformulated three-layer sea ice model." c.. Submitted to J. Atmos. Ocean. Technol. c.. authors Elizabeth C. Hunke and William Lipscomb c.. Fluid Dynamics Group, Los Alamos National Laboratory c----------------------------------------------------------------------- WARNING: useSEAICE and useTSEAICE are mutually exclusive. todo: thermodynamic.F should be reviewed and cleaned up a bit.
o Adding package parameters and hooks to MITgcm for new seaice package. o Adjusting KPP package for use with seaice package.
Starting to bring comments up to date and format comments for document extraction of "prototypes".
Merge from branch pre38: o essential mods for cubed sphere o debugged atmosphere, dynamcis + physics (aim) o new packages (mom_vecinv, mom_fluxform, ...)
add 2 CPP otpions (EXACT_CONSERV & NONLIN_FRSURF) for non linear free surf.
Added un-compilable lines to make sure configuration is done properly.
define "ALLOW_TIMEAVE" replaces "INCLUDE_DIAGNOSTICS_INTERFACE_CODE"
remove unused CPP_kees
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!
Rescaling of forcing fields done immediately after reading fields.
Introduced CPP flag ALLOW_GMREDI
Added #undef ALLOW_KPP
Added CPP macro ALLOW_OBCS to include/exclude open boundary code.
Removed spaces in macro definitions to accomodate SGI cpp.
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)
These are changes concerning geometry on a sphere and BCs: o The calculation of RA used to be wrong if delX != delY. o The details of the cell geometry is now consistent with the "classic" CM-5 code. o Advection near boundaries is now correct. o Lateral no-slip/free-slip now works. o Vertical no-slip/free-slip now works properly. o del^4 viscosity (with no-slip/free-slip) now works properly.
Changes to allow for atmospheric integration builds of the code
The time-averaging diagnostics has been modified to include averages of "intermediate" quantities that exist only on a tile. We currently only time-average K13, K23 and wVel but these should be usable as a template for other diagnostics. We have now split off these routines into a separate module called diags/. Use of these routines is enabled by the CPP flag ALLOW_DIAGNOSTICS set in model/inc/CPP_OPTIONS.h
Chages to make default setup correct for 4 degreee global comparison
Various corrections: o do_gterm_blocking..() is fixed to work with new time-stepping o CPP_OPTIONS.h now contains #define ALLOW_CD
$Id to $Header changes
Imported working release
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 |