Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint63b: | (view) (download) (annotate) |
Sticky Tag: |
- bug fix : an occurence of areaMin was not removed.
- added diagnostics for seaice genereic tracers (SItr*). - added SItrUnit and SItrNameLong run time param (for SItr* diags). - in diag names, replaced 'PrTh' abbrev. of 'preceeding thermo' with 'PT'.
- seaice_tracer_phys.F and seaice_advdiff.F do ice cover tracers, in addition to ice volume tracers. - seaice_readparms.F add SItrMate ('HEFF' or 'AREA') in PARAMS03 to switch from ice volume tracer (defualt) to ice cover tracer - seaice_growth.F use areaMax in AREA update (part 4), consistent with ridging step (part 2.5). store AREA in SItrAREA at the ridging and update steps (for use with SItracer).
- introducing ALLOW_SITRACER and seaice_tracer_phys.F to handle generic seaice tracer. For now it covers, and was tested for, salinity and age (work in progress). - introducing siEps (1e-5, parameter, defined in SEAICE_PARAMS.h).
try to fix calls to SEAICE_DIFFUSION with default AdvScheme (wonder how this could have been tested before checked-in): - add bi,bj loop around each call (was missing). - input array xA,yA were not filled up: add bi,bj dim and set them once. - fix argument iceAgeTr (wrong indices).
safer to use RL parameter "ONE" in S/R call to seaice_diffusion (instead of 1. _d 0)
- seaice_diffusion.F : remove the min(DX,DY) factor permanently; pass the Laplacian diffusivity (in m/s2) diffKh as a parameter; also pass fac as a param, which can be 1. (to update the tendency field) or the time step (to update the field itself). - seaice_advdiff.F: for multidim, call seaice_diffusion with e.g. SEAICEdiffKhHeff and with fac=1; for single-dim, call seaice_diffusion with e.g. SEAICEdiffKhHeff and with fac=time step. - SEAICE_PARAMS.h, seaice_readparms.F, seaice_check.F : hooks to handle SEAICEdiffKhHeff, SEAICEdiffKhArea, etc. - note: if any of SEAICEdiffKhHeff, SEAICEdiffKhArea, etc. is specified to be >0, then DIFF1 is set to 0.
Renaming of compile time flag SEAICE_SALINITY to SEAICE_VARIABLE_SALINITY and SEAICE_salinity to SIsalFRAC. Added logical checks for the use of the retired variable names in seaice_readparms and seaice_check. ---------------------------------------------------------------------- Modified Files: pkg/autodiff/autodiff_restore.F pkg/autodiff/autodiff_store.F pkg/obcs/obcs_apply_seaice.F pkg/seaice/SEAICE.h pkg/seaice/SEAICE_OPTIONS.h pkg/seaice/SEAICE_PARAMS.h pkg/seaice/seaice_ad_check_lev1_dir.h pkg/seaice/seaice_advdiff.F pkg/seaice/seaice_check.F pkg/seaice/seaice_diagnostics_state.F pkg/seaice/seaice_growth.F pkg/seaice/seaice_init_varia.F pkg/seaice/seaice_model.F pkg/seaice/seaice_monitor.F pkg/seaice/seaice_output.F pkg/seaice/seaice_read_pickup.F pkg/seaice/seaice_readparms.F pkg/seaice/seaice_write_pickup.F ----------------------------------------------------------------------
avoid un-used variables (placed within proper #ifdef)
Start a seaice tracer-like code but for now confinded to ice age
-avoid recomputation. -add seaice_diffusion.f seaice_map_thsice.f to adjoint. -allow use of multidim advection in ad runs.
account for "seaice ridging" effects on seaice age when seaice ridging is done (ie, when AREA is set to 1): this is done in seaice_growth and do it here only if usePW79thermodynamics=F.
back to version 1.38: (mis interpreted what usePW79thermodynamics=F means)
fix previous modif
remove seaice age code corresponding to the case where thsice is used: 1) ice-age not available with thsice and 2) if it was, would be part of thsice.
Wrong store dir. in advect.F (spotted by G. Forget) Storing in advect.F is delicate since it's 1. in a backward Euler loop 2. S/R ADVECT is caled up to 4 times
remove local copy to temp array "iceFld" (not clear why it was introduce at the first place ; can put it back if needed for TAF).
third step of replacing 3D versions of UICE,VICE,HEFF,AREA by 2D versions. remove/rename a few temporary fields, that are no longer needed. fldNm1 is now in a local common block, but I don't think that this is necessary. To be decided by better men than me.
repeat modif from version 1.32, with the same check-in msg: - put exchanged variable in (local) common block for MPI+MTH
first steps in cleaning up the 3-time levels of UICE,VICE,HEFF,AREA: 1. introduce fields for time step (N-1 = *Nm1) 2. do not use levels 2 and 3 anymore (but they are still around) these changes probably break the adjoint, but the pickup is still working, so I am stopping now to give P. a chance to fix the adjoint if necessary and then I will get rid of the 3D fields altogether carefully taking into account the pickup (not clear how).
make the (placeholder-)tracer IceAge a little more meaningful by avoiding ridging of age due to convergent ice flow
- put exchanged variable in (local) common block for MPI+MTH
Update tamc.h for single-prec comlev option
changing ice age to effective ice age
added sea ice age tracer; #define SEAICE_AGE in SEAICE_PARAMS.h
Moved seaice tracer obcs after call to seaice_growth.
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
bug fixes - thx Manfredi
Add DISABLE_SEAICE_OBCS (temporarily)
added open boundary conditions capability for seaice HSNOW and HSALT (code contributed by Michael Schodlok)
added obcs-seaice capability for non-multiDimAdvection schemes and removed a spurious ",k" from OBCS_APPLY_* in seaice_advection.F
A simple HSALT time stepping equation has been checked in.
- fix the 2 forward + 2 adjoint experiment that don't even compile - fix error: IF SEAICEadvSalt (instead of SEAICEadvSnow)
adding ice salinity HSALT as a prognostic variable
Re-arrange store directives.
put a cap on area here if seaice_growth is not called
some parameter clarifications and a little bit of spring cleaning
remove code which deals with advection of pkg/thsice variables
advection of thSIce variables: uncomment the "new version" which is about setting back minimum and maximum ice fraction & thickness after applying the advection.
- exit this S/R if the plan is to do the advection in pkg/thSIce. - remove code within #ifdef THSICE_NEW_ADVECT (was not working).
overhaul of thermodynamics - growth.F and groatb.F are replaced by new routine seaice_growth.F - budget.F is replaced by two new routines seaice_budget_ocean/ice.F - move a few global fields out of SEAICE.h into seaice_growth.F and make them 2D (FICE/QNETO/ ...) - remove FO (it is the same as QNETO) - introduce a few local fields to avoid modifying external fields such as atemp, etc. lab_sea does not change, but hopefully it will be easier for Patrick do the adjoint
o add flooding algorithm and advection of HSNOW; both are turned off by default and do not fix any of the observed problems.
seaice advection with pkg/thsice: a step toward the use of non-linear advection scheme (e.g.: for Qice), but #ifdef or commented out for now (requires more EXCH calls to work).
add 4 parameters for different advection schemes for area, (effective) seaice thickness, enthalphy, and snow height. Their default is the standard parameter SEAICEadvScheme
move #include "THSICE_DEBUG.h" to the end of the local declarations as pgf77 complains about the sequence of statements (statement function before "regular" declarations)
import THSICE_DEBUG options (quiet useful at this stage)
Adjusting adjoint to latest changes.
o modifications and additions necessary for coupling thsice to seaice - major change in seaice_advdiff to make advection and diffusion more transparent - two new routines for mapping and computing advection and diffusion, makes seaice_diffusion obsolete
Avoid recomputation call to seaice_advdiff to circumvene TAF bug (1.8.42)
o remove unused variable
o small change to save some time in the C-grid version
modify advection so that it works on a C-grid properly
add a few new advection schemes to seaice: ENUM_UPWIND_1RST, ENUM_DST2, ENUM_FLUX_LIMIT, ENUM_DST3, ENUM_DST3_FLUX_LIMIT Default is still the old one
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 |