Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint66i: | (view) (download) (annotate) |
Sticky Tag: |
- interpolation near the poles, case where second additional row is at the pole (or beyond the pole and moved to the pole): change first addition row value to a linear interpolation between pole and 1rst (S.pole)/last (N.pole) row (instead of just a copy of it).
- interpolation with #undef EXF_INTERP_USE_DYNALLOC: use fixed size buffer (passed to S/R EXF_INTERP & EXF_INTERP_UV) to avoid any dynamic allocation
adjust debug messages
interpolation near South Pole: fix criteria on input field latitude.
improve comments
revert to previous version 1.31 because new code was wrong and incomplete
add code to allow input grids with latitude starting in the north (when j=1 corresponds to northern edge of field)
- new integer parameter "exf_debugLev" (default set to main model debugLevel) to replace logical switch "exf_verbose".
avoid multiple print to the same file (STDOUT) if multi-threads
- remove OLD_EXF_INTERP_LAT_INDEX code ; - move interpolation into separated S/R and file: exf_interpolate.F - extended input field (2 rows) near the N & S poles: * fill in with the symetric value (when even Nb of data in longitude) * add average value at the poles only for scalar quantities (for vector component interpolation, skip the averaging and keep duplicated values) - add argument myIter and add debug print on 1rst iter if debugLevel >=2
for TAF, remove function DFLOAT.
- assume periodicity in X only if input field cover full longitude range. - improve search for lat. index (supposed to be faster, in ~log2(ny) steps, and should vectorise). - fix input lat of the 2 added rows (in case we provide N.pole data). - improve error messages; rename nx_in,nx_in -> nxIn,nyIn + few other edits
remove/avoid un-used variables
refine debugLevel criteria when printing messages
- fix for case ny_in=1 ; - remove tab ; - put i loop inside jloop (instead of the opposite).
o finish vectorization of exf_interp for TARGET_NEC_SX by unrolling short inner k-loops by hand (arghhh!)
- improve vectorizability of exf_interp for TARGET_NEC_SX, makes code ugly but fast (vectorization is not yet complete)
previous check-in msg was wrong: - change all real*4,real*8 to _RS, _RL : in particular, no longer loose real*8 precision when using exf_iprec=64.
merge global_with_exf/code version to the main code: uses fixed size (=exf_interp_bufferSize) array to read-in (ifndef EXF_INTERP_USE_DYNALLOC): seems to work better in multi-threaded.
move EXF header files from lower_case.h to UPPER_CASE.h ; add missing cvs Header & Name
for bicubic interpolation, identical consecutive input grid latitudes are not allowed
added a missing carriage/return
numeral 90 changed to parameter ninety as required by certain compilers
o pkg/exf modifications to interpolation and rotation routines for more reasonable treatment of North Pole singularity: for tracers North Pole value is set to northernmost zonal-mean value, for zonal velocity it is set to zero, and for meridional velocity it is set to northernmost value.
fix for different longitude origin in input field & model grid
Fix xG_in argument
o Allow negative thetaMin and dont drown when crossing Greenwich o Remaining clean up of thetaStar, saltStar from move to rbcs
Changes toward getting exf working multi-threaded. o added some opitonal consistency check in barrier for trapping barrier calls in singel threaded region o removed a single thread block in ini_depths - singleCpuIO still broken. o modified parts of exf_ that were setting local stack variables in single threaded section and then referencing them from all threads. o commented out strange stop in mdsio for multithreading which seems uneeded. o fixed ptracers initialization and changed ptracers monitor to avoid race condition in which several threads set a shared logical flag at arbitrary moments with respect to each other
Remove obsolete EESUPPORT.h which includes mpif.h
We would like to use exf_interp also for adjoint, so move I/O part to separate routine and hide it.
added MDS_RECLEN patch to pkg/exf/exf_interp.F
debugLevel is referred to and lives in PARAMS.h so we need to #include it.
pkg/exf/exf_interp.F bug fix
o changes to permit hi-res, cubed-sphere, configuration - added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F - added "#undef ALLOW_USE_MPI" support to eesupp/src/scatter_2d.F - added pkg/exf/exf_set_uv.F for on-the-fly interpolation and rotation of surface winds for the cube (A verification experiment, based on global_ocean.cs32x15, but with pkg/seaice turned on and with on-the-fly interpolation from the NCEP Gaussian grid is described in MITgcm_contrib/high_res_cube/README_ice, complete with example surface forcing files and matlab scripts to look at the output and compare it with that of global_ocean.cs32x15.)
adding single-cpu input capability
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
Modified pkg/exf/exf_interp.F in order to specify option linear or bi-linear via argument rather than CPP option.
o Added on-the-fly spatial interpolation capability "USE_EXF_INTERPOLATION" to pkg/exf. - This is a temporary Cartesian-grid hack until the super-duper ESMF coupler becomes available. - See verification/global_with_exf/README for usage example. - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid flags and modified pkg/seaice accordingly. o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F, and pkg/kpp/kpp_transport_ptr.F for dealing with tracer non-local transport term.
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 |