Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint61s: | (view) (download) (annotate) |
Sticky Tag: |
add bj in exch2 arrays and S/R.
remove unnecessary BARRIER
new header files "W2_EXCH2_SIZE.h" with new W2-Exch2 topology code
change macros (EXCH & GLOBAL_SUM/MAX) sufix _R4/_R8 to _RS/_RL when applied to _RS/_RL variable
set rLow & rSurf @ W & S location (for Non-Hydrostatic viscA4 on CS-grid)
clean up the mess: remove an unnecessary #include "SHELIFICE.h"
- move code for reading ice shelf topography and modifying hFacC into separate subroutines of the shelfice package
list empty tiles
use S/R GLOBAL_SUM_TILE to compute globalArea (but old code remain for TAF since I don't know how to code an adjoint of GLOBAL_SUM_TILE)
fix globalArea calculation: apply GLOBAL_SUM to thread-local variable.
set hFacW & hFacS everywhere (in case EXCH does not fill corner-halo region)
remove storage & computation of recip_hFacU (not used)
o add hooks for new package shelfice, painless
compute Domain Integrated horizontal area (globalArea)
Slight re-arrangment to satisfy JMC opinions on file names! o ini_mnc_io.F has been split and replaced by ini_model_io.F - responsible for setting units/flags for model-state i/o write_grid.F - responsible for writing the grid variables to file o the passing of flags to MDSIO has been moved from ini_parms to ini_model_io o ini_depths and ini_masks_etc no longer do I/O which is now in write_grid
Extending loop range for hFacW/S for more generality. - This changes nothing and as JMC is keen to point will it not save us any problems for a long time but nevertheless it is worth keeping improvements you've already made so you don't have to do them again in several years time.
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 Include a new diagnostic variable phiHydLow for the ocean model - in z-coordinates, it is the bottom pressure anomaly - in p-coordinates, it is the sea surface elevation - in both cases, these variable have global drift, reflecting the mass drift in z-coordinates and the volume drift in p-coordinates - included time averaging for phiHydLow, be aware of the drift! o depth-dependent computation of Bo_surf for pressure coordinates in the ocean (buoyancyRelation='OCEANICP') - requires a new routine (FIND_RHO_SCALAR) to compute density with only Theta, Salinity, and Pressure in the parameter list. This routine is presently contained in find_rho.F. This routine does not give the correct density for 'POLY3', which would be a z-dependent reference density. o cleaned up find_rho - removed obsolete 'eqn' from the parameter list. o added two new verification experiments: gop and goz (4x4 degree global ocean, 15 layers in pressure and height coordinates)
add a 2D full-column mask
Bringing comments up to data and formatting for document extraction.
Change name and definition of k_surf (now ksurfC) compute also ksurfW,ksurfS (for NonLin-FreeSurf)
write hFacW and hFacS; add a local common for multi-thread output of "Depth".
Merge from branch pre38: o essential mods for cubed sphere o debugged atmosphere, dynamcis + physics (aim) o new packages (mom_vecinv, mom_fluxform, ...)
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
Modified the "lopping" procedure for determining the fraction cell height. The original formulation first filter the model depth using the hFacMin parameter. Any fractional cells less than hFacMin were rounded to the nearer of 0 or hFacMin. Then the depths were filtered using hFacMinDr where the actual size was tested. This meant that some cells could be rounded twice and also that if hFacMinDr was specified as larger than the nominal thickness that the fractional cell thickness could end up larger than 1. Clearly a bad idea (?) but to cause this one would have to specify the hFacMin and hFacMinDr parameters in a inconsistent way. The new method combines hFacMin and hFacMinDr first and then does a single filtering of model depths. If hFacMinDr is greater than the nominal layer thickness, the later is used and the fractional cell thicknesses are set to 1. Otherwise, layers thicknesses are rounded to using the larger of hFacMin and hFacMinDr/drF(K). Using the new method, setting hFacMin=0 and hFacMin=100 means that lopping only occurs for cell thicker than 100 and the minimum cell thickness of lopped cells will be 100. This, I think, is a much cleaner specification. AJA.
Corrected calculation of depthinK(:,:,:). Instigated by Ralf.
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.
Removed some silly diagnostics left-over from the early days. (print *,'AAAA',...)
Added IMPLICIT NONE in a lot of subroutines. Also corrected the recip_Rhonil bug: we didn't set it in ini_parms.F
Someone had added code to force full-cell formulation. Tut tut. This code has been removed.
Changes to allow for atmospheric integration builds of the code
Changes for TAMC compatability. Added exp0 a barotropic basin scale box example Modified exp1 and exp2 to correct SIZE.h for Nr and variable overlap width support.
Changes to support - g77 compilation under Linux - LR(1) form of 64-bit is D or E for constants - Modified adjoint of exch with adjoint variables acuumulated.
Changes for new exchange routines which do general tile <-> tile connectivity, variable width overlap regions and provide hooks for shared memory and DMA protocols like Arctic, Memory Channel etc..
Consistent isomorphism changes
Consistent isomorphism changes
Consistent isomorphism changes
Isomorphism consistency changes
Changed Z co-ordinate and lopping code: o Z now increases upwards (ie. for the ocean, z<0) This needed changes only in ini_vertical_grid() where zC and zFace are calculated and in ini_masks_etc() where hFacC is calculated using IF's (eg. IF H(i,j,bi,bj).LT.zFace(K) ...). o The lopping code needed a correction to the hydrostatic pressure calculation. o Two new parameters control the lopping: hFacMin - is the lower limit for water fraction in a cell hFacMinDz - is the lower limit for water thickness in lopped cells Both default to 0 so that pure lopping is the default. To force full cells, using continuous bathymetry, set hFacMin=1
Forgot this changes to ini_mask_etc() and ini_depths() in the previous "rearrangement" of initialise().
Re-arrangment of initialisation: o ini_grid is now called first and it sets up *only* the grid and coordinate system. o ini_depths then reads topography are can set it as a function of xC, yC. o ini_masks_etc then derives everything else (masks, lopping factors and recipricols). This tidy-up is in preparation for the rDot transformation...(tense pause)!
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 |