Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint63b: | (view) (download) (annotate) |
Sticky Tag: |
seaice package/sublimation treatment: added a cap on the latent heat flux over sea ice such that the amount of sublimation over one time step cannot exceed the amount of mass in the sea ice and snow. Works for the non-legacy version of seaice_solve4temp. Added diagnostics SImaxLHF, SIactLHF (max and actual latent heat flux) and SIrsSubl (residual freshwater flux following removal of ice and snow) ---------------------------------------------------------------------- Modified Files: seaice_diagnostics_init.F seaice_growth.F seaice_solve4temp.F ----------------------------------------------------------------------
Removed redundant minimum ice thickness check (hice_tmp = max(HICE_ACTUAL, 0.05)) in the evolution branch now that seaice_growth does the regularization (SEAICE_hice_reg). Removing that line doesn't change any verification results.
Minor changes to seaice package. 1) Retired old variables (A22, SEAICE_lhsublim, areaMax, areaMin, hiceMin) and added some new ones (SEAICE_area_reg, SEAICE_hice_reg, SEAICE_area_floor) - Differentiated "regularization variables" from "floor variables" * areaMin became SEAICE_area_reg (old A22) and SEAICE_area_floor * hiceMin became SEAICE_hice_reg (old hiceMin) (with _reg meaning regularization variable) - SEAICE_lhSublim becomes lhSublim, the sum of SEAICE_lhEvap and SEAICE_lhFusion so as to ensure energy conservation when going between phases - A22 was not used anywhere 2) Changed regularization procedure for heffActual and hsnowActual to ensure well-boundedness and smooth adjoint in seaice_growth.F 3) Fixed a bug where seaice_solve4temp would not recognize ice-free grid cells because the old regularization always set heffActual >= 0.05 cm 4) Changed the model so that the default behavior is to put a small (10^-5) "floor" on AREA when HEFF > 0. - went from requiring ALLOW_PRECLUDE_INFINITESIMAL_AREA to be defined to requiring that DISABLE_AREA_FLOOR *not* be defined Modified Files: SEAICE_PARAMS.h seaice_check.F seaice_growth.F seaice_readparms.F seaice_solve4temp.F seaice_summary.F
Start a seaice tracer-like code but for now confinded to ice age
remove SEAICE_ALLOW_TD_IF pieces of code
-avoiding recomputations.
compute and pass sublimation mass flux up to caller (seaice_growth)
- adjoint related changes. 1) bring store directives up to date. 2) allow adjoint approximations (see SEAICEadjMODE). 3) replace a pair of if/then/else with min/max expressions.
explicitly store tsurfloc in seaice_solve4temp.F to avoid unnecessary copying in adjoint code, requires new parameter NMAX_ITER
- replace irritating parameters SEAICE_latentWater/Ice and SEAICE_sensHeat by something more sensible (parameters that are what their name implies) - change some defaults, so that by default exf-parameters are used for things like rhoAir, cpAir,latent/sensible heat parameters
move OPTIONS (formerly locally defined) to SEAICE_OPTIONS.h
vectorize seaice_solve4temp.F - move iterations loops outside of i/j-loops - requires 2D arrays for TB and effConduct - add 2D iceOrNot to replace HICE_ACTUAL.GT.0, as HICE_ACTUAL is modified in this routine - a little bit of clean up, adjusting indentation, etc. - replaced a few TEN**a by exp(a*log(10.)) in new code for better performance and '**TWO' by '**2' (because TWO is a float), replaced ONE, ZERO
set kSrf=1 (variable freezing point)
-fix the USE_ORIGINAL_SBI version (for variable freezing point); -use "celsius2K" in SEAICE_VARIABLE_FREEZING_POINT and in new version (USE_ORIGINAL_SBI undef); -clean-up unused variables;
fix the USE_ORIGINAL_SBI version: was getting NaNs in F_ia_net (because of uninitialise arrays: F_lwd,F_swi,F_lwu,F_sens & F_lh) when using open64+trapuv on aces cluster.
new S/R seaice_solve4temp.F: this is the merged version of Ian Fenty code (seaice_budget_ice_if.F) which enable to recover old standard code (seaice_budget_ice.F) when option USE_ORIGINAL_SBI is defined.
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 |