Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint59l: | (view) (download) (annotate) |
Sticky Tag: |
this is now the "authorative" version of the B-grid LSR for comparison. I hope that I will never touch it again.
I swore to neve touch the B-grid code again, but here you are: change a discretization detail to make the code "more symmetric". This change is likely to remove all "ridges/leads" that where quasi-aligned with the grid. Without this change the B-grid code can give "fantastic" (from an artistic point of view) solutions. The old code is still kept as a comment for future generations.
- remove more occurences of seaice_exch and seaice_exch_uv
- add c-grid version of the dynamic solver: + three new routines that are the c-grid substitute lsr, dynsolver and ostres + put a few fields that were local to dynsolver into global common blocks, so that I can move the computation of stresses etc into seaice_lsr (saves coding but may break the adjoint; Patrick, I am sorry!). - replace more hardwired parameters by runtime parameters - add ice masks that mask the rhs of the implicit solvers where there is no ice (commented out in seaice_dynsolver, because i am not sure if this works properly), eventually this should replace the clipping of ice velocities in seaice_dynsolver to +/-40cm/s.
replace 1/RADIUS by recip_rSphere: This changes lab_sea-results, but rSphere is set to 6371km in data, whereas in pkg/seaice RADIUS was hardwired to 6370km. Bummer! I will update the output.txt later, after I will have made my other changes to seaice.
removed all references to SEAICE_GRID.h fields from without changing the results of lab_sea (cubed-sphere configuration will change a little); cleanup code for better readability (?). LSR: There may be still issues with the discretization on an unregular grid.
o added seaice_summary.F and removed obsolete ALLOW_SEAICE's from pkg/seaice
o every instance of _END_MASTER() has been found and replaced with _END_MASTER( myThid ) in order to satisfy certain picky Sun preprocessors
- added SEAICE_deltaTtherm and SEAICE_deltaTdyn in order to reduce cost of pkg/seaice. For time being, SEAICE_deltaTtherm = deltaTtracer and SEAICE_deltaTdyn must be integer multiple of SEAICE_deltaTtherm
o replaced all occurrences of 1/CSTICE or 1/CSUICE - they caused a segmentation fault under certain circumstances - removed unused field WATR
debuglevel control added to pkg/seaice/lsr.F
oops!
added "exch_uv" exchanges to pkg/seaice
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
Merging for c51 vs. e34
checkpoint50g_post o merged with release1_p17 (pkg/seaice and verification/lab_sea) - added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics - LSR sea-ice dynamic solver moved to SouthWest B-grid location and made the default because of faster convergence than ADI
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
checkpoint47f_post Merging from release1_p10: o modifications for using pkg/exf with pkg/seaice - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING and SEAICE_EXTERNAL_FLUXES - pkg/exf CPP options EXF_READ_EVAP and EXF_NO_BULK_COMPUTATIONS - usage examples are Experiments 8 and 9 in verification/lab_sea/README - verification/lab_sea default experiment now uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf
checkpoint47b_post Merging from release1_p9: o pkg/seaice - removed GOTO's and added taf directives - double precision constants to reduce the g77 (Linux) to F77 (SGI) differences reported in release1_p8 o tools/genmake - added SGI options o verification/testscript - updated to that of checkpoint47a_post o verification/global_ocean.90x40x15/input/eedata - modified for SGI f77 compatibility o verification/lab_sea - added description of sea-ice model - added missing matlab routines - added test of thermodynamics parallelization Modified Files: doc/tag-index pkg/seaice/SEAICE_FFIELDS.h pkg/seaice/SEAICE_PARAMS.h pkg/seaice/adi.F pkg/seaice/advect.F pkg/seaice/budget.F pkg/seaice/diffus.F pkg/seaice/dynsolver.F pkg/seaice/groatb.F pkg/seaice/growth.F pkg/seaice/lsr.F pkg/seaice/ostres.F pkg/seaice/seaice_do_diags.F pkg/seaice/seaice_get_forcing.F pkg/seaice/seaice_init.F pkg/seaice/seaice_model.F pkg/seaice/seaice_readparms.F tools/genmake verification/global_ocean.90x40x15/input/eedata verification/lab_sea/README verification/lab_sea/matlab/lookat_exp1.m verification/lab_sea/matlab/lookat_exp2.m verification/lab_sea/matlab/lookat_exp3.m verification/lab_sea/matlab/lookat_exp4.m verification/lab_sea/matlab/lookat_exp5.m verification/lab_sea/matlab/lookat_exp6.m verification/lab_sea/results/AREAtave.0000000010.data verification/lab_sea/results/HEFFtave.0000000010.data verification/lab_sea/results/UICEtave.0000000010.data verification/lab_sea/results/VICEtave.0000000010.data verification/lab_sea/results/output.txt Added Files: verification/lab_sea/seaice.ps verification/lab_sea/matlab/lookat_exp7.m verification/lab_sea/matlab/mmax.m verification/lab_sea/matlab/mypcolor.m verification/lab_sea/matlab/myquiver.m verification/lab_sea/matlab/readbin.m verification/lab_sea/matlab/wysiwyg.m Removed Files: verification/lab_sea/code/KPP_OPTIONS.h
Merging from release1_p8 branch: o New package: pkg/seaice Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle). The sea-ice code is based on Hibler (1979-1980). Two sea-ice dynamic solvers, ADI and LSR, are included. In addition to computing prognostic sea-ice variables and diagnosing the forcing/external data fields that drive the ocean model, SEAICE_MODEL also sets theta to the freezing point under sea-ice. The implied surface heat flux is then stored in variable surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the non-local transport term. Because this call precedes model thermodynamics, temperature under sea-ice may not be "exactly" at the freezing point by the time theta is dumped or time-averaged.
file lsr.F was initially added on branch release1.
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 |