Parent Directory
|
Revision Log
|
Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint59p: | (view) (download) (annotate) |
Sticky Tag: |
checkpoint59p
o pkg/dic: test for "pickup_dic" file when restarting ; if no pickup-file, can restart with a re-initialised pH (same as it did before) providing pickupStrictlyMatch is set to False.
o change argument list of S/R PTRACERS_WRITE_PICKUP & MYPACKAGE_WRITE_PICKUP + fix call to S/R GGL90_WRITE_PICKUP & DIC_WRITE_PICKUP
o add a "warning" (to Error msg file) when an Active Tracer is not using AB-2 and staggerTimeStep is off (needed for stability of Internal-wave dynamics).
o pkg/mom_vecinv: - new parameter "selectVortScheme" to select which scheme to use for vorticty-term ; - compute upwindVorticity=T case within mom_vi_u/v_coriolis_c4.F (with default selectVortScheme, return to original discretisation) - remove weird combination (e.g.: upwindVorticity & highOrderVorticity)
updating
o in mom_calc_visc, fix average value of viscAh_W & viscA4_W next to the bottom ; only used with variable horizontal viscosity and non-hydrostatic. also fix diagnostics VISCAHW & VISCA4W.
tag checkpoint59o
o dome/code/obcs_calc.F: avoid division by zero (detected using gfortran).
improve vectorizability by moving a few statements out of the main loop
- convert potential temperature into in-situ temperature. This changes the isomip tests => update tests
first round of fixes to pkg/shelfice - sort out freshwater flux; convert freshwater fluxes to mass fluxes (kg/m^2/s), does not break tests, because in verification/isomip, rhoConstFresh=rhoConst (by accident)
document: add a flag writePickupAtEnd (default=true) to be able to suppress writing a pickup at the last timestep
*** empty log message ***
o pkg/obcs and pkg/exf: added capability to specify seaice open boundary conditions that have a different sampling frequency than S/T/U/V obcs
o pkg/diagnostics (stats-diags): - fix global Min/Max in case 1 processor get only empty tiles
replace (4 times) make genmake_tc_1.o >> genmake_warnings 2>&1 with COMM="$CC $CFLAGS -c genmake_tc_1.c" echo $COMM >> genmake_warnings $COMM >> genmake_warnings 2>&1 to make genmake2 always see the value of CC as specified in the optfile. This change may break testreport or building the code on some platforms where the default value of CC does not point to anything useful. In that case, setting CC will fix the problem.
o generic_advdiff: - prather advection scheme (SOM) coded for CS-grid. - add diagnostics for 1srt & 2nd Order moments and sub-grid variance. - modify verification advect_cs test to test SOM-advection on CS-grid.
*** empty log message ***
checkpoint59n
o pkg/diagnostics: for large number of diagnostics, store diagnostic mate number in dedicate array "hdiag": - new version of S/R DIAGNOSTICS_ADD2LIST : DIAGNOSTICS_ADDTOLIST with 1 more argument (mate number); modify old version DIAGNOSTICS_ADD2LIST. - many small changes (integer format) for large number of diagnostics - start to use DIAGNOSTICS_ADDTOLIST (necessary for diagnostics with a counter mate) in pkg diagnostics, ptracers, thsice & aim_v23.
add parameter rotateGrid and Euler angles EulerPhi/Theta/Psi. For usingSphericalGrid, this allows to define the rotated grid coordinates via phiMin/thetaMin/dxSpacing/dySpacing, etc., but then re-compute the geographical coordinates according to the inverse of the rotation defined by the Euler angles, so that Coriolis parameter and online-interpolation by exf works with the geographical coordinates on XC/YC/XG/YG. The three Euler angles PhiEuler, ThetaEuler, and PsiEuler define the rotation about the original z-axis (of an sphere centered cartesian grid), the new x-axis, and the new z-axis, respectively. Naturally, this feature does not work with all packages, so the some combinations are prohibited in config_summary (flt, flt_zonal, ecco, profiles), because there the coordinates are assumed to be regular spherical grid coordinates.
*** empty log message ***
have mnc create marginally meaning full coordinate variables if usingCurvilinearGrid and NOT EXCH2 (that is the grid indices)
add a verification experiment that tests useEXFyearlyFields with USE_EXF_INTERPOLATION defined
o pkg/mypackage: - add example of read/write pickup for state-var ; - add entry points to the main code for state-vars diags & write-pickup.
- add new subroutine that determines the file to read from for use*YearlyFields = .TRUE. and .FALSE.
o pkg/exf: rewrite of exf_getffieldrec.F to properly deal with year transitions for useExfYearlyFields
o pkg/obcs/exf: add useOBCSYearlyFields (=.FALSE.) to obcs with exf in analogy to useExfYearlyFields; rearrange obcs_prescribe_read: two new subroutines (which could be generated from a template, because they are almost identical) to save a few lines of code and may make it easier to change this bit; for now they are included in obcs_prescribe_read.F for simplicity
o finish vectorization of exf_interp for TARGET_NEC_SX by unrolling short inner k-loops by hand (arghhh!)
o pkg/exf: - add a little more diagnostic to exf_interp_read (in analogy to mds_read_field, can be turned off with debugLevel < debugLevA=1) - improve vectorizability of exf_interp for TARGET_NEC_SX, makes code ugly but fast (vectorization is not yet complete)
o pkg/obcs: replace obcs_apply_area/heff/hsalt/hsnow with obcs_apply_seaice
o pkg/seaice: moved DIFFERENT_MULTIPLE from seaice_model to seaice_dynsolver http://forge.csail.mit.edu/pipermail/mitgcm-devel/2008-January/003173.html
o verification/seaice_obcs: updated for restart test and latest options
add a new flag SEAICEuseTEM to use a slightly different ice rheology (so-called truncated ellipse, that gets rid of tensile stress); for now this is only available for the C-grid code and also within #ifdef SEAICE_ALLOW_TEM, because this option may slow down the EVP code default is to not use it.
tag "checkpoint59m" (before the next "DocFest" or the next snow-storm ?)
reinserted comment that was accidentally deleted.
o pkg/seaice: use different time constant for melting (SEAICE_gamma_t) and freezing (SEAICE_gamma_t_frz) ice due to mixed layer temperature
o pkg/seaice/seaice_growth.F: use a different time constant for freezing ice due to supercooled sea water, hardwired to SEAICE_deltaTtherm/0.1
o gad_som : fix flux output (& diagnostics) to have same units as other advection scheme fluxes (was previously multiplied by deltaT).
o added verification/seaice_obcs both to test seaice open boundaries and to provide an example matlab scrpt for generating them
o added verification/lab_sea/input.salt_plume
o pkg/salt_plume: clean up salt_plume_frac.F
o pkg/kpp: added saltplume diagnostics
o pkg/obcs and pkg/seaice: - do not set uice and vice to zero when OB*icefile are unspecified - OBCS_SEAICE_AVOID_CONVERGENCE is undefined by default - moved seaice tracer obcs after call to seaice_growth
tag checkpoint59l was done before changes in pkg/salt_plume
o pkg/salt_plume: added various options for salt plume depth criterion and for vertical distribution of the salt
checkpoint59l
o pkg/ptracers: new version of ptracers pickup: read meta file and write only fields which are needed to restart. ( same logic as main pickup file ; also using pickupStrictlyMatch )
- reformulated availHeat in seaice_growth.F to be independent of AREA
updating
replaced EXF_OPTIONS.h CPP option EXF_SUBTRACT_UVVEL_FROM_UVWIND with EXF_PARAM.h runtime parameter useRelativeWind
o pkg/obcs: added OBCS_SEAICE_AVOID_CONVERGENCE constraint C When the prescribed open boundary conditions are incosistent with C forcing, for example, six-hourly forcing and daily or monthly sea C ice boundary conditions, ice convergence at edges can cause model C to blow up. The above CPP option fixes problem, hence it is C turned on by default, but this is at the expense of less accurate C boundary conditions.
pkg/seaice: removed some unused halos
forgot to document my little change: Compiler directive for NEC SX computers
o pkg/seaice: removed SEAICE_FFIELDS.h and seaice_get_forcing.F seaice forcing fields can now be read only through pkg/exf
no longer write pickup from THE_MODEL_MAIN but always from FORWARD_STEP
o pkg/exf: added CPP option EXF_SUBTRACT_UVVEL_FROM_UVWIND for subtracting UVEL and VVEL from UWIND and VWIND prior to applying bulk formulae.
checkpoint59k
o pkg/seaice: ICE2WATR=SEAICE_rhoIce/rhoConst for consistency between dynamics and thermodynamics. Set ICE2WATR=0.92 to reproduce older results.
o fix un-initialised variable problem (in mom_vecinv & shap_filt): all experiments pass when compile with un-initilised var. checking option.
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
o script to test restart (for now, in MITgcm_contrib/jmc_script) o pkg/seaice: new read/write pickup version. read meta file and write only fields which are needed to restart. ( same logic as main pickup file ; also using pickupStrictlyMatch )
updating
o lab_sea.hb87: modify the domain & update output.hb87.txt : o pkg/rw: cleaning-up: o pkg/mdsio: add new arguments to MDS_READ/WRITE_FIELD for reading/writing a set of consecutive levels in/from a 3-D array.
o pkg/ptracers: use use a 2 characters string ioLabel to identify tracer (if more than 99 tracers). to-do: fix pkg/diagnostics when large number of diagnostics are defined.
checkpoint59j
o in pkgs: dic, obcs, offline, rbcs: standard way to compute coeff. for time interpolation between 2 time reccords which retains full precision (& make results less dependent on compiler). update output of exp: tutorial_cfc_offline & tutorial_global_oce_biogeo.
updating
split PTRACERS.h in 2 header files: PTRACERS_FIELDS.h & PTRACERS_PARAMS.h (keep a temporary version of PTRACERS.h in verification/OpenAD/code_ad_openad to allow to compile customized code before the update)
o cleaning-up: - fix CPP instruction syntax in pkg/obcs - replace (some) call to MDSIO S/R with call to RW interface S/R ; and add #ifdef ALLOW_MDSIO elsewhere (allows to compile without pkg/mdsio) - fix some threads issue in IO parts.
add more comments about EmPmR units changes in coupled set-up
About modifying pkg/dic
o pkg/mom_fluxform: special version of momentum advection.
Added open boundary conditions capability for seaice UICE, and VICE UICE and VICE are reset at the edges after calling the solver and before advection/diffusion. Needs testing.
o new read/write pickup version: - for now, only implemented for main (mdsio) pickup file. - write out only what is needed to restart; merge pickup_nh , pickup_ph and main pickup together. - read meta file; read only what is needed to restart; stop if a field is missing (if pickupStrictlyMatch=T, = the default) or try to restart if it make sense (even if the restart is not perfect). - if no meta file, assume that pickup to read corresponds exactly to a pickup that would currently be written. - read pickup written in the old format (until checkpoint59i) if it recognizes an old meta file (no field-list). - add a meta file in exp. which starts from a pickup: 2 cases: a) minimal meta file (with just file precision) + pickupStrictlyMatch=F e.g.: global_ocean.90x40x15/input/pickup.0000036000.meta b) a meta file describing the content of the associated pickup file e.g.: tutorial_global_oce_biogeo/input/pickup.0004248000.meta o pkg/mdsio & pkg/rw: - new routine to read a meta file ; new set of routine to read Multiple-fields file (with meta file).
added open boundary conditions capability for seaice HSNOW and HSALT (code contributed by Michael Schodlok)
checkpoint59i
Update
o pkg/kpp: add "_d 0" to real constant (if missing); update output of exp: natl_box (10.digits); vermix (std, 7.digits) and lab_sea, 3.FW (only 6,4,6 digits match) & AD (8.digits).
o prepare for "clever pickup" implementation: add new header file "RESTART.h" for internal parameters related to restart process (formerly from PARAMS.h) and add startAB parameter to argument list of S/R ADAMS_BASHFORTH2. o more standard interface to {PKG}_WRITE_PICKUP with pickup suffix passed as argument. (only atm2d & obcs write_pickup have not yet been updated)
o pkg/monitor: - use GLOBAL_SUM_TILE instead of _GLOBAL_SUM - fix mon_stats_rs (statistics over the full domain, even where field is zero) - account for deep Atmosphere factor and density factor (anelastic)
o Added open boundary conditions capability for seaice HEFF and AREA For time being this capability requires pkg/exf, pkg/obcs, and pkg/seaice UICE and VICE are masked at the southern and western open boundaries, if any, of the domain. Eventually needs to be extended to SALT and SNOW.
updating
o add missing cvs $Header:$ or $Name:$ in eesupp/*, pkg/* & verification/code*
document recent changes
o add new diagnostics to seaice: advective, diffusive fluxes (only for multidim-advection, for scheme 2 they are not filled) and transports, thermodynamic growth rates
o change units of EmPmR (inside the code) from m/s to kg/m2/s (mass flux) but leave input file unchanged. Affects results @ truncation level (cg2d match) and update output of experiments: lab_sea(6), global_ocean.90x40x15(10), global_ocean.cs32x15(11x3,10), natl_box(11), tutorial_global_oce_latlon(11) + adjoint results: global_ocean_ebm(11) and lab_sea (12). Next: will retire convertEmP2rUnit (simply using mass2rUnit instead).
checkpoint59h
update
Added comments, which describe the changes made in kpp_calc_diff_s & _t.F on April 23, 2007. These routines no longer update the vertical diffusivity array (passed as argument) but are (re-) setting those arrays. Also changed order GMREDI_CALC_DIFF & KPP_CALC_DIFF_T in calc_diffusivity.F and ptracers_calc_diff.F since now the order matters.
improve vectorization by moving if-statement out of loops
added the salt plume scheme (ALLOW_SALT_PLUME) to pkg/kpp (code conttributed by An Nguyen)
o testreport: - allow to test for Qnet & SeaIce monitor output; clean-up ALLOW_BULK_OFFLINE monitor & update offline_exf_seaice exp. output. - AD testing: pass/FAIL according to Grad. output accuracy (instead of Cost)
finally document this: o pkg/seaice: - bug fix in the evp solver: boundary conditions were affected be masking of zMax/zMin (changes results) - minor bug fix in boundary conditions in seaice_calc_strainrates (changes results for no_slip) - seaice_lsr.F: make interpolation of eta dependent on boundaries - replace hardcoded lower limit for zeta (zMin) by runtime parameter - add a test to lab_sea, that tests the Hibler and Bryan (1987) ocean stress formulation and no-slip boundary conditions
o pkg/ptracers: Temporary fix for PTRACERS_useGMRedi & PTRACERS_useKPP in gad_calc_rhs.F ; add few safety stops in initialisation phase.
A simple HSALT time stepping equation has been checked in.
o pkg/thsice: use continuous power-law function for partition of energy
replaced maskW with seaiceMaskU and maskS with seaiceMaskV in seaice_lsr.F; this solves the pkg/seaice-pkg/obcs problem without requiring DO-IF statements
checkpoint59g
o adjoint testing: in preparation for changing testreport: - output format: cost and grad written on separated lines - ad output results in directory "results" (instead of "results_ad")
adding ice salinity HSALT as a prognostic variable
changes for using pkg/seaice with pkg/obcs
*** empty log message ***
changes in testreport
o new S/R GLOBAL_SUM_TILE to compute global sum independently of number of threads and number of processes (with #define GLOBAL_SUM_SEND_RECV) (but still depend on the tile decompostion of the domain).
docment my little change in obsolete bits of the code
pkg/thsice: move common block out of "THSICE_2DYN.h" (removed) to "THSICE_VARS.h"
o pkg/thsice: - fix reshaping of sea-ice just after advection: melt all the ice only if ice-volume is too small. - re-visit lateral/thinning repartition of melting (modifs from May 04, 2007): prevent lateral melting if sea-ice fraction is too close to iceMaskMin ; and update experiment global_ocean.cs32x15.icedyn (+start from pickup files).
o external_forcing_surf : extend the use of salt_EvPrRn & temp_EvPrRn (fresh-water tracer content) to linFS or no RealFreshWaterFlux ; default remains unchanged.
o define mass2rUnit & rUnit2mass as units conversion factor (surface forcing) o pkg/cd_code: add brackets in multiple terms sum (S/R CD_CODE_SCHEME):
checkpoint59f
*** empty log message ***
*** empty log message ***
o add few EXCH S/R (UV_BGRID, UV_DGRID, SM) for B & D-Grid velocity & 2nd Moment Sxy. o pkg/cd_code: use the right EXCH calls (for CS-grid); but problem remains at face corners.
o pkg/generic_advdiff: - define loop range indices for computing vertical advection tendency as parameters (iMinAdvR,iMaxAdvR,jMinAdvR,jMaxAdvR), in GAD.h and do the calculation in the interior (no overlap) only ; for now, only implemented for SOM advection (to save CPU time) - add argument "withSigns" to S/R FILL_CS_CORNER_TR_RL (needed for SOM_xy moment)
o pkg/bulk_force: fix loading into Qsw of Short-Wave flux; and update output of global_ocean.cs32x15.thsice .
Close southern and western boundaries for UICE/VICE when useOBCS=.TRUE.
Updating for exch2 adjoint
checkpoint59e
o exch2: new S/R that only use the cube-tracer (center-position) exchange: for B-grid vector (not yet tested) and C-grid vector (<- only used when option W2_USE_R1_ONLY in W2_OPTIONS.h is defined).
o starting implementation of Duffy et al. (GRL 1999) salt plume scheme (#ifdef ALLOW_SALT_PLUME)
o gather_2d/scatter_2d: removed halo regions This means that the overlap regions need to be initialized and/or exchanged "outside" of these two routines as has generally been the case since revision 1.6 of scatter_2d.F
applied OBCS T/S mask to HEFFM sea ice mask This fixes pkg/seaice OBCS problem but in my opinion this information should eventually be transferred to the GRID.h arrays: hFacC, maskC, etc.
* commented out cap of HICE: it helps keep ice thinner * reintroduced cap of HEFF via MAX_HEFF and SEAICE_CAP_HEFF option
* replaced dRf(1) with dRf(kSurface)*hFacC(kSurface) in seaice_growth.F * added SEAICE_availHeatFrac, which specifies fraction of surface level heat content used to melt or grow ice (this is a placeholder until Ian checks in code meant to reduce adjoint sensitivities).
maybe GM/Redi adjoint is now broken
o pkg/seaice: added computation of saltFlux in seaice_growth; For time being, sea ice salinity is assumed constant contribution of snow flooding to freshening of sea ice is neglected. SEAICE_salinity is set in SEAICE_PARM01 of data.seaice and it defaults to 0.0 in order to maintain backward compatibility. Typical values for SEAICE_salinity are 4 to 10 g/kg.
o gmredi: add option (GM_taper_scheme='fm07') for Ferrari & McWilliams 2007 scheme and the corresponding test case (under front_relax dir). For now, only available with Skew-flux form and not yet tested in realistic set-up.
Updating.
checkpoint59d
o standard name: {PKG}_DIAGNOSTICS_STATE to fill diagnostics array for {PKG} state variables, and called from DO_STATEVARS_DIAGS. (keep {PKG}_DIAGNOSTICS_FILL for non-state variables diagnostics) o pkg/gmredi (gmredi_readparms.F): add some missing "_d 0" and change default value of parameter "GM_Small_Number"; update output of exp: lab_sea (x2), cfc_example, global_ocean.90x40x15, global_ocean.cs32x15 (x4), global_ocean_ebm, global_with_exf, tutorial_global_oce_biogeo, tutorial_global_oce_latlon
*** empty log message ***
- fixed problem with HSNOW initialization to avoid thick snow when AREA is initilized with small values - does not change lab_sea results. - added HsnowFile initialization capability Modified Files: doc/tag-index pkg/seaice/SEAICE_PARAMS.h pkg/seaice/seaice_init_varia.F pkg/seaice/seaice_readparms.F
- in dynsolver set zMin = 0. in anology to seaice_dynsolver change a lot of things at the same time so we can never trace the changes individually (should not affect the adjoint, as it is generally not using the LSR solver, right?) - fix bug in metric terms of u-equation in LSR solver (implicit part), changes verification/lab_sea - rearrange implicit part of u-equation in LSR solver to make it easier to read, understand, and debug. This causes changes at the truncation level. - fix (serious) bug in the boundary conditions (sign error in the implicit part) of the LSR solver. Changes all LSR results
pkg/smooth related calls
updating
dependencies: pkg/profiles requires pkg/cal
pkg/profiles upgrade
o additional test (in global_ocean.cs32x15) using seaice+thsice pkgs.
updating
updating
updating
updating
checkpoint59c
o add S/R and diagnostics for oceanic mixed-layer depth o move GMRedi call after all vertical mixing schemes (including KPP) o pkg/thsice: - ensure iceMask > iceMaskMin : this problem appeared after May-04 modifs (melt only laterally if thin ice): update output of global_ocean.cs32x15.thsice
Re-organized adjoint checkpointing according to Matt Mazloff (but with modifs/completions/cleanups) Storing is now bundled into large arrays to optimized I/O (and second step in cleanup of the_main_loop)
updating
updating
updating
- add code for no slip boundary conditions for lsr - fix the free slip code for lsr
updating
o change calculation of Visbeck K: - no longer depend on tapering scheme; instead, compute slope (limited by GM_maxSlope). this is equivalent to what was comuted before with clipping or linear tappering. - fix vertical averaging (wrong by 1 level) - leave the old version (but will not be maintained) within #ifdef OLD_VISBECK_CALC / #endif
updating
o exf runoff and seaice: remove ALLOW_SEAICE from exf pkg files and add #define ALLOW_RUNOFF in SEAICE_OPTIONS.h (when not using exf)
checkpoint59b
updating
o Refresh of tutorial_global_oce_latlon (includes changing salinity-like passive tracer to an Age Tracer) + update output.txt
o pkg/exf: - implement A-grid / C-grid selection for wind-stress input files. - clean-up exf_wind.F (remove us, use wspeed instead ; add wStress) for now, in exf_bulk_largeyeager04.F only : - change implementation for case where windspeed + 2. components wind-stress are read-in. AND use rhoConstFresh to convert evap. o pkg/seaice: - use correct EXCH_UV for wind-forcing (on A-grid). - change SEAICE_OPTIONS.h to limit the number of option combinations (regarding SEAICE_EXTERNAL_FORCING & SEAICE_EXTERNAL_FLUXES); add corresponding stops.
o pkg/exf: - default EXF options are now set in EXF_OPTIONS.h (ifndef ALLOW_AUTODIFF_TAMC) EXF_INTERPOLATION: - merge global_with_exf/code version of exf_interp_read.F to the main code ; - Add new option: EXF_INTERP_USE_DYNALLOC to use Dynamical Allocation when reading the file ; Important: This options needs to be defined to recover previous code. otherwise, use fixed size array to read in (size=exf_interp_bufferSize). - no longer loose real*8 precision along the way when using exf_iprec=64.
updating
Update.
o rearrangement of common blocks (really needs more cleaning up)
o pkg/exf: some cleaning-up: - change various "constants" into runtime parameters - cleaned-up Large&Yeager04 routine which should eventually replace exf_bulkformulae.F (changed names of S/R and CPP) and merged various ALLOW_ATM_WIND options only used with thsice pkg (in thsice_get_exf.F): - implement fixed turbulent transfert Coeff over ice (as in Large&Yeager04) which are used when useStabilityFct_overIce=TRUE (= the default) - change default values of ice & snow emissivity and scale downward LW by ice & snow emissivity.
o pkg/thsice: fix few little problems, in thsice_calc_thickn.F & thsice_extend.F update output of test-exp: aim.5l_cs(thSI), global_ocean.cs32x15(thsice), and cpl_aim+ocn o pkg/kpp - for now, fix conservation problem by exchanging KPPviscAz (may not be the best fix)
- remove wrong (within bi,bj loops) EXCH calls. - little cleaning (add argument myThid in last position, cvs header ...)
- document moving computation of surface related input fields to KPP into a new subroutine kpp_forcing_surf.F
updating
checkpoint59a
updating (mythid in kpp-routines)
some parameter clarifications and a little bit of spring cleaning
o pkg/thsice: rename run-time parameters: himin -> hIceMin himin0 -> hThinIce hihig -> hThickIce i0 -> i0swFrac transCoef -> bMeltCoef frac_energy -> fracMelting add new parameters: hNewIceMax, fracFreezing, dhSnowLin with default values (for now) that do not change the results. remove old version of thsice vars advection in pkg/seaicer.
o in FFIELDS.h: - replace #ifndef ALLOW_EXF by #ifndef EXCLUDE_FFIELDS_LOAD - make pLoad & sIceLoad always available (but still only used if ATMOSPHERIC_LOADING is #define).
updating
replaced _KPP_RL with _RL
o bug fixes for vertical diffusivity computations when both KPP and 3D diffusivity arrays are used.
updating
updating
updating
updating
tagging checkpoint59
2nd set of modifs for thsice adjoint.
exf wind-stress: updated
updating
o pkg/exf: move exf header files from lower_case.h to UPPER_CASE.h ; add missing cvs Header & Name
updating
checkpoint58y_post
latitudinal dependence of Bryan and Lewis, 1979 fixed and reworked as per JM suggestions
o Added capability for latitudinal dependence of Bryan and Lewis, 1979 vertical diffusivity, similar to that in MOM4; vertical diffusivity is specified using diffKrBL79* diffKrBLEQ* and KbryanLewisLatTransition
o ice dynamics (pkg/seaice) with thsice thermodynamics: - add code within pkg thsice to advect & diffuse sea-ice fields similar to (and will replace) what has been added in seaice_advdiff.F, but: - conserving Mass, Heat & Salt. - better when using non-linear advection scheme (not yet fully tested) - can also be used in atmospheric set-up (for now, only the diffusion).
Modified tag-index
Modified capability for 3D specification of background vertical diffusion coefficient as per JM requests. 3D diffusion is now specified by (i) #define ALLOW_3D_DIFFKR in CPP_OPTIONS.h and (ii) specifying file diffKrFile in runtime "data" file that contains the 3D vertical diffusivity coefficients.
o Added capability for 3D specification of vertical diffusion coefficient. This is done by specifying files diffKr3dSfile and diffKr3dTfile that contain the 3D vertical diffusivity coefficients. Modified files: doc/tag-index model/inc/PARAMS.h model/src/calc_3d_diffusivity.F, calc_diffusivity.F, ini_mixing.F, ini_parms.F, and set_defaults.F Added missing file verification/tutorial_global_oce_latlon/run/.cvsignore
checkpoint58x_post
o IO option for global-file compact format: - add options when generating topology (utils/exch2/matlab-topology-generator) - add I/O capability (pkg/mdsio). - adapt utils/matlab/rdmds.m to read this format. for now long-line format not yet supported by pkg/mdsio (& exch2).
add a few diagnostics
checkpoint58w_post
o p-coord. non-hydrostatic using reference profile for w <-> omega conversion: rVel2wUnit & wUnit2rVel are computed from reference profile Tref,Sref (and replace horiVertRatio in NH code). Update output of exp.: tutorial_global_oce_in_p (useNHMTerms !) and tutorial_plume_on_slope (sensitive to truncation)
updating
updating recent changes in exf and seaice
o rdmnc.m : some improvements in dealing with singleton dimension (tested on all testreport mnc output files). o genmake2: disable pkg/profiles if netcdf test fails.
o cpl_aim+ocn exp.: use consistent rhoConstFresh in Atm & Ocn; update output.
move call to cal_readparms up to make calendar parameters/variable available to all packages
checkpoint58v_post o change EOS (from POLY3 to JMD95P) in global_ocean.90x45x15 to get useDynP_inEos_Zc tested.
pkg/exf: changes to properly interpolate/mask/scale initial fields
Modified Files tag-index
o utils/matlab/cs_grid/bk_line: to compute transport through passages, add a script (grt_circ_bkl.m) to generate broken-line between 2 points, following the great-circle arc between those 2 points. o trap un-initialized variable with pathscale compiler on weddell.mit.edu (thanks to Constantinos): fix few problems and get (almost) all exp to pass.
o 2nd-Order Moment Advection Scheme (Prather, 1986): first check-in - enable by setting #define GAD_ALLOW_SOM_ADVECT (in GAD_OPTIONS.h) - used without limiter (AdvScheme=80) or with Prather limiter (AdvScheme=81) - still needs work (not working with some options ; efficiency to improve) and serious testing. - use this scheme for temperature & salinity in 2 advection test exp.: advect_xy & advect_xz, respectively.
checkpoint58u_post o new test-exp: fizhi-cs-32x32x40 (40 levels) to replace the 10 levels.
o move call to INI_FORCING from PACKAGES_INIT_VARIABLES to INITIALISE_VARIA. o testreport: add option "-skipdir" to skip some tests. o exf: when input wind-stress (#undef ALLOW_ATM_WIND), by-pass turbulent momentum calculation. o gad_advection: fix vertAdvecScheme (if different from advectionScheme) o some cleaning: usePickupBeforeC35 no longer supported; remove this option; remove checkpoint.F and the_correction_step.F (no longer used); do the k loop inside CYCLE_TRACER (supposed to be more efficient).
updating
checkpoint58t_post (the last one of the year)
o pkg/diagnostics: fix multi-threaded output (when singleCpuIO=F) o pkg/mdsio: - clean-up mdsio_readfield.F & mdsio_writefield_new.F and move to new files: mdsio_read_field.F (S/R MDS_READ_FIELD) & mdsio_write_field.F (S/R MDS_WRITE_FIELD); - fix multi-threaded singleCpuIO option in MDS_WRITE_FIELD - collect old S/R in one file: mdsio_rw_field.F (now just a call to either MDS_READ_FIELD or MDS_WRITE_FIELD ) - new S/R (to replace MDSWRITEMETA), which allows to write more informations (variable names, time ...) to meta files. - modify rdmds.m to give back the meta file content.
o pkg/diagnostics: change vertical interpolation to be safer, and more flexible (define p-levels to interpolate to in data.diagnostics); add argument to S/R DIAGNOSTICS_GET_POINTERS to catch the right diagnostic pointer.
updating
o pkg/seaice: change default (SEAICE_OPTIONS.h): use C-grid dynamics and allow to use EVP solver. Change forward lab_sea: test both EVP solver and LSR solver, and use C-grid dynamics (like lab_sea adjoint)
updating
updating
updating
tagging checkpoint58s_post before changing the thermodynamics of seaice
o pkg/exf: removed exf_init_runoff.F and placed functionality in exf_init.F and exf_set_gen.F; changed exf_set_gen.F so that genperiod=0 means input file is one time-constant field and genperiod=-12 means input file contains 12 monthly means Note 1: need to complete ALLOW_RUNOFF_CONTROL in exf_getffields.F Note 2: exf_set_gen.F now includes functionality of exf_set_climsss.F and exf_set_climsst.F, which can evetually be removed
o CG2D: use pre-computed solver main-diagonal (stored in common block); this affects truncation error ; generate new output file for exp. which fails: exp4(12d), fizhi-cs-aqualev20(12d), front_relax(10d), global_ocean.90x40x15(10d), global_ocean.cs32x15(10d).thsice(11d).viscA4(10d), ideal_2D_oce(10d), internal_wave(09d), isomip.htd(11d), matrix_example(07d), MLAdjust(4x11d,12d), natl_box(11d), rotating_tank(12d), tutorial_global_oce_in_p(10d), tutorial_plume_on_slope(11d), vermix(12d).ggl90(12d).my82(11d).opps(12d).pp81(11d)
o start implementation of deep-atmosphere and anelastic formulation
o verification: remove 2nd copy of input files and use script "prepare_run" to make a symbolic link to the 1rst copy (reduce downloaded size by ~81.M)
updating
profiles: fix for multithreaded case
o modifications to pkg/seaice/growth.F and budget.F, which change results of lab_sea experiment: HSNOW was sometimes treated as effective and sometimes as actual snow thickness. It now refers everywhere to effective snow thickness, meaning that for non-zero AREA, actual thickness is HEFF/AREA.
rename few diagnostics and add few ocean-forcing diagnostics
checkpoint58r_post
o modifications to pkg/seaice/growth.F, which change results of lab_sea experiment: fixes pertain to melting snow over open water, to masking EVAP under sea ice, and to using the correct AREA variable for computations of EVAP, PRECIP, HSNOW, and GHEFF
add ability to read bathy, salt, and theta using MNC (off by def) -- and this can be readily extended to most of the other files in PARM05 of the main "data" namelist file
o add flooding algorithm and advection of HSNOW; both are turned off by default and do not fix any of the observed problems.
o seaice advection with pkg/thsice: a step toward the use of non-linear advection scheme, but #ifdef or commented out for now (requires more EXCH).
Adding new control variables: lwflux, lwdown, evap, snowprecip, apressure, runoff.
o use standard version of PTRACERS_INI_VARIA in tutorial_tracer_adjsens (identical results) and the standard version of EXTERNAL_FIELDS_LOAD in natl_box (affects results @ truncation level: update output.txt)
o multi-threading and IO: - replace some call to MDSIO S/R by the corresponding READ/WRITE_FLD S/R. - remove most of BEGIN_MASTER/ END_MASTER around READ/WRITE_FLD S/R calls (needed to work with SingleCpuIO): tested in all verif. exp.
o GAD: use simpler DST3 formulation as default (old version left within #ifdef) affects the results (but none of the verification test uses this scheme).
Update
checkpoint58q_post
Added CPP_EEOPTIONS.h flag DISABLE_MPI_READY_TO_RECEIVE, which disables MPI_SEND ready_to_receive polling in the gather_* subroutines.
o clean-up multi-threaded problems (reported by debugger tcheck on ACES); add (in global_with_exf/code) a version of EXF_INTERP_READ without dynamical allocation (seems to work in multi-threaded). o new function "MASTER_CPU_IO" (=T if master thread & master CPU, if using single CPU io) so that TAF does not have to see EESUPPORT.h
Test 2
test
A test
test-2
test
o pkg/seaice: implement sea-ice loading (when using RealFreshWaterFlux)
stop if obcs is used with useCDscheme = .true.
The Pre-India tag.
Updating
document recent changes
just to test
*** empty log message ***
checkpoint58o_post o replace calls to EXCH_Z & EXCH_UV_AGRID: use the new _3D_ version ; remove old subroutines (_XY_ & _XYZ_); update the adjoint version.
o change controling S/R for writing pickup file (new S/R do_write_pickup) and clean-up reading/writing of pickup files. o fix local version of read/write pickup (NH part) in rotating_tank/code
o simplify EXCH interface: - change _XYZ_ interface to _3D_ subroutine (with 3rd dim in argument list) - not often used EXCH S/R (exch_z, exch_uv_agrid): keep only the _3D_ version
created regrid package
updating
updating
checkpoint58n_post
o fix globalArea multi-threaded calculation: need to apply GLOBAL_SUM to local variable (not in common block).
o lot of small changes for multi-threaded. Most tests (using OMP & ifort) pass. - still problems with pkgs: mnc, exp2, dic, cal, exf (and probably more); - still BEGIN_MASTER/END_MASTER to remove around READ/WRITE_FLD S/R calls to work with SingleCpuIO.
o add "_d 0" to real constant of pkg/cfc subroutines ; update exp. cfc_exemple & tutorial_cfc_offline output files.
o multi-threading and IO: - all threads call READ_FLD S/R (needed if using SingleCpuIO): (no BEGIN_MASTER/ END_MASTER around the call, but inside MDSIO S/R. - barrier before and after reading. - stop if other than master is calling MDS_WRITELOCAL (if #undef IO_THREAD_SAFE) - avoid using MDS_WRITELOCAL for LAND pkg output. - new S/R AIM_WRITE_PHYS (replaces AIM_WRITE_LOCAL) to write AIM physics common-block variables ; Allows multi-threading with master-thread IO.
o change default MAX_NO_THREADS from 32 to 4 ; and stop cleanly when MAX_NO_THREADS is too small. o add S/R BAR_CHECK to check multi-threaded barrier synchronization
tag checkpoint58m_post
o add a Non-Hydroatatic test (with 3-D Coriolis, NHMTerms, biharmonic Visc. and side-drag) on CS-grid : global_ocean.cs32x15.viscA4
o make "tutorial_global_oce_latlon" from standard "global_ocean.90x40x15" exp. keep global_ocean.90x40x15 (for AD testing) with former secondary test (".qshyd") as the main test (mv output.qshyd.txt to output.txt) o CVS modules: update MITgcm_verif_basic; remove MITgcm_verif_ocean & _verif_atmos; add MITgcm_tutorials (= code + all the tutorials)
update
update
update
o testreport: change multi-test output-file name (from output.txt.{name} to output.{name}.txt)
update
updating
o calc_gw: - add cosFacU in zonal viscous flux (harmonic.visc.). - put back side-drag (call new S/R MOM_W_SIDEDRAG) and output.txt. of tutorial_plume_on_slope. o obcs_calc.F : fix index Pb in OBSeta & OBNeta (Thanks to Gianmaria).
o calc_gw: true flux-form, account for horizontal grid spacing. update rotating_tank results, but not plume_on_slope (affected at truncation level, 11 digits).
Updating and tagging for rbcs adjoint
Updating
Updating.
o take bi,bj loops outside calc_gw to fix Pb with local array KappaRU,V
checkpoint58k_post
o testreport: - always build in dir. "build" (if not there, mkdir build instead of building & running in input) - run in dir run (if it exists), in build otherwise. - call prepare_run (if input/prepare_run exists) - run multi-threaded test (with new option: "-mth") using input/eedata.mth (if it exists).
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.
updating
o pkg/diagnostics: (diagnostics_main_init.F) define title of isomorphic variables according to the current config.
- seaice-dynamics forcing: add atmospheric and seaice loading to SSH gradient
o pkg/thsice with pkg/seaice dynamics: fix domain of computation (interior only, required for exf) and do exchanges
o towards a standard way of dealing with multi-threading in MONITOR and ${PKG}_MONITOR subroutines (all except ptracers_monitor).
Variable viscosities seem to work in nonhydrostatic calculations, so add tag.
o make exf_monitor & seaice_monitor independant of the main (dynamics) monitor
o pkg/seaice: fix SEAICEuseEVPpickup parameter (put it in a commom block) o generic_advdiff: DST advection S/R : use local copy of velocity to compute CFL (problems ? with gradient check in bottom_ctrl_5x5)
o tracer advection: - clean-up and simplify calc_common_factors.F - make a local copy of velocity and pass it (as u,v,r_Trans) to DST tracer advection subroutine (but still not used within DST advection S/R)
o rename pkg aim_ocn_coupler to atm_ocn_coupler (later on, will be used without aim)
Tagging
Updating.
checkpoint58i_post
updating
o Total number of Timers is finite (<=40): comment out 2 non-essential one in the_main_loop.F to avoid Pb (e.g., when running fizhi test)
o vector_invariant: fix highOrderVorticity(=4.th.Order) advection on CS-grid: no longer loosing mass.
o exf & curvilinear-grid: no longer modify longitude xC & xG.
o updating
o pkg/seaice: added SEAICEuseEVPpickup parameter - Set to false in order to start EVP solver with non-EVP pickup files when using SEAICEuseEVP
o pkg/diagnostics: implement "periodic averaging diagnostics" (e.g., used for mean seasonal cycle, mean diurnal cycle); add an example in verification/global_ocean.cs32x15/input.thsice/data.diagnostics
updating
Tagging after bottom topography control code
Tagging before bottom topog. control code
updating
updating
updating
tag checkpoint58f_post
updating
updating
updating
pkg/thSIce: - split thsice_step_fwd.F in 2 S/R: thsice_step_temp.F & thsice_step_fwd.F - put i,j loops inside S/R: THSICE_ALBEDO, THSICE_SOLVE4TEMP, THSICE_EXTEND and THSICE_CALC_THICKN - for now, call to THSICE_GET_BULKF remains inside i,j loops. - add CPP option: ALLOW_DBUG_THSICE and header file THSICE_DEBUG.h to make debugging easier. - affects results (@ truncation level) of global_ocean.cs32x15.thsice: update output o pkg/bulk_force: - clean-up comments and parameters ; - add new Bulk-Formulae from Large and Yeager, 2004, NCAR/TN-460+STR ;
o fix bug in aim+thsice albedo: snow & ice thickness arguments were switched; generate new output for test-experiment: aim.5l_cs.thSI
o results_ad : rename "output.txt_adm" to "output_adm.txt" and change testreport accordingly
tag checkpoint58e_post
updating
Updating
Updating.
update
tag checkpoint58d_post
o upgrade simple test-experiment to tutorial example: step.1: duplicate the experiment and (step.2) will remove the old copy. tutorial_barotropic_gyre <- copy of exp0 (R1:barotropic_gyre_in_a_box) tutorial_baroclinic_gyre <- copy of exp1 (R1:baroclinic_gyre_on_a_sphere) tutorial_global_oce_latlon <- empty for now (R1:global_ocean_circulation) tutorial_global_oce_biogeo <- copy of dic_example tutorial_deep_convection <- almost like exp5 (R1:nonhydrostatic_deep_convection) tutorial_plume_on_slope <- copy of plume_on_slope tutorial_tracer_adjsens <- copy of carbon (R1:tracer_adjoint_sensitivity) tutorial_global_oce_optim <- empty for now (David ?) tutorial_global_oce_in_p <- copy of global_ocean_pressure some tutorials (R1) were already checked-in under tutorial_examples in release1_branch
correct a problem of sign in cost_scat.F
updating
updating
updating
updating
Updating.
updating
o move NH metric terms & 3.D Coriolis S/R to pkg/mom_common and add those terms in Vector-Invariant formulation.
some modifications in ecco, ctrl and profiles pkgs
Updating
updating
Updating
Updating
document EVP-seaice
o move calendarDumps from "data" to "data.cal" and clean-up the code with a simple call to pkg/cal S/R: CAL_TIME2WRITE o add useEXF & useCAL flags (for now, set in hard-coded way)
o add S/R to compute NH-metrics terms & Coriolis f' in vertical momentum (were missing in NH mode, and wrong in quasihydrostatic mode). waiting for Chris updated version of calc_gw to add those CALLs. o fix bug in quasihydrostatic S/R ; add a test for this option: global_ocean.90x40x15.qshyd
o new S/R "SET_PARMS": set parameters that might depend on the use of some pkgs. (called from INITIALISE_FIXED, after INI_PARMS & PACKAGES_READPARAMS) o add on/off flag useOffLine for package OFFLINE
updating
updating
updating
updating the noise in the seaice C-grid solver remains )o:
updating
checkpoint58b_post
o AIM+thSIce: fix sign of Short-Wave through the Ice ; update output.txt of exp. aim.5l_cs.thSI
various mnc cleanups and improvements: + shrink lookup tables by factor of ~4 + better error reporting when running out of lookup space + able to handle longer path/file names (up to 500 chars)
o Another overhaul of store dirs. for NLFS to eliminate "hidden" recomputations. o TBD: "hidden" mom_vecinv recomp. in dynamics
change forcing_In_AB to affects both T,S forcing and Momentum forcing and add new flag to put Dissipation tendency out of Adams-Bashforth.
updating
o updating
remove the BUILD_INFO.h include from CPP_EEOPTIONS.h
updating
updating
o Apply mask on Fresh-Water flux (needed for SSH forcing). update output.txt of exp. global_ocean_ebm & cpl_aim+ocn (affects cg2d residual)
updating
Adding parameter to remove on-the-fly global mean and trend from exf forcing and ctrl control adjustments
o change the default rotation period to 86164.s = the Earth rotation
o 1rst implementation of Implicit IGW using the 3-D solver (use3Dsolver=T) and based on a reference stratification. Tested within hs94.cs-32x32x5.
updating
forgot to commit an earlier comment, sorry
updating
taggin before I commit seaice changes
updating
updating
updating
o fix bug (typo) in obcs_apply_eta.F
o updating
updating
updating
o AIM pkg: change threshold on large-scale condensation to conserve Heat.
o pkg/diagnostics: add options and parameters for regional-statistics diagnostics ; define regions by reading a region-mask from a file (might add other options later)
o pkg/bulk_force: - add option and parameters to use AIM surface-flux formulae. + some cleaning.
checkpoint58
add "--embed-source"
Updating
tag checkpoint57z_post
Updating
Updating
o make CG3D solver compatible with Free-surface at k > 1 (p-coordinate): affects output (@ truncation level) of exp. plume_on_slope ; updated.
o updating
o no AB-2 on Gw at the first iteration (consistent with Gu,Gv,Gt,Gs ...) affect results of NH experiments (but all our NH tests have Gw[it=1]==0 !!) o transfert surface NH pressure to eta field (if exactConserv).
Adding unfinished 3-dim. relaxation code.
o gmredi: fix bugs in slope tapering ldd97 (depthZ had the wrong sign) and update lab_sea output.txt file.
Updating
Update
o obcs: always reset wVel & eta (to zero or prescribe it) at the OBs.
o adding new package rbcs
o gchem/dic/cfc/offline changes
checkpoint57x_post
o cleanup our namelist syntax in verification: - make it more F95 standards compliant (some work still needed) - allows the vast majority of our tests to work with gfortran
o Disable useVariableViscosity for adjoint for time being (there are a number of extensive recomputations) o Initialize certain variables needed for adjoint
o Non-Hydrostatic: - put all NH variables (formerly in DYNVARS.h & GW.h) in NH_VARS.h - fix exchange calls for CS-grid using the new EXCH_S3D_RL.
o Allow to apply AB on T,S rather than on AB(gT,gS): - implemented within #ifdef ALLOW_ADAMSBASHFORTH_3 - use the same arrays (gtNm,gsNm) to hold tracer field at previous time-steps (if AB(T,S)) and tendencies (if AB(gT,gS)). - need a "clever" read_pickup to restart from the other AB formulation
o move local commom bloc /GlobalLo/ (used for singleCpuIO) in EESUPPORT.h o remove some unused variables (reduces number of compiler warnings)
checkpoint57w_post
pkg/mdsio: use MAX_LEN_FNAM (instead of hard coded 80) for file-names fix the singleCpuIO RS version of MDSWRITEFIELD and add a WARNING if using globalFiles=T with multi-processors.
o write grid-file(s) in only one format (MDS or MNC): default=MNC (if using MNC); can force MDS output by setting writegrid_mnc=F in data.mnc
o tracer advection scheme: add DST-2 (=Lax-Wendroff) & 1rst order upwind schemes (the way to get those 2 schemes before, changing GAD_FLUX_LIMITER.h + to recompile, was not very convenient). add implicit version for DST-3 & DST3_Flux_Limit vertical advection; (further tests needed for the implicit DST & Flux-Limiter schemes)
o updating: add namelist parameter PTRACERS_ref in analogy to tRef and sRef for convenience, handy, when you want to initialize ptracers in a large domain with a constant non-zero value. Also, untangle ptracers_init.F a little.
checkpoint57v_post o change dome exp. to use variable viscosity in side-drag terms.
o add new parameter: sideDragFactor to enable half-slip-side BC and change side-drag S/R to use viscosity from mom_calc_visc (can switch back by setting sideDragFactor=0.); affects results at truncation level; regenerate output for exp.: global_ocean.cs32x10(x3), global_ocean_ebm, global_ocean_pressure, matrix_example & MLAdjust(x5).
o remove all the files from the cfc_offline test since they are now incorporated into tutorial_cfc_offline which has been producing identical results for a few days of testing
o vorticity & strain are now computed without masking, to account for no-slip-side BC in variable viscosity calculation ; mask is applied anyway later on, before computing advection/coriolis terms.
updating
o Updating: fix behavior of ptracers_monitor when monitor output is written to a netcdf-file; still not independent of monitor.F (writes in the same file).
o change default value of tRef (put a uniform, meaningful value for ocean & atmos) and initialize sRef (was missing, as Martin mentioned).
Fix bug and add to tag_index.
fix typo (oh, well)
Updating: new tag
Updating: o OBCS and PTRACERS: add open boundary support for passive tracers - either use homogenous (pseudo) v.Neumann conditions or prescribe OB-values from file; this is not different from the way theta and salinity are treated - however, Orlanski-radiation conditions are not supported, and the model will stop if you use pTracers and Orlanski at the same time. - beefed up the rountine obcs_external_fields_load: now only those open boundary values are overwritten with values from files for which there are really files, otherwise the OB-fields remain untouched. This makes it possible to use different OBs at different ends of the domain (as with EXF) - TODO: add support for OB?w and OB?eta, which can currently not be read from a file.
o reduce number of exch calls in shap_filt (s2).
o CS-grid: fix divergence contribution to Leith viscosity. Affects (@ truncation level) 4/5 MLAdjust test results (11&12 digits match).
checkpoint57t_post
o new test: global_ocean.cs32x15.viscA4 o finish adding brackets (coriolis S/R, vecinv) in multi-terms sum.
o fix bug in mom_v_sidedrag (biharmonic viscosity was counted 2 times); note that biharmonic viscosity + no-slip is not tested in any experiment.
o fix bug in non-linear free-surf side-drag ; generate new output for global_ocean.cs32x15(+.thsice) & global_ocean_pressure.
o make mnc honor the writeBinaryPrec flag for all the non-pickup and non-diagnostics output types
o mention eesupp changes
o minor change in averaging W (mom_vi_?_vertshear.F) that affects truncation error; update output from global_ocean.cs32x15(+.thsice) & MLAdjust (all 5).
o add brackets in multi-terms sum to get same truncation, independent of the face number (manage to get exactly same value of gU,gV at the cs-edge) affects several test. exp. Update global_ocean.cs32x15 (+.thsice).
Adding clean version of mom_calc_visc and viscAhRemax and viscA4Remax params.
checkpoint57s_post
Update tags to reflect corrections to viscosity calculations.
o diagnostics "VISCAHD" & "VISCA4D" replace "VISCAH" & "VISCA4".
o In response to JMC's bug report, genmake2 now ignores any soft-links that it finds in the *current* directory when searching for files. Soft-links found in any other source directories will still work as they did before. And regular (non-soft-link) files will also work as before.
o add HAVE_SETRLSTK define and useSETRLSTK flag (eedata) which calls a C routine to unlimit the stack size - very helpful on clusters of workstations since the ulimit/limit behavior can (otherwise) only be inherited from parent processes which is difficult with some MPI-over-ssh/rsh implementations
o mention aim
o mnc-ify pkg/land as requested by Daniel
o various changes to mnc including: - all files use the new "BASENAME[[.ITER].{t|f}NUM].nc" format - output can now be grouped so that all files within a group change the ITER portion of their names in lock-step together - can now read ("global") PER-FACE (in addition to PER-TILE) files and works with both EXCH1 and EXCH2 (but needs more testing) - writing works for all verification test cases w/ g77 on Linux
checkpoint57r_post
o make MNC variable initialization happen earlier
o add diagnostics for (almost) each term of the momentum Eq.
Updating
Updating.
o remove SST,SSS,UVEL_k2,VVEL_k2 diagnostics.
o move pkg timeave out of pkg-groups "oceanic" & "atmospheric" (pkg/pkg_groups) o remove MINIMAL_TAVE_OUTPUT option ; add "dumpInitAndLast" to replace "nodumps" (and MINIMAL_TAVE_OUTPUT).
o move some basic S/R (used elsewhere in the code) from pkg/mdsio to eesupp/src allows to compile without pkg/mdsio (& test successfully hs94.1x64x5)
Updating
o fix initialisation Pb in calc_gw (get NANs in exp5 with g77)
o fix initialization Pb in AIM-Ocean coupled model (aim_sice2aim.F) update exp. cpl_aim+ocn output.
o mention seaice mnc/mdsio bug
Updating
checkpoint57p_post
o move ${PKG}_MNC_INIT from ${PKG}_READ_PARAMS to ${PKG}_INIT_FIXED (already the case for some pkgs, including recent MNC_init, e.g. thsice) o call CALC_GW from DYNAMICS (instead of from FORWARD_STEP)
o Dissipation & phiHyd gradient are always added to gU,gV in timestep.F (was already the case for dissipation with mom_vecinv, and also the case for grad.PhiHyd when staggered-timeStep) This will allow to put dissipation out-off the AB time-stepping. Unfortunately, affects truncation error. Update output of exp. that "fails" (cg2d matching number) and leave the others for later: front_relax(10), global_ocean_pressure(10),ideal_2D_oce(10),internal_wave(9),lab_sea(12), matrix_example(7!),natl_box(12),plume_on_slope(11),vermix(12x3,11x2).
Updating & tagging
o fix MNC/MDSIO flags in PTRACERS so that (1) it works, and (2) its ready to be documented during the 20050801 DocFest
o MNC-ify the gmredi package -- tested and works w/ and w/o mnc for ideal_2D_oce and lab_sea on linux_ia32_g77
Updating & tagging
Updating
Updating
Updating
Updating
Adding precip control
Tagging for pre-checkin
o re-arrange exp. adjustment.cs-32x32x1 (adjust_nlfs.cs-32x32x1 merge into) and advect_cs (use EXCH-2 and standard cs-32 grid files).
o pkg/exch2: filling of face-corner halo regions is optional (ifdef W2_FILL_NULL_REGIONS) and is turned off by default.
checkpoint57l_post tag before updating tutorials (pre-release-2)
o add cos & sin of grid-direction orientation angle (curvilinear grid only, for output and interpolation of input fields onto model grid) o fix radius in mom_v_metric_cylinder.F (wrong by dy/2). Affects results of exp. rotating_tank ; update output.txt.
update the previous comment.
o pkg/diagnostics: 2 new S/R to fill a diagnostics using a scaling factor and/or using a fraction-weight field.
o add mnc output capability to diagnostics/diagstat and update our cvsignore files for the ACSII output generated
Tagging c57k_post to provide tag for lab_sea with diagnostics
tagging checkpoint57j_post
o add matlab scripts for CS-grid vectors (in utils/cs_grid)
o diagnostics pkg: change pointers so that 1 diagnostic can be used several times with different frequencies.
o mnc-ify the thsice package as requested by Daniel Enderton - the monitor--MNC output needs work - many attributes need to be added (most are currently blank) - does not break testreport (at least on IA32)
o mnc-ify aim_v23 as requested by Daniel Enderton - sets sane default flags (unchanged behavior) - does not break aim.5l_cs or aim.5l_LatLon verification tests
o remove "groundAtK1" & "rkFac" (replaced by usingPCoords & -rkSign)
o add Sadourny like discretization to the 4th.O vorticity advection scheme
updated.
o fix bug in rStar code (calc_r_star.F) when used with topo/bathy. update output.txt from: aim.5l_cs (& .thSI), fizhi-gridalt-hs and global_ocean.cs32x15 (& .thsice).
o fix few little things to avoid floating error with -ftrapuv (ifort v9) (ini_spherical_polar_grid.F, calc_r_star.F, monitor/mon_surfcor.F)
tag checkpoint57i_post
Changes in diagnostics package behavior
o momentum advection (VI form) options: activate 4th.O vorticity Coriolis ; add 1rst Order upwind vertical Shear.
o add a quick fix for A/B checkpointing in OFFLINE mode
o add IGNORE_TIME define and -ignore_time option to genmake2 as an end-run around the C/Fortran linking horror in eesup/src/timers.F
Logged addition of pkg/runclock and nh_am2
added a few "_d 0" and D0 (in PARAMETER statements) in a desperate effort to make vermix.my82 pass on a Sun, unfortunately no success; but for cleaner code I check it in anyway.
o for mnc output, fill the 'T' coordinate var with myTime and create a separate 'iter' variable for iteration count
o pkg/diagnostics: Global statistics tested against monitor output. o make seaice-pkg I/O type flags (MNC/MDS) more standard.
o pkg/diagnostics: add new capability: output of Global/Regional & per-level statistics
checkpoint57h_done tag after changing user customized files (DIAGNOSTICS_SIZE.h, data.diagnostics, data.gchem, data.ptracers) is done.
o pkg/diagnostics: prepare for Global/Regional statistics. add 2nd namelist in data.diagnostics and update DIAGNOSTICS_SIZE.h
o remove "baseTime" (no used) from arg. list of DIFF_BASE_MULTIPLE and rename it: DIFFERENT_MULTIPLE
checkpoint57h_post o move tIter0 from data.gchem to PTRACERS_Iter0 in data.ptracers
o pkg/diagnostics: change output frequency, now in seconds (instead of Nb of iterations). This requires to change data.diagnostics.
make a tag before changing diagnostic frequency.
o in mnc, let the user create the output dir if both mnc_outdir_date and mnc_outdir_num are false
o add fflags() to pkg/diagnostics which allows one to specify, on a per-file basis, the file precision [default behavior is unchanged]
o added diagnostics to pkg/kpp, including computation of mixed layer depth based on a temperature/density criterion o updated verification/natl_box to test the new pkg/kpp diagnostics
o bugs fixed (with useAbsVorticity=T & with useJamartMomAdv=T)
o test AB-3 code with 4th.Order advection scheme (advect_xy/input.ab3_c4)
o fix mnc flags in pkg/seaice so that they are "owned" by seaice, not mnc -- this mistake was found by JMC and is now corrected
checkpoint57g_post o add Adams-Bashforth 3rd Order time stepping: - default remains AB-2 (#undef ALLOW_ADAMSBASHFORTH_3) - not yet implemented with NH, CD_Scheme, pTracers, MNC_pickup ...
tag checkpoint57g_pre before Adams-Bashforth-3
checkpoint57e_pre (actually was tagged: eckpoint57e_pre)
updating
updating
checkpoint57f_post o add parameter "baseTime" = model base time = time at iteration zero new function DIFF_BASE_MULTIPLE (replace DIFFERENT_MULTIPLE) to account for baseTime shift o move Coriolis arrays from PARAMS.h to GRID.h
checkpoint57f_pre
updating
o mnc-ifying the seaice package
Alternative length scale calculation in mom_vi_hdissip.F
updating
Add tag on LeithD.
o add "d0" in getcon.F to reduce differences between compilers/platforms update output.txt of exp. fizhi-gridalt-hs
o change port_rand funtion to allow to set the seed.
o fix obscure MNC bug involving conversion between reals and integers - it caused no problems with certain (eg. gcc, ifc) compilers but the new version is now more standards-compliant
updating
updating
o fizhi pkg: fix AtoC and CtoA when called with same input & output array update output.txt of exp. fizhi-gridalt-hs
o add more "Z" dimensions and associated coordinate vars to MNC
o pkg/exf: added twoDigitYear capability for option useExfYearlyFields
o parameter calendarDumps: when set, approximate months (30-31 days) and years (360-372 days) for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq, KPP_taveFreq, and freq in pkg/diagnostics are converted to exact calendar months and years. Requires pkg/cal.
o diagnostics: add pickup functionality - off by default for backwards compatibility - current version only uses MDSIO -- MNC will be added
updated (Shapiro tendency diagnostics)
o allow to use pkg diagnostics for LAND pkg output.
o pkg/shap_filt: fix for multi-tiles per face (CS-grid with EXCH2)
checkpoint57d_post o pkg/thsice used in the ocean: fix tile Pb related to sIceLoad forcing
o modify verification/ideal_2D_oce so that it tests the creation of mnc output from the diagnostics package
o temporary fix in EXCH2_UV: add a 3rd call to fix the 24.tiles CS-grid set-up
o make genmake2 more portable by using ".$FS" instead of ".f" for more of the test compilations (eg. IBM xlf on Mac OSX w/HFS filesys)
o add coordinate variables to the MNC output from the diagnostics package
o change MNC-flags default value: true when useMNC=TRUE
o lab_sea: use LSR_ERROR=1.E-12 for testing ; update output.txt
o add a "readgrid_mnc" flag to MNC and give model/src/ini_curvilinear_grid.F the ability (off by default) to read the grid information using MNC
o diagnostics: fix a bug (sub-set of levels); keep full precision when averaging
o do snap-shot diagnostics at the middle of the time-interval (instead of at the end).
o update exp. aim.5l_cs (use default LAND_OPTIONS.h file) and add new test for AIM with thSIce + slab-ocean
o cpl_aim+ocn test: update output (optfile & default GMREDI_OPTIONS.h)
o move state variable diagnostics to the beginning of the time step ; (note: still needs some work specially for snap-shot diagnostics) duplicate & replace UVELVVEL diagnostics with UV_VEL_C & UV_VEL_Z
checkpoint57c_post o Change testing option (-ieee) to get closer agreement between g77 & ifort o generate new output.txt files on faulks with g77 & the new -ieee option
tag before changing default testing option with g77
o add "_d 0" in freeze ; change some "FLOAT" to "DFLOAT"; update output.txt of exp. global_ocean.90x40x15
o fix in ini_eos.F (one "_d 0" was missing): now g77 & ifc give much closer results; update global_ocean_pressure & global_ocean.cs32x15 output.txt
updating
updating
add saltFlux(+File) forcing capability with periodicExternalForcing
o allow to use pkg diagnostics for GM-Redi & ThSIce output o diagnostics_fill: fill-in up to sNx+1 or sNy+1 (if U,V or Z pt) for mnc.
o improvements for the MNC output from DIAGNOSTICS: - correct handling of the unlimitied dimension - all dims now have associated coordinate variables - variables located at U, V, and Corner ("Z") points are now written with the correct horzontal dimensions (eg. 'Xp1', 'Yp1') so that *all* data points are output
o added seaice_summary.F and removed obsolete ALLOW_SEAICE's from pkg/seaice
o added pkg/seaice/seaice_monitor.F
o mdsio_readfield.F can now read files visible only to master process
o pkg/seaice: some test code for ice-modified ocean stress
o exf_getffields interpolation defaults to bilinear for all scalar forcing fields (remains bicubic for wind velocity and stress). This avoids, e.g., spurious negative numbers for precipitation and humidity. Will cause some small numerical differences for integrations using pkg/exf/exf_interp.F.
checkpoint57b_post o simplify options in diagnostics_fill arguments (remove weird combinations)
o fix MNC coordinate variables so that they now contain per-face index values (instead of xC,xG,yC,yG values) when run with EXCH2 since, in general, EXCH2 grids are only aligned to a "local" coordinate system
o test diagnostics pkg in dic_example (no output) and ideal_2D_oce (with ouput) o Implement instantaneous output within pkg diagnostics: setting a negative frequency in data.diagnostics produces "snap-shot" output (as opposed to time-average if freq > 0)
o move out off EQUIVALENCE all diagnostics that fizhi does not use ; NOTE: change ptracer diagnostics name: use 2 characters to work with more than 9 tracers. Add also diagnostics of advect & diffus flux.
o more CF compliance: convert all MNC 'iter' variables to 'T' so that it becomes the coordinate variable for the 'T' dimension
o add CF-style coordinate variables to MNC - just a first cut: numbers are meaningless on the cubesphere and missing along the T axis but otherwise it works!
o add surface flux diagnostics: TAUX, TAUY, TFLUX, TRELAX, TICE, SFLUX, SRELAX
o pkg/thSIce: read initial state from 6 files ; allow monitor to use MNC.
o add diagnostics of advective & diffusive flux for T & S (pTracers coming soon) this is based directly on what the model compute, so that the content of each diagnostics might be affected by switching options (e.g., implicitDiffusion) o small changes for diagnostics (gad_biharm_?.F, arguments of S/R impldiff.F)
o updating
o updating
o changes per discussion of AM, JMC, & EH3 today: - move redundant "grid" variables out of "state" -- in preparation of creating proper CF-style coordinate variables and in recognition that any/all grid variables can be easily copied (eg. w/NCO) from the grid files into any of the other NetCDF files - *always* output grid variables with MDSIO (this will eventually be changed) - output MNC grid file if useMNC is true
o every instance of _END_MASTER() has been found and replaced with _END_MASTER( myThid ) in order to satisfy certain picky Sun preprocessors
re-arrange diagnostics pkg initialisation: - allow each package to extend the available diagnostics list - add some checking and fix small problems (multi-threaded, ...) - new S/R diagnostics_fill (replace fill_diagnostics): look through the short list of active diag. (instead of the long list) create function DIAGNOSTICS_IS_ON to tell if a diagnostics is active
close bracket
Open bracket for TAMC-related changes
checkpoint57
updating
o updating
- switch back to "sflux = sflux - runoff" in exf_getforcing.F - use bilinear instead of bicubic interpolation for runoff, to avoid negative numbers.
o implement Implicit Vertical advection for pTracers
updating
o depth convergence accelerator: replace deltaTtracer by dTtracerLev(k) (implemented also for implicit vertical diffusion & advection)
o depth convergence accelerator: replace deltaTtracer by dTtracerLev(k) (not yet implemented for implicit vertical diffusion & advection)
o updating
o updating
o updating
o updating
o updating
o updating
o document changes (hopefully), to be done: regenerate dic_example output, because it was wrong, and check in an example that test the cfc-pkg.
o add PTRACERS (PTR0[1-5]) to testreport output
o updating
updating
o GMredi: - fix ldd97 slope limit ; extend valid domain of Psi-Bolus ; - change S/R GRAD_SIGMA to be valid in the overlap on CS-grid. - change the default GMREDI_OPTIONS.h: compile everything except Visbeck
o small cleaning of exch2: remove files that are also in eesupp/src
o updating
o GCHEM: move call to GCHEM_FORCING_SEP, so that it is now called before the blocking exchanges to avoid computing halos in GCHEM_FORCING_SEP
updating and tagging
o AIM: read land-Fraction earlier (from ini-fixed) and monitor land at nIter0
o cleanup full files
checkpoint55j_post
o isolate dissipation tendency (allow to keep it out off AB) in V.I form. affects (truncation level) output.txt of global_ocean.cs32x15(&.thsice)
o add build dirs
o added viscA4GridMin and viscA4GridMax for more control on biharmonic viscosity
o make all subroutines 30 or less characters in length for certain older compilers to work
o allow (vecinv only) a different horiz. viscosity for Divergence and Vorticity; affects (truncation level) output.txt of global_ocean.cs32x15(&.thsice)
was supposed to be checkpoint55i_post (instead of g)
checkpoint55g_post o change arrays for total vertical diffusivity (2.D if explicit, 3.D if implicit) ; each ptracer uses its own background value.
o add comments about ocn_compon_interf, mnc, and ITRDA
fixed wayward endif in mom_fluxform that messed up cyclindrical configuration
o give MNC the ability to create additional files rather than exceeding a specified file size limit - run-time configurable (in data.mnc) as "MNC_MAX_FSIZE" - the default is just less than 2GB which is a practical limit on many systems (eg. Baylor's and Helen's recent problems) - tested and works on Linux/g77 -- needs testing elsewhere
Compute the non-local term using either KPP vertical diffusivity (default) or the total vertical diffusivity (when KPP_ghatUseTotalDiffus=T)
checkpoint55h_post o add verification test "vermix" o call PACKAGE_BOOT & PACKAGES_READPARMS just after INI_PARMS o useMNC moved from data.mnc to data.pkg
o remove all the *_ioinc flags and replace them with the single global outputTypesInclusive flag
o allow to set a vertical profile of vertical diffusivity for T & S
sorry, yet another tag, checkpoint55g_post
o checkpoint55f_post
o some delicate re-shuffle of store directives to avoid one extra call of do_oceanic_physics o NB: this may break global_ocean adjoint temporarily, but it is clear how to fix it. Will do later, need this now.
updating
o add ability of MNC to write local and "partial" (eg. 2D slices where the full 3D field is never actually stored) arrays to NetCDF files with the correct (that is, the complete multi-dimensional) set of array indicies - used in mom_vecinv() to write the diagFreq output - tested (demonstrated) in verification/aim.5l_cs
o further mnc-ification - add kpp to mnc output (both snapshot and timeave) - add verification/lab_sea to the list with mnc setups o reformat files for ProTeX
o non-hydrostatic code: - add new parameter viscAhW, replaces viscAh in calc_gw, defaults to viscAh. Useful when viscAh=0 in non-hydrostatic simulations
o fixed about 35 bugs
extend simple cost functions to treat time mean quantities o cost_tile called from forward_step o cost_accumulate_state called from cost_tile
modified argument list of CALL OBCS_CALC to myTime+deltaTclock
o multidimAdvection on CS-grid: implement the full 3 pass ; overlap needs to be 2 times larger than the minimum size the advection scheme requires. now get a perfect conservation of salt in advect_cs test-exp (updated)
o updating
- add horizontal diffusion of TKE, requires exchanges in do_fields_blocking_exchanges, horizontal diffusivity is zero by default. In OPA there is no horizontal diffusion of TKE but the mixing coefficients are computed from a horizontal average of TKE of 6 points or so. I think that diffusion has a little more physical justification. - clean up ggl90_calc in the hope of reducing memory usage (this hope was in vain) - mask tke-variable in ggl90_init
o fix mask Pb in multidimAdvection on CS-grid (still a small Pb with ipass) o fix biharmonic diffusion on CS-grid.
o updating
Adding obcs exchanges for useOBCSprescribe
updating obcs
o make the MNC_CW_ADD_VATTR_* subroutines all take scalar arguments which simplifies the calls and passes the ifc check-bounds test
checkpoint55b_post o add a 2D scalar, Z location, exchange_2 routine.
o EXCH_UV for CS-grid: add one u,v in the corner-halo region, allows to compute vorticity on a wider stencil [e.g., vort3(0,1)&(1,0)] affects advect_cs results (for the wrong reason): update output.txt
o use a more standard discretization for biharmonic viscosity ; (original version still available with #define MOM_VI_ORIGINAL_VISCA4 ) affects results of dome set-up: update output.txt o fix gad_advection.F (CubedSphere part), back to version 1.23 o fix bug in mom_vi_del2uv.F (CubedSphere part).
o merged code to * prescribe/read time-dependent open boundaries (works in conjunction with exf, cal) * sponge layer code for open boundaries * each boundary N/S/E/W now has its own CPP option (healthy for the adjoint)
sheduling c55 so that john can write more adjoint papers without crediting the developers!
tagging checkpoint54f_post
o updating tag-index
o add comments about IO
o BUILD_INFO.h comment
o added two new packages o create a new tag
o add offline package
o add dic_example
o genmake2: add ability to search for C compilers and cleanup test output - fixes recent SX-6 problems and should help with others (eg. HP-UX)
checkpoint54d_post o bug fix in pkg/cal/cal_addtime.F for TheCalendar='model' day count is wrong, leading to additional shift by 5 days each year of integration (i.e. leading to considerable offset over the years)
Added feature: - if levels() is ommitted from namelists in data.diagnostics then ALL levels are diagnosed instead of none
o update global_ocean.cs32x15/thsice: use z* + RealFW + staggerTimeStep o start with no AB and no initial filtering (staggerTimeStep): change the results of test-exp: hs94.128x64x5, hs94.1x64x5 & hs94.cs-32x32x5 o move ocean specific S/R calls from forward_step.F to do_oceanic_phys.F (external loading & cpl import/export stay in forward_step.F) o update coupling interface to work with new staggerTimeStep o change MDSIO ptracers_pickup.
update (few bugs fixed)
o netcdf (mnc) now compiles and runs on halem
checkpoint54c_post
o replace surfaceTendency U,V,S,T,Tice,Ptr by surfaceForcing U,V,S,T,Tice,Ptr this affects (truncation error) output.txt of test-exp: global_ocean_ebm,_pressure,.cs32x15(&.thsice), lab_sea & natl_box o pkg/kpp: replace pMask by maskC to reduce memory size (one 3.D array)
o change Qnet to always be the net heat flux, (+upward). affects (truncation error) output of natl_box exp.: updated
o define the max number of passive tracers in PTRACERS_SIZE.h o start to test routinely pkg/mnc in exp0 o add sea-ice loading (sIceLoad) as a new forcing field.
add "checkpoint54b_post", created yesterday but missing in tag-index
o add testreport "-j JOBS" for parallel builds -- gives impressive speedup on Altix, Opteron, and other SMP machines
o add diagnostics/mnc
o staggerTimeStep & NLFS: update pkg aim_v23 & thsice; update aim.5l_cs output
o staggerTimeStep & multi-Dim-Advec: Exch(U,V) added
o staggerTimeStep & NLFS: rescale T & S surface tendencies. affects (truncation error) output of lab_sea & natl_box exp.: updated o change pickup _cd & _ptracers (old pickup restart: usePickupBeforeC54=.T.)
checkpoint54a_post o re-write staggerTimeStep: step fwd U,V and then T,S (reverse the order). o change pickup file (to restart from old pickup, set usePickupBeforeC54=.T.) o get a perfect restart when using RealFreshWaterFlux + NLFS (not finished) o update output of all exp. that use staggerTimeStep (except hs94.cs & 2D) + internal_wave (shift in writing cg2d_ini_res)
o tag before changing staggerTimeStep : checkpoint54a_pre
o require forcing_In_AB=.FALSE. and remove surfaceTendencyTice from pkg/seaice - modified verification/lab_sea and natl_box_adjoint accordingly
updating
update
o prepare splitting of thermodynamics: store convect.counter in common block
o store d.etaH/dt (instead of Div.hV) in common ; affects (truncation error) output of: global_ocean.cs32x15, global_ocean_pressure & internal_wave
o cnh's modifs to gad_advection.F for cube-sphere multi-dim advection
o new parameter "nShapS": allow to treat differently S from T (nShapT) o separate Vert.Advec.Scheme from horizontal Advec.Scheme (T & S)
checkpoint53f_post o modifications that affect AIM experiment results (update output.txt): - no advection of S at top interface Nr (pkg/generic_advdiff) - air surf. temp: use lower value between T0 & T1 (phy_suflux_prep.F)
o AIM pkg: - include stability function into surf.Flux derivative relative to Tsurf - calculate clear-sky radiation & surface temp. change (for diagnostics)
added checkpoint53e_post notes
o about to check in some rotating tank merges
checkpoint53d_post
o faulks upgraded: re-generate output.txt that has changed: global_ocean.cs32x15(.thsice), global_ocean_ebm, lab_sea, natl_box
Added vertical diffusivity profile (T/S) due to Bryan and Lewis, 1979. New parameters: diffKrBL79surf - surface diffusivity diffKrBL79deep - deep diffusivity diffKrBL79Ho - turning depth for arctan function diffKrBL79scl - depth scale for arctan function This diffusivity is added to all other diffusivities. The defaults are set so as to give zero diffusivity.
o pkg/land: fix problem in land_impl_temp.F when Ts arround freezing.
Added Sadourny discretization of Coriolis in V.I. mode - moved some PARAMETERS from mom_*_coriolis.F to PARAMS.h - re-enabled use of omega3 in mom_vecinv.F
Added variable viscosity for the vector invariant equations based on Leith, 1968, Phys. Fluids (10) 1409-1416 - the use of the variable viscosty in the no-slip boundary conditions has not been implemented (but should be) - new parameters viscC2leith and viscC4leith are non-dimensional - I decided to modulate the variable viscosuty with the same viscAhMax and viscA4max; ideally we should have another maximum based on dx^2/dt etc.
o add comment
Bug fix for mom_*_sidedrag.F
Fix mom_common/mom_*_sidedrag.F to recover numeric output prior to creation of mom_common/ - simple re-arrangement of instructions within computing loop
updating
o new version of coupler for AIM+thSIce and Ocean models - new fields (SSS,h_MixLayer ...) are exchanged through the coupler - land: change Evaporation of snow - aim with thSIce: fix bug in snow-precip.
ebm package wasnt quite up to the parallel task. Fixed that.
o updating
tagging
updating
Created pkg/mom_common/ o changed pkg_groups and pkg_depend o moved duplicate files in mom_vecinv and mom_fluxform to mom_common/ This is in preparation for checking in Smagorinsky and Leith type variable viscosities.
o pkg/land: only liquid water can diffuse or run-off o AIM with land: soil wetness availability account for snow
o added printMapIncludesZeros to EEPARMS namelist
added comments for mods to verification/natl_box_adjoint
updating
Added comments for checkpoint53
o about to create checkpoint52n_post
- 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
- changed proxy for geostrophic velocity and updated verification/lab_sea/results/* accordingly
- changed proxy for geostrophic velocity and updated verification/lab_sea/results/output.txt accordingly
o removed ADI dynamic solver from pkg/seaice
o replaced all occurrences of 1/CSTICE or 1/CSUICE - they caused a segmentation fault under certain circumstances - removed unused field WATR
o bug fix in exf-package: - u/vwind are defined at tracer/pressure points. The values of u/vwindmask now reflect that. - fortuitously this change does not affect any of the verifaction experiments
o small fixes in the cal-package: - set reference date to first of January for the 'model'-calendar - failing of cal_CheckDate in cal_FullDate now actually results in a warning
o small modifications in exf-package to increase flexibility: - change climtempfreeze from a constant to a runtime parameter that is specified in data.exf_clim (default = -1.9) - introduce runtime parameter windstressmax (default = 2.0) that is specified in data.exf
fix in pkg/thsice ; update (global_ocean.cs32x15/) output.txt.thsice
make checkpoint52m_post
o commented out call to cal_GetMonthsRec in swfrac.F and added some comments; this does not change any of the results, because myIter=0 in swfrac always lead to jwtype=2 (the default anyway), but the call makes little sense as a default
o no SHORTWAVE HEATING lost at the bottom; affects lab_sea output; updated
o re-work pkg/thsice interface with ocean & bulk_force pkg to allow atmospheric model (AIM) to use it ; add a "slab ocean" component. o pkg/aim_v23 : add interface to call thermodynamic sea-ice (thsice) o update global_ocean.cs32x15/output (.thsice) after changes in pkg/thsice
o extending useSingleCpuIO option to work with new exch2 I/O format - old-style, missing-tile I/O is still accessible by defining CPP option MISSING_TILE_IO in pkg/mdsio/MDSIO_OPTIONS.h
o add notes
o added api_reference comments
updating
o C code to create a directory (eg. "mnc_20040322_0001") with a name based on the creation date and a sequence number
o add mnc comments
o thermodynamics sea-ice (thsice) is now tested with testreport. o test exp. advect_cs: use the standard cs32 grid ; update output.
checkpoint52l_post o new land formulation: a) use ground enthalpy as prognostic variable to ensure exact energy conservation. b) account for water temperature and for latent heat of freezing in all processes (rain, run-off, ground storage) c) compute surface and ground temperature implicitly. o aim_v23 modification for new land model: a) Treat separately land / ocean / sea-ice surface fluxes to allow implicit computation of land & sea-ice surface temp. b) add snow precipitation.
checkpoint52l_pre before checking in new land model.
o fix problem (when 1 tile is empty) in min/max monitor. o fix bug in timeAve (u,vZetatave in common block)
o no restoring terms under ice for pkg/seaice o modfied EXF_EXTERNAL_FLUXES option o added exf_albedo parameter
o moved SEAICE_DO_DIAGS to S/R do_the_model_io o bug fix for pkg/seaice pickups
o MNC changes
updating
o mask vorticity at the corner ; affects global_ocean.cs output o fix ini_curvilinear_grid ; test CS experiments with mpi
aim.5l_cs: modify sea-ice fraction input file ; update output
updating
c52k_post
Logging monitor bug fix and tidy up of diags
updating
gave pkg/mdsio/mdsio_readfield.F more useful logic and error messages
o fix errorMessageUnit problem. remove old version of mdsio from eesup/src
o modified pkg/mdsio/mdsio_readfield.F -- commented out diskspace-eating debug output
o modified mdsio_writefield to handle non-global files under exch2
o update AIM Cubed-Sphere exp (aim.5l_cs): use land, p*, and Franco.M forcing fields with fractional land-sea mask. o update AIM Equatorial Channel exp: use standard aim_v23 pkg and change the SST fields to be more realistic.
o limit timeave output for hi-res integrations
o modified mdsdio_readfield and mdsio_writefield to make exch2 do globalFile -- but *not* usesingleCPUIO
o merged mom_vi_calc_relvort3.F, mom_vi_del2uv.F and mon_vort3.F to make exch2 friendly with >1 tile per cube face
o update aim.5l_LatLon using the standard aim_v23 pkg (instead of the old pkg/aim).
New tag checkpoint52i_pre/post
Modified doc/tag-index and verification/lab_sea/README
shortened offending lines in exch2_send_rx?.template
Modified W2_EXCH2_TOPOLOGY.h to reflect current topo generator
o added temporary hack for sea-ice dynamics on the cube: metric terms are ignored and it is assumed that there is no sea-ice on cube faces 1, 2, 4, and 5.
o genmake2: add build & execute test for NetCDF code
aim.5l_cs and global_ocean.cs32x15 now using exch2, grid file cleanup
o added useSingleCPUIO flag to monitor.F and mon_out.F
remodified tag entry
Added exch2 routines and pointed hs94.cs-32x32x5 at them
checkpoint52e_post o step.1 : rewrite (as in MultiDimAdvec) explicit tracer stepping (gad_calc_rhs.F) to work with implicit vertical advection and AB ; o Implic. vert. advect. implemented with flux-limiter, c2, u3 and c4 scheme. o update output (gad_calc_rhs.F changes affect truncation error) of exp: front_relax, global_ocean .cs32x15 & _pressure, internal_wave, lab_sea, natl_box
o first attempt to solve vertical advection (momemtum & T,S) implicitly: for now, only implemented with Lax-Wendroff (tracer) and VecInv (mom)
tag checkpoint52e_pre before adding implicit vertical advection
o change the albedo in pkg/thsice (as GISS model); update output_thsice.txt o little changes (fftpack, aim/phy_suflux ...) to pass the "checkbounds" test.
fix for long (>60 years) integrations
Missed entry for last tag
o fix deltaTfreesurf in update_cg2d.F (left from c45d_post): affects 2 ocean exp. that uses NLFS: global_ocean.cs32x15 & global_ocean_pressure
added exf_offset_atemp for Celsius to Kelvin conversion of atemp
o Updated tag index file for fizhi infrastructure changes
tag checkpoint52d_post
o new experiment, cpl_aim+ocn: coupled ocean - AIM atmosphere on cs32 grid.
first version of the coupler + interfaces for multi-components set-up.
o packages pickup: $PKG_write_pickup called from packages_write_pickup ; but call to $PKG_read_pickup remains in $PKG_ini_vars: change CD_code to conform to the common rule.
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.)
added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F
o change global_ocean.cs32x15 because of Pb with GM on CS-grid.
added tag checkpoint52d_pre
add call to AIM pendant S/R in external_forcing & external_fields_load.F
o surface flux time-av diagnostic modified for NLFS & RealFreshWater
Reverse mode: 53 -> 52
tagging checkpoint52c_post
updating
updating
checkpoint52b_post o new version: "thsice" of thermodynamic sea-ice pkg: - only 1 call from "forward_step"; conserve energy, fresh-water & salt. - modify fluxes but do not change theta directly; - light cleaning of bulk_force pkg (still needed with thsice). - add forcing fields + data files in global_ocean.cs32x15/inp_thsice + output_thsice.txt to test thsice & bulk_force pkgs. o put back grid & coriolis monitor output.
tag checkpoint52b_pre before checking-in new ThermSeaIce (ThSIce) pkg
updating
updating
FREEZE_SURFACE is the new version of FREEZE and limits only surface temperature; keep the old version of FREEZE to reproduce old results.
o modifications to make FREEZE flux visible to pkg/kpp - moved surfaceTendencyTice from pkg/seaice to main code - FREEZE moved to FORWARD_STEP - subroutine FREEZE now limits only surface temperature this means new output.txt for global_ocean.90x40x15, global_ocean.cs32x15, and global_with_exf, but note that results for these three experiments remain bit-identical to before if allowFreezing=.FALSE. o added surface flux output variables to TIMEAVE_STATVARS o time-averaged output for pkg/ptracers
o some bug fixes for #undef REAL4_IS_SLOW
tagging checkpoint52 = ecco_c52_e35
updating
o creating checkpoint51s_post
o created checkpoint51r_post
tagging checkpoint51q_post
o creating new tag
o updated and tested version of the cd_code package o almost all of the cd_code functionality has been moved into the package but some cleanups (read/write checkpoints) remain
o add a "cd_code" package and update all the verification tests so that they use the new package instead of "INCLUDE_CD_CODE"
updating old info
tagging checkpoint51o_post
o undid all of the cp51 checkin pending some ongoing code cleanups and discussion
o modifications to make FREEZE flux visible to pkg/kpp - moved surfaceTendencyTice from pkg/seaice to main code - FREEZE & EXTERNAL_FORCING_SURF moved to FORWARD_STEP - subroutine FREEZE now limits only surface temperature (this means new output.txt for global_ocean.90x40x15, global_ocean.cs32x15, and global_with_exf) o added surface flux output variables to TIMEAVE_STATVARS
o added the [#include "AD_CONFIG.h"] statement to all files that need it for adjoint/tl #defines o re-worked the build logic in genmake2 to support AD_CONFIG.h o removed tools/genmake since it no longer works
o added "#undef ALLOW_USE_MPI" support to eesupp/src/gather_2d.F
Output on faulks using -ieee with of=linux_ia32_g77: Y Y Y Y 13 16 16 16 0 16 16 16 16 16 16 16 16 13 13 13 16 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 14 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 16 13 13 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 16 16 16 16 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 13 13 13 13 22 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 16 16 13 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 13 16 16 13 13 16 16 13 13 16 16 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 13 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 13 13 16 pass global_with_exf Y Y Y Y 16 16 16 16 16 16 16 16 16 13 13 13 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 13 16 16 16 13 13 22 16 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 9 10 16 13 13 16 16 16 22 16 16 12 13 13 13 22 12 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 13 16 16 16 13 16 16 13 12 13 13 13 12 13 FAIL lab_sea Y Y Y Y 11 16 16 16 16 16 13 16 13 13 13 12 13 12 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 first version of genmake2 that works with TAF -- note that only the "ad_taf" target has been confirmed to work and the others are in progress