| 1 | $Header: /u/gcmpack/MITgcm/doc/tag-index,v 1.228 2003/12/16 23:28:39 dimitri Exp $ | 
| 2 |  | 
| 3 | Notes on tags used in MITgcmUV | 
| 4 | ============================== | 
| 5 |  | 
| 6 | o fix deltaTfreesurf in update_cg2d.F (left from c45d_post): affects 2 | 
| 7 | ocean exp. that use NLFS: global_ocean.cs32x15 & global_ocean_pressure | 
| 8 | o added exf_offset_atemp for Celsius to Kelvin conversion of atemp | 
| 9 |  | 
| 10 | checkpoint52d_post | 
| 11 | o add infrastructure in model routines for fizhi and gridalt packages | 
| 12 | o change global_ocean.cs32x15 because of Pb with GM on CS-grid. | 
| 13 | o changes to permit hi-res, cubed-sphere, configuration | 
| 14 | - added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F | 
| 15 | - added "#undef ALLOW_USE_MPI" support to eesupp/src/scatter_2d.F | 
| 16 | - added pkg/exf/exf_set_uv.F for on-the-fly interpolation and rotation | 
| 17 | of surface winds for the cube | 
| 18 | (A verification experiment, based on global_ocean.cs32x15, but with | 
| 19 | pkg/seaice turned on and with on-the-fly interpolation from the NCEP | 
| 20 | Gaussian grid is described in MITgcm_contrib/high_res_cube/README_ice, | 
| 21 | complete with example surface forcing files and matlab scripts to look | 
| 22 | at the output and compare it with that of global_ocean.cs32x15.) | 
| 23 | o packages pickup: $PKG_write_pickup called from packages_write_pickup ; | 
| 24 | but call to $PKG_read_pickup remains in $PKG_ini_vars: change CD_code | 
| 25 | to conform to the common rule. | 
| 26 | o check-in the first version of the coupler + interfaces for multi-components | 
| 27 | set-up (Chris's version, adapted to work on cubed-sphere grid); use MPI. | 
| 28 | - imply modification in eesupp (MPI_COMM_MODEL < MPI_COMM_WORLD). | 
| 29 | - atmosphere: use pkg aim_v23 ; no sea-ice for now. | 
| 30 | - ocean and atmos. share the same horizontal grid (no interpolation). | 
| 31 | - exchanges between component and coupler is done in forward_step | 
| 32 | o new verification experiment, cpl_aim+ocn: | 
| 33 | coupled ocean - AIM atmosphere on cs32 grid. | 
| 34 |  | 
| 35 | checkpoint52d_pre | 
| 36 | o surface flux time-av diagnostic modified for NLFS & RealFreshWater | 
| 37 | o add call to AIM pendant S/R in external_forcing & external_fields_load.F | 
| 38 |  | 
| 39 | checkpoint52c_post | 
| 40 | o Fixing OPTIONS files for use of exf: | 
| 41 | - ALLOW_ECCO not needed | 
| 42 | - ECCO_CPPOPTIONS.h should not be included from | 
| 43 | EXF_OPTIONS.h/CAL_OPTIONS.h, but from CPP_OPTIONS.h | 
| 44 | as has been the case in the past | 
| 45 | - All cal/exf related options are currently set in | 
| 46 | single header file. Should remain so until we | 
| 47 | agree on a consistent new policy. | 
| 48 | o Removed all CPP options for cal package. | 
| 49 | cal has no more CPP options. | 
| 50 | o modified STOREs in GAD_ADVECTION | 
| 51 | o corrected key comp. for passkey | 
| 52 |  | 
| 53 | checkpoint52b_post | 
| 54 | o new version: "thsice" of thermodynamic sea-ice pkg: | 
| 55 | - only 1 call from "forward_step"; conserve energy, fresh-water & salt. | 
| 56 | - modify fluxes but do not change theta directly; | 
| 57 | - light cleaning of bulk_force pkg (still needed with thsice). | 
| 58 | - add forcing fields + data files in global_ocean.cs32x15/inp_thsice | 
| 59 | + output_thsice.txt to test thsice & bulk_force pkgs. | 
| 60 | o put back grid & coriolis monitor output. | 
| 61 | checkpoint52b_pre | 
| 62 |  | 
| 63 | o call "do_the_model_io" at the beginning (=> dump initial state) | 
| 64 | o use rhoConstFresh to define convertEmP2rUnit (was done only in ocean-P) | 
| 65 | o sort out interplay between tamc.h and PTRACERS_OPTIONS.h | 
| 66 | (need info on NUMBER_OF_PTRACERS) | 
| 67 | o missing PTRACERS headers in some routines | 
| 68 | o default tamc.h in pkg/autodiff supposed to crash | 
| 69 | to ensure proper customization | 
| 70 |  | 
| 71 | checkpoint52a_post | 
| 72 | o modifications to make FREEZE (_SURFACE) flux visible to pkg/kpp | 
| 73 | - moved surfaceTendencyTice from pkg/seaice to main code | 
| 74 | - subroutine FREEZE_SURFACE now limits only surface temperature | 
| 75 | and is called in FORWARD_STEP (if allowFreezing=.TRUE.) | 
| 76 | => new output.txt for global_ocean.cs32x15 & global_with_exf | 
| 77 | - keep the old version of FREEZE for backward compatibility; | 
| 78 | global_ocean.90x40x15 left unchanged using useOldFreezing=.TRUE. | 
| 79 | - corresponding modifs for TAF directives | 
| 80 | o added surface flux output variables to TIMEAVE_STATVARS | 
| 81 | o time-averaged output for pkg/ptracers | 
| 82 | o fix problem with ECCO-related divided adjoint | 
| 83 | snapshot file was missing some ad-variables, | 
| 84 | but no warning issued by TAF | 
| 85 |  | 
| 86 | checkpoint52a_pre | 
| 87 | o some bug fixes for #undef REAL4_IS_SLOW | 
| 88 |  | 
| 89 | checkpoint52 = ecco_c52_e35 | 
| 90 | o after testing adjoints of checkpoint51u_post | 
| 91 |  | 
| 92 | checkpoint51u_post | 
| 93 | o this is the post-merge tag of the ecco-branch | 
| 94 | (needs another clean checkout and re-testing) | 
| 95 | o various natl_box_adjoint configs and results | 
| 96 | but no input fields | 
| 97 | o obcs adjoint not yet merged! | 
| 98 | o adding ECCO global 1x1 and 2x2 degree configs | 
| 99 | o updated/extended some store directives for seaice | 
| 100 | o pkg/ecco now containes ecco-specific part of cost function | 
| 101 | o top level routines the_main_loop, forward_step | 
| 102 | supersede those in model/src/ | 
| 103 | previous input data.cost now in data.ecco | 
| 104 | (new namelist ecco_cost_nml) | 
| 105 | o in ctrl/ cleaned some cross-dependencies and updated CPP options | 
| 106 |  | 
| 107 | checkpoint51t_post | 
| 108 | o this is the pre-merge tag of the ecco-branch | 
| 109 |  | 
| 110 | checkpoint51s_post | 
| 111 | o cleanup: removed various obsolete #define-s | 
| 112 | o pkg/grdchk | 
| 113 | - renamed 'ph-grd 3' to 'grad-res' | 
| 114 | - merged from ecco-branch | 
| 115 | (remaining bug fixes for obcs gradient checks) | 
| 116 | - additional high-precision output for testreport | 
| 117 | (grep for 'precision_grdchk_result') | 
| 118 |  | 
| 119 | checkpoint51r_post | 
| 120 | o cleaned up or removed CPP_OPTIONS.h files | 
| 121 | o updated results for some of the tests to reflect the new | 
| 122 | optfiles (-ieee: -O0 instead of -O3) | 
| 123 |  | 
| 124 | checkpoint51q_post | 
| 125 | o cd_code: | 
| 126 | - moved cd_scheme.F -> cd_code_scheme.F | 
| 127 | - separate read_checkpoint from cd_code_ini_vars.F | 
| 128 | - separated cd_code part from write_checkpoint | 
| 129 | - updated AD_SOURCE, generated .flow | 
| 130 | - added CD_CODE_VARS.h to the_main_loop | 
| 131 | - Moving cd_code specific store dir.s to pkg/cd_code | 
| 132 | o ctrl package totally restructured | 
| 133 | - pack/unpack now optional and decoupled from | 
| 134 | xx_/adxx_ I/O | 
| 135 | - ctrl_pack/unpack cleaned | 
| 136 | (new routines ctrl_init_ctrlvar.F, pkg/ctrl/ctrl_init_wet.F) | 
| 137 | - confined inclusion of AD_CONFIG.h to where necessary. | 
| 138 | o genmake2: changed AD dependencies from SRCFILES to AD_FILES | 
| 139 |  | 
| 140 | checkpoint51p_post | 
| 141 | o create initial cd_code package | 
| 142 | - WARNING: the initialization of fields within packages | 
| 143 | is broken because INI_FIELDS (where READ_CHECKPOINT is | 
| 144 | called) is called *before* PACKAGES_INIT_VARIABLES. | 
| 145 | This seems to be backwards since | 
| 146 | 1) its important to initially zero the entire field including | 
| 147 | the "halo" region | 
| 148 | 2) zeroing needs to be done *before* reading pickup info | 
| 149 | and the pickup call might or might not happen in any | 
| 150 | particular run | 
| 151 | - this needs an overhaul for R2 | 
| 152 | o cleanup verification/*/code/GMREDI_OPTIONS.h | 
| 153 | o cleanup testreport | 
| 154 |  | 
| 155 | checkpoint51o_post | 
| 156 | o bringing AD-related verif's up to date with genmake2 | 
| 157 | - carbon/ | 
| 158 | - global_ocean.90x40x15/ | 
| 159 | - hs.94.1x64x5/ | 
| 160 | - (front_relax/ ) | 
| 161 | o (more) consistent directory structure for AD-related verif.'s | 
| 162 | o cleaning ALLOW_GRADIENT_CHECK -> ALLOW_GRDCHK | 
| 163 | o cleaning some ALLOW_TANGENTLINEAR_RUN -> ALLOW_AUTODIFF | 
| 164 | o bug fix in find_alpha.F for MDJWF: | 
| 165 | - modif. to alpha = 1/D*( dN/dT - rho*dD/Dt) to account for | 
| 166 | change rho -> rho-rhoConst | 
| 167 | - replace call find_rho to find_rhonum | 
| 168 | o initialisation of rFlx extended to full array (required by TAF) | 
| 169 | and shifted to thermodynamics | 
| 170 | o removed PTRACERS.h in ptracers routine | 
| 171 | o added surfacetendencyPtr to S/R parameter list pracers_forcing | 
| 172 | o Correcting initialisations for fVerU, fVerV. | 
| 173 | o helping TAF to recognize dependency on kUp for | 
| 174 | fVerU, fVerV | 
| 175 | o Replacing delZ by delR in pkg/ctrl/ | 
| 176 | checkpoint51o_pre | 
| 177 |  | 
| 178 | o undid all of cp51 pending some cleanups and discussion | 
| 179 | o added the [#include "AD_CONFIG.h"] statement to all files that need | 
| 180 | it for adjoint/tl #defines | 
| 181 | o re-worked the build logic in genmake2 to support AD_CONFIG.h | 
| 182 | o removed tools/genmake since it no longer works | 
| 183 |  | 
| 184 | checkpoint51n_post | 
| 185 | o modifications to make FREEZE flux visible to pkg/kpp | 
| 186 | - moved surfaceTendencyTice from pkg/seaice to main code | 
| 187 | - FREEZE & EXTERNAL_FORCING_SURF moved to FORWARD_STEP | 
| 188 | - subroutine FREEZE now limits only surface temperature | 
| 189 | (this means new output.txt for global_ocean.90x40x15, | 
| 190 | global_ocean.cs32x15, and global_with_exf) | 
| 191 | o added surface flux output variables to TIMEAVE_STATVARS | 
| 192 |  | 
| 193 | checkpoint51n_pre | 
| 194 | o added "#undef ALLOW_USE_MPI" support to eesupp/src/gather_2d.F | 
| 195 | o added [#include "AD_CONFIG.h"] to all files that use the following | 
| 196 | defines: | 
| 197 | - ALLOW_ADJOINT_RUN | 
| 198 | - ALLOW_TANGENTLINEAR_RUN | 
| 199 | - ALLOW_ECCO_OPTIMIZATION | 
| 200 |  | 
| 201 | checkpoint51m_post | 
| 202 | o incorporating changes to get TAMC/TAF working in genmake2 | 
| 203 | - added new TAMC/TAF targets to the Makefile | 
| 204 | - various cleanups related to package handling | 
| 205 | - these changes should have no impact on the forward model | 
| 206 |  | 
| 207 | checkpoint51l_post | 
| 208 | o changes to pkg/cal and pkg/exf that allow and speed-up long integrations | 
| 209 | - faster algorithm for cal_addtime.F | 
| 210 | - higher precision arithmetic, where needed | 
| 211 | - pkg/exf *startdate variables changed from calendar date to | 
| 212 | model integration time | 
| 213 |  | 
| 214 | checkpoint51l_pre | 
| 215 | o add salt flux to forcing fields (used when salty sea-ice forms or melts) | 
| 216 | o enable to apply restoring on S & T only in a latitude band. | 
| 217 | o update output (external_forcing_surf modif. change truncation errors) | 
| 218 | global_ocean.cs32x15, global_ocean_pressure, lab_sea, natl_box | 
| 219 |  | 
| 220 | checkpoint51k_post | 
| 221 | o change default to: useNHMTerms=.FALSE. | 
| 222 | - new output.txt for atmos. exp (NHMTerms were wrong but now turned off): | 
| 223 | adjustment.128x64x1, aim.5l_Eq_Ch, aim.5l_LatLon, hs94.128x64x5, hs94.1x64x5 | 
| 224 | - new output.txt for idealized oceanic exp (NHMTerms are now turned off): | 
| 225 | exp1, ideal_2D_oce | 
| 226 | - change data file of oceanic exp (leave the results unchanged for now) | 
| 227 | exp2, global_ocean[90x40x15,pressure,with_exf], lab_sea, natl_box | 
| 228 | o set gravitySign automatically according to the vertical coordinate used | 
| 229 | (and change sign: back to "logical" value: +1 when R increases downward) | 
| 230 | o added an include barrier to the default CPP_OPTIONS.h and | 
| 231 | removed the #include "PACKAGES_CONFIG.h" from it | 
| 232 | o fix a bug in mom_fluxform (from chk51j_post) | 
| 233 |  | 
| 234 | checkpoint51j_post | 
| 235 | o Added some AD-related initialisations in mom_vecinv/ mom_fluxform/ | 
| 236 | o adjusted some flow directives (dynamics, thermodynamics) | 
| 237 | o added cubed-sphere case to test cost function | 
| 238 | o heckpoint_lev?_directives.h now include | 
| 239 | pkg-specific directives, whenever those are enabled. | 
| 240 | o Moving pkg-specific flow directives to corresponding pkg | 
| 241 | Moving pkg-specific differentiation list to corresponding pkg | 
| 242 | Moving pkg-specific checkpoint-lev storing to corresponding pkg | 
| 243 | ---> conventions are | 
| 244 | - pkg_ad.flow | 
| 245 | - pkg_ad_diff.list | 
| 246 | - pkg_ad_check_lev?_dir.h | 
| 247 |  | 
| 248 | checkpoint51i_post | 
| 249 | o merge of the branch-genmake2 | 
| 250 | - knowingly breaks the older genmake | 
| 251 | - automatic generation of all ALLOW_${PKG_NAME} defines | 
| 252 | - new testreport supersedes older testscript | 
| 253 | o large number of package inclusion and header cleanups | 
| 254 | checkpoint51i_pre | 
| 255 |  | 
| 256 | o new output for adjoin of global ocean vector invariant | 
| 257 | o fix for checkpoint of thermodynamic seaice and bulk_force | 
| 258 | o Steph gchem various cleanups | 
| 259 |  | 
| 260 | checkpoint 51h_pre | 
| 261 | o fixed some single quotes | 
| 262 | o modify gchem pkg to be more versatile | 
| 263 | o modifications to clean up dic pkg | 
| 264 | o add pkg/cfc | 
| 265 |  | 
| 266 | checkpoint51g_post | 
| 267 | o provide links for ARPACK and ADM*TLM | 
| 268 | o start removing verification/vero/ | 
| 269 | o update AD-related stuff | 
| 270 | (in particular some IF-statements in model/src/ routines) | 
| 271 | o adding to verification/global_ocean.90x40x15/ adjoint of | 
| 272 | vector invariant setup | 
| 273 |  | 
| 274 | checkpoint51f_post | 
| 275 | o update advect_xz/output.txt (left from chekpoint50f_pre, ini_vel modif) | 
| 276 | o Mods and bug fixes to pkg/cal, pkg/exf, etc., needed for computation | 
| 277 | of tracer Green's fucntions for ocean inversion project. | 
| 278 |  | 
| 279 | checkpoint51f_pre | 
| 280 | o Added on-the-fly spatial interpolation capability | 
| 281 | "USE_EXF_INTERPOLATION" to pkg/exf. | 
| 282 | - This is a temporary Cartesian-grid hack until | 
| 283 | the super-duper ESMF coupler becomes available. | 
| 284 | - See verification/global_with_exf/README for usage example. | 
| 285 | - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid | 
| 286 | flags and modified pkg/seaice accordingly. | 
| 287 | o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F, | 
| 288 | and pkg/kpp/kpp_transport_ptr.F for dealing with tracer | 
| 289 | non-local transport term. | 
| 290 |  | 
| 291 | checkpoint51e_post | 
| 292 | o pkg/mom_vecinv: | 
| 293 | - changes related to hFac: use S/R from aim.5l_cs/code (coriolis & vort.advec) | 
| 294 | - add time-ave diagnostic of vorticity advection. | 
| 295 | o add diagnostic (instantaneous) of Shapiro Filter effect for T,S & UV. | 
| 296 | o atmospheric geopotential: - include water vapor effect; | 
| 297 | - use p^kappa in p* scaling. | 
| 298 | o land pkg: read initial state from files. | 
| 299 | o AIM : add stratospheric drag in the upper level | 
| 300 |  | 
| 301 | checkpoint51d_post | 
| 302 | o change function ILNBLNK (=> last non-blank char.) to return zero | 
| 303 | (instead of the string length) when the string. char is empty | 
| 304 | o fix bug in dxV,dyU definition of cubed-sphere grid (ini_curvilinear_grid) | 
| 305 | o modif's to restore TAMC compatibility | 
| 306 | - avoid "_d" constructs in PARAMETER declarations | 
| 307 | - avoid interrupting lines by comment lines | 
| 308 | o Use cluster local disks for purely local I/O | 
| 309 | vs. globally visible disks needed for ctrl stuff | 
| 310 | (merged from ecco-branch) | 
| 311 | - new active_file_loc... and mdsio_..._loc routines | 
| 312 | - affected packages: autodiff, ctrl, grdchk, mdsio | 
| 313 |  | 
| 314 | checkpoint51c_post | 
| 315 | o introducing integer flag debugLevel | 
| 316 | - debLevZero: suppress all output | 
| 317 | - debLevA: standard | 
| 318 | - debLevB: equivalent to current debugMode=.TRUE. | 
| 319 | o introducing pathname variable mdsioLocalDir for mdsio | 
| 320 | that can be specified at runtime | 
| 321 | (relevant for cluster I/O to local disk) | 
| 322 | ` | 
| 323 | >>>checkpoint51b_post | 
| 324 | adjoint of ptracers | 
| 325 | o disentangled ALLOW_PTRACERS using new ALLOW_GCHEM | 
| 326 | o extended state in checkpoint_lev?, etc. | 
| 327 | o alternative ctrl/cost with tr1 or ptracer | 
| 328 | o new comlev1_bibj_ptracers | 
| 329 | o new ptracers.flow | 
| 330 | o made ptracers_forcing same as external_forcing_s | 
| 331 | o added verification for adjoint with ptracers | 
| 332 | - adm. grdchk fail so far | 
| 333 | - tlm. grdchk OK | 
| 334 | - checked tapelev/comlev recomputations: OK | 
| 335 | <<<checkpoint51b_pre | 
| 336 |  | 
| 337 | checkpoint51a_post | 
| 338 | o added code for biogeochemistry package | 
| 339 | - new pkgs: dic, gchem | 
| 340 | - new subroutine in ptracers | 
| 341 | o modify code for biogeo packages | 
| 342 | - in model/src and pkg/ptracers | 
| 343 |  | 
| 344 | checkpoint51 | 
| 345 | o merged improved packages from ecco-branch (ecco_c51_e34) to MAIN | 
| 346 | - autodiff, ctrl, exf, grdchk, seaice | 
| 347 | kept separate packages | 
| 348 | - cost, ecco, obcs | 
| 349 | o updating verification/internal_wave, verification/lab_sea | 
| 350 | (all verif's pass on faulks.lcs.mit.edu RH7.3, g77) | 
| 351 |  | 
| 352 | checkpoint50i_post | 
| 353 | o Preparing next differentiable checkpoint and sync | 
| 354 | of MAIN vs. ecco-branch | 
| 355 | - 1st step: this one is differentiable | 
| 356 | - 2nd step: next(! not this) checkpoint will have updated packages | 
| 357 | from ecco-branch) | 
| 358 |  | 
| 359 | checkpoint50h_post | 
| 360 | o new package "land": provide surface BC for AIM. | 
| 361 | o pkg/ptracers: apply exchange to all tracers after reading a pickup. | 
| 362 | o AIM: use true log-P extrapolation for near surface temp (= as in | 
| 363 | F.Molteni paper) ; update aim.5l_cs output. | 
| 364 | o New variable in PARM03 for more flexible pickups | 
| 365 | o somewhat cleaned package initialisation sequence for | 
| 366 | ctrl/ cost/ ecco/ in packages_... routines | 
| 367 |  | 
| 368 | checkpoint50g_post | 
| 369 | o merged with release1_p17 (pkg/seaice and verification/lab_sea) | 
| 370 | - added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics | 
| 371 | - LSR sea-ice dynamic solver moved to SouthWest B-grid location and | 
| 372 | made the default because of faster convergence than ADI | 
| 373 |  | 
| 374 | checkpoint50f_post | 
| 375 | o exf totally restructured | 
| 376 | - replaced all exf_set_ routines by one generic exf_set_gen.F | 
| 377 | and made sure it's still differentiable | 
| 378 | - split exf_getffields.F into new exf_bulkformulae.F | 
| 379 | - exf_inscal_/exf_outscal_ suffixes consistent with field names | 
| 380 | - updated adjoint/makefile and relevant verif. accordingly | 
| 381 |  | 
| 382 | checkpoint50f_pre | 
| 383 | o AIM: near surface temp evaluated from Pot.Temp: fixed for Part Cell ; | 
| 384 | + change Evap over land. (update aim.5l_cs output) | 
| 385 | o added missing .cvsignores and made uniform across expts | 
| 386 | o changed configuration of tidal_basin_2d expt | 
| 387 | o added pkg/debug functions for tracing code in fatal crashes | 
| 388 | o tidied pkg/monitor to use MONITOR_OPTIONS.h | 
| 389 | o new fn in pkg/monitor to stop model if solution grows too big | 
| 390 | o removed lots of single quotes from comments | 
| 391 |  | 
| 392 | checkpoint50e_post | 
| 393 | o make KPP work with PTRACERS | 
| 394 | - fix gad_calc_rhs to call new routine kpp_transport_ptr, which is | 
| 395 | nearly a copy of kpp_transport_s | 
| 396 | - there is no analogue to SurfaceTendencyS, so I have to use | 
| 397 | gPtr(of the surface layer) instead | 
| 398 | o add a new platform SunFire+mpi (SunFire 15000) to genmake | 
| 399 | checkpoint50e_pre | 
| 400 |  | 
| 401 | checkpoint50d_post | 
| 402 | o change kpp output from multiple-record state files to single-record state | 
| 403 | files analogous to write_state.F | 
| 404 | o reduce the output frequency of cg3d-related stuff to the monitor frequency, | 
| 405 | analogous to the cg2d-related output. | 
| 406 | o fix small problem with in ptracers_write_checkpoint.F: len(suff)=512, | 
| 407 | so that writing to internal file fn (with length 512) fails. | 
| 408 | checkpoint50d_pre | 
| 409 |  | 
| 410 | checkpoint50c_post | 
| 411 | o fix problem in ini_procs.F when using MPI (was there since checkpoint48f) | 
| 412 | o add monitor diagnostic of vorticity (mon_vort3.F) and potential energy. | 
| 413 | o add time-average diagnostic of U*V and vertical diffusive flux for theta. | 
| 414 | o bug fixed in convective adjustment diagnostic (multi-tile set-up). | 
| 415 | o 4th Order Adv scheme: return to previous (c40pre7) masking near boundaries. | 
| 416 |  | 
| 417 | checkpoint50c_pre | 
| 418 | Merging from release1_p13: | 
| 419 | o bug fix for pkg/seaice dynamic solver | 
| 420 | o Added SEAICE_initialHEFF to pkg/seaice | 
| 421 |  | 
| 422 | checkpoint50b_post | 
| 423 | o store u*,v* in gU,V instead of in guNm1,gvNm1 | 
| 424 | o in order to put the momForcing out of the Adams-Bashforth: | 
| 425 | move forcing & CD-scheme calls from mom_fluxform & mom_vecinv | 
| 426 | to timestep.F | 
| 427 | o new flag "useCDscheme" (default=F); replace guCD,gvCD by local arrays | 
| 428 | o re-generate output for highly sensitive test-exp: | 
| 429 | global_ocean_pressure, ideal_2D_oce, lab_sea, natl_box | 
| 430 |  | 
| 431 | checkpoint50b_pre | 
| 432 | o restore the use of momAdvection & useCoriolis flags (mom_vecinv) | 
| 433 | o corrected CPP option mismatch in exf_Bulk... functions for case | 
| 434 | #define ALLOW_ATM_WIND && #undef ALLOW_ATM_TEMP | 
| 435 |  | 
| 436 | checkpoint50a_post | 
| 437 | o Bug fix for merging between c50 and KPP. | 
| 438 | ikey was passed from thermodynamics to kpp_calc via | 
| 439 | common block rather than being recomputed in kpp_calc, | 
| 440 | in contradiction with new key itdkey. | 
| 441 | New key ikppkey created, and tamc.h headers updated. | 
| 442 |  | 
| 443 | checkpoint50 | 
| 444 | - 2nd step of merge with ecco-branch: | 
| 445 | merge changes in ecco-branch back into main trunk | 
| 446 | - bug fix in find_alpha | 
| 447 | - more storing in gmredi_calc_tensor.F, kpp_routines.F | 
| 448 | - avoid iterative loop in ini_pressure for ALLOW_AUTODIFF_TAMC | 
| 449 | - merged some sliced AD support routines | 
| 450 |  | 
| 451 | checkpoint49 | 
| 452 | merged from ecco-branch: | 
| 453 | o exf: | 
| 454 | - Enable initialisation of forcing fields to constant | 
| 455 | (runtime) values. | 
| 456 | - in exf_getffields.F | 
| 457 | Reduce i-/j-loop to interior domain, discarding overlaps. | 
| 458 | That also fixes wrong TAF-key computations for key_1, key_2 | 
| 459 | with bulf formulae. | 
| 460 | - exf_init.F modify #ifdef for exf_init_evap | 
| 461 | - exf_getffieldrec.F, ctrl_getrec.F | 
| 462 | The following INT-usages are not safe: | 
| 463 | fldsecs  = int(fldsecs/fldperiod)*fldperiod | 
| 464 | fldcount = int(fldsecs/fldperiod) + 1 | 
| 465 | and were modified. | 
| 466 | o autodiff: checkpoint_lev... | 
| 467 | - updated storing for bulk formulae (some arrays were missing) | 
| 468 | - added state for seaice package | 
| 469 | - synchronized with main branch | 
| 470 | o DIVA: | 
| 471 | Modif.s in | 
| 472 | - the_main_loop.F | 
| 473 | - the_model_main.F | 
| 474 | and added cost_final_restore.F cost_final_store.F | 
| 475 | o With these changes, it is possible to fully separate | 
| 476 | the first forward run to compute the cost function (mdthe_main_loop) | 
| 477 | and adjoint runs over individual DIVA intervals (adthe_main_loop) | 
| 478 | into separate model executions. | 
| 479 | This enables better tuning of DIVA to given queue sizes. | 
| 480 | o Loss of cost function value in consecutive DIVA runs is | 
| 481 | fixed by storing to 'costfinal' file. | 
| 482 | o Appropriate call of ctrl_unpack/_pack,grdchk_main at | 
| 483 | beginning/end of adjoint integration is accounted for. | 
| 484 | The current changes apply to TAF-1.4.26. | 
| 485 | TAF has one remaining bug, requiring one manual change | 
| 486 | (see MITgcm manual). | 
| 487 | o cal: synchronized between MAIN and ecco-branch | 
| 488 |  | 
| 489 | checkpoint48i_post | 
| 490 | o Changes to restore differentiability of code w.r.t. previous tag | 
| 491 | (mostly adding new routines to make list and replacing | 
| 492 | pressure by totPhiHyd). | 
| 493 | o Updated and merged grdchk package | 
| 494 | - has both ADM and TLM checks | 
| 495 | - works for single- and multi-proc. | 
| 496 | - output cleaned | 
| 497 | - worked successfully for parallel DIVA | 
| 498 | o genmake: | 
| 499 | - Adding -platform=SP4 | 
| 500 | - Modif. for DEC Alpha (many don't have makedepend; use mkdep instead). | 
| 501 | o Modif. for DIVA: | 
| 502 | ctrl_unpack should not be called in intermediate DIVA interval. | 
| 503 | (similar thing would apply for active files such as | 
| 504 | tbar, sbar, psbar, which should not be reinitialised; | 
| 505 | only relevant for ecco-branch) | 
| 506 |  | 
| 507 | checkpoint48h_post | 
| 508 | o improve "ini_p_ground" when using finite difference form for calc_phi_hyd | 
| 509 | o Added net flux to downward flux conversion to pkg/exf/exf_getffields.F | 
| 510 | o Added SEAICE_initialHEFF to pkg/seaice | 
| 511 | o ecco_the_model_main.F: SEAICE_WRITE_PICKUP must precede WRITE_CHECKPOINT | 
| 512 |  | 
| 513 | checkpoint48g_post | 
| 514 | --- EOS: | 
| 515 | o compute locally the pressure for use in EOS: UNESCO, JMD95P, MDJWF | 
| 516 | store total Potential in totPhyHyd for diagnostics & EOS. | 
| 517 | o fix restart and overlap Pb when using Z-coord and EOS funct. of P | 
| 518 | --- Pressure/geopotential gradient: | 
| 519 | o use Ro_surf & R_low instead of hFac in cal_phi_hyd: | 
| 520 | o NLFS + p-coord.: eta*Alpha' is not longer lagging 1.time-step behind | 
| 521 | ( changes results of global_ocean_pressure ) | 
| 522 | o NLFS + z-coord.: add eta*Rho' contribution. | 
| 523 | o accurate phiHyd when using interface-W at the middle between 2 centers | 
| 524 | ( changes results of ideal_2D_oce ) | 
| 525 | o includes r* 2nd term in potential gradient. | 
| 526 |  | 
| 527 | checkpoint48f_post | 
| 528 | Merging from release1_p12: | 
| 529 | o Modifications for using pkg/exf with pkg/seaice | 
| 530 | - improved description of the various forcing configurations | 
| 531 | - added basic radiation bulk formulae to pkg/exf | 
| 532 | - units/sign fix for evap computation in exf_getffields.F | 
| 533 | - updated verification/global_with_exf/results/output.txt | 
| 534 | o Added pkg/sbo for computing IERS Special Bureau for the Oceans | 
| 535 | (SBO) core products, including oceanic mass, center-of-mass, | 
| 536 | angular, and bottom pressure (see pkg/sbo/README.sbo). | 
| 537 | o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F | 
| 538 | to avoid negative values in shallow regions. | 
| 539 | - updated verification/natl_box/results/output.txt | 
| 540 | - updated verification/lab_sea/results/output.txt | 
| 541 | o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F | 
| 542 | o Added useSingleCpuIO option (see PARAMS.h). | 
| 543 | o Updated useSingleCpuIO option in mdsio_writefield.F to | 
| 544 | work with multi-field files, e.g., for single-file pickup. | 
| 545 | o pkg/seaice: | 
| 546 | - bug fix in growth.F: QNET for no shortwave case | 
| 547 | - added HeffFile for specifying initial sea-ice thickness | 
| 548 | - changed SEAICE_EXTERNAL_FLUXES wind stress implementation | 
| 549 | o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, | 
| 550 | kpp_transport_t.F, forward_step.F, and the_main_loop.F | 
| 551 | o pkg/seaice: | 
| 552 | - adjoint-friendly modifications | 
| 553 | - added a SEAICE_WRITE_PICKUP at end of the_model_main.F | 
| 554 |  | 
| 555 | checkpoint48e_post | 
| 556 | o New S/R for diagnostic of bottom pressure (phi0surf was missing in c48d_post) | 
| 557 | o dynamics: change definition of computational domain & adapt mom_fluxform | 
| 558 | accordingly ; when viscA4=0, allows to run the dynamics with Olx=Oly=2. | 
| 559 | o following exp works with Olx=Oly=2 (and pass through checkbounds option): | 
| 560 | adjust_nlfs.cs-32x32x1 adjustment.128x64x1 adjustment.cs-32x32x1 | 
| 561 | exp0 exp1 exp2 exp4 exp5 hs94.cs-32x32x5 hs94.128x64x5 hs94.1x64x5 | 
| 562 | global_ocean.90x40x15 global_with_exf global_ocean_pressure | 
| 563 | inverted_barometer solid-body.cs-32x32x1 | 
| 564 | (high order AdvScheme and/or multiDimAd works with Olx=Oly=2 ? not sure) | 
| 565 |  | 
| 566 | checkpoint48d_post | 
| 567 | o in preparation for r*: | 
| 568 | a) use pre-computed gradient of hydrostatic potential: | 
| 569 | changes in timestep.F & mom_cdscheme.F affects results of ideal_2D_oce | 
| 570 | b) move phi0surf from calc_phi_hyd to calc_grad_phi_hyd: | 
| 571 | => affects results of glob_oce_pressure (different truncation error) | 
| 572 | update output.txt of ideal_2D_oce & global_ocean_pressure | 
| 573 |  | 
| 574 | checkpoint48d_pre | 
| 575 | o in preparation for r*: | 
| 576 | new S/R (calc_grad_phi_hyd.F) to compute Hydrostatic potential gradient. | 
| 577 | pass the 2 comp. of the grad. as arguments to momentum S/R. | 
| 578 | but for the moment, only used if it does not change the results. | 
| 579 | o add finite volume form of calc_phi_hyd for buoyancyRelation OCEANIC & OCEANICP | 
| 580 |  | 
| 581 | checkpoint48c_post | 
| 582 | Modifications in treatment of initial flux forcing controls | 
| 583 | to avoid extra storing of flux fields. | 
| 584 |  | 
| 585 | checkpoint48c_pre | 
| 586 | o Added tidal_basin_2d experiment (currently 1D!) | 
| 587 | o can use r* Coordinate with OBC (but Orlanski Rad. BC not yet implemented) | 
| 588 |  | 
| 589 | checkpoint48b_post | 
| 590 | o r* coordinate added in #ifdef NONLIN_FRSURF block. | 
| 591 | (modification to pressure gradient not yet implemented) | 
| 592 | o mom_fluxform: new S/R mom_calc_rtrans.F computes vertical transports | 
| 593 | (for U & V) that are used for vertical advection of momentum. | 
| 594 |  | 
| 595 | checkpoint48a_post | 
| 596 | o In preparation for r*, use temp. array to compute vertical transport | 
| 597 | in flux-form momentum pkg. => change results of few test-exp. | 
| 598 | Update output of: exp4, exp5, front_relax, global_ocean_pressure, | 
| 599 | lab_sea, natl_box & plume_on_slope | 
| 600 |  | 
| 601 | checkpoint48 | 
| 602 | o fix small bug that was causing lot of warning (TIMER_STOP 'UPDATE_CG2D') | 
| 603 |  | 
| 604 | checkpoint47j_post | 
| 605 | o add new exp. (ideal_2D_oce) to test "exotic" parameters and options. | 
| 606 | o moved adexch from forward_step to addummy_in_stepping | 
| 607 | o added exch in ctrl_map_... | 
| 608 | o aveFreq.=0. at end of cost_final to avoid overwrite in | 
| 609 | reverse checkpointing loop | 
| 610 | o Yet more changes in gmredi: | 
| 611 | * adgmredi_calc_tensor | 
| 612 | avoiding all recomputation of gmredi_slope_limit | 
| 613 | * adgmredi_x/y/rtransport | 
| 614 | added flag for excessive storing to avoid recomp. of | 
| 615 | u/v/rtans, dTdx/y/z | 
| 616 | -> this is not really necessary and very memory-consuming | 
| 617 | * adgmredi_slope_psi: | 
| 618 | consistency with gmredi_slope_limit in treatment of GM_slopeSqCutoff | 
| 619 | * gmredi_slope_limit | 
| 620 | re-activated full calculation of taperfct for case 'ac02' | 
| 621 | o updating verification/ adjoints of carbon, global_ocean.90x40x15 | 
| 622 |  | 
| 623 | checkpoint47i_post | 
| 624 | o GM_EXCLUDE_() replace GM_TAPER_(): by default, all the code is compiled. | 
| 625 | o add GM_Small_Number & GM_slopeSqCutoff as run-time parameters (data.gmredi) | 
| 626 | default values = 1.D-12 & 1.D+48 (=> give same results as checkpoint47f_post) | 
| 627 | o cg2dTargetResWunit: define tolerance using deltaTmom (and not deltaTfreesurf) | 
| 628 | o gmredi: fix few bugs. | 
| 629 |  | 
| 630 | checkpoint47h_post (duplicate tag for PH's c48 tag, in order to move c48) | 
| 631 | This will be a good checkpoint to plug into the ecco-branch. | 
| 632 | o few modif.'s to get latest version adjointed | 
| 633 | (mainly kick out code in ini_linear_phisurf) | 
| 634 | o modif's to run adjoint with exactConserv | 
| 635 | o case GM_BOLUS_ADVEC should be cleaned | 
| 636 | S/R gmredi_slope_psi should be cleaned | 
| 637 | o verification/carbon now has exactConserv=.TRUE. | 
| 638 |  | 
| 639 | checkpoint47g_post | 
| 640 | o time-average AIM output: becomes independent from statvars time-average | 
| 641 | (can be used with #undef ALLOW_TIMEAVE) ; add new variables (e.g., RH) | 
| 642 | o After TAF bug fix: | 
| 643 | Tested adjoint of gmredi package. | 
| 644 | Tests were done with checkpoint47 rather than with latest | 
| 645 | checkpoint47f_post since the latter is broken for the adjoint | 
| 646 | verification/carbon/ contains both ADM and TLM gradient checks. | 
| 647 | Here they are, before they get changed/lost/stolen. | 
| 648 | Mostly modif.'s to fix numerical sensitivities. | 
| 649 | Gradient checks OK for | 
| 650 | - GM_taper_scheme: | 
| 651 | * clipping | 
| 652 | * ac02 | 
| 653 | * linear | 
| 654 | * glw91 | 
| 655 | * dm95 | 
| 656 | * ldd97 | 
| 657 | - GMREDI_OPTIONS: | 
| 658 | * GM_VISBECK_VARIABLE_K | 
| 659 | * GM_NON_UNITY_DIAGONAL | 
| 660 | * GM_EXTRA_DIAGONAL | 
| 661 | * GM_BOLUS_ADVEC | 
| 662 | in conjunction with data.gmredi parameters to be checked in | 
| 663 | in a few minutes under verification/carbon/code/ | 
| 664 |  | 
| 665 | checkpoint47f_post | 
| 666 | Merging from release1_p10: | 
| 667 | o modifications for using pkg/exf with pkg/seaice | 
| 668 | - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING | 
| 669 | and SEAICE_EXTERNAL_FLUXES | 
| 670 | - pkg/exf CPP options EXF_READ_EVAP and | 
| 671 | EXF_NO_BULK_COMPUTATIONS | 
| 672 | - usage examples are Experiments 8 and 9 in | 
| 673 | verification/lab_sea/README | 
| 674 | - verification/lab_sea default experiment now uses | 
| 675 | pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf | 
| 676 |  | 
| 677 | checkpoint47e_post | 
| 678 | o created a tag prior to creating a branch | 
| 679 |  | 
| 680 | checkpoint47d_post | 
| 681 | o fixed bug in the oceanic pressure coordinates code: vertical viscosity | 
| 682 | at the bottom boundary had an erroneous half slip boundary condition | 
| 683 | o added bottom drag and no slip boundary condition capabilities to | 
| 684 | oceanic pressure coordinates code | 
| 685 | o added new verification experiment global_ocean_pressure, this experiment is | 
| 686 | also described in the tutorial section of the manual | 
| 687 | checkpoint47d_pre | 
| 688 |  | 
| 689 | checkpoint47c_post | 
| 690 | o Added a verification experiment for a global cubed-sphere ocean run | 
| 691 | -  verification/global_ocean.cubed32x32x30 | 
| 692 | -  uses pkg/therm_seaice and pkg/bulk_forcing | 
| 693 |  | 
| 694 | o allow to run AIM physics with SPEEDY input files (from Franco Molteni) | 
| 695 | o allow a more accurate definition of Ro_Surf (selectFindRoSurf=1) | 
| 696 | when using P-coordinate; only implemented for atmospheric config. | 
| 697 | o OCEANICP & realFreshWater: include P-E direct effect on wVel ; | 
| 698 | NOTES: requires option NONLIN_FRSURF to be "#define". | 
| 699 | o update advect_xz/results/output.txt (left from checkpoint44g_post) | 
| 700 |  | 
| 701 | checkpoint47b_post | 
| 702 | Merging from release1_p9: | 
| 703 | o pkg/seaice | 
| 704 | - removed GOTO's and added taf directives | 
| 705 | - double precision constants to reduce the g77 (Linux) | 
| 706 | to F77 (SGI) differences reported in release1_p8 | 
| 707 | o tools/genmake | 
| 708 | - added SGI options | 
| 709 | o verification/testscript | 
| 710 | - updated to that of checkpoint47a_post | 
| 711 | o verification/global_ocean.90x40x15/input/eedata | 
| 712 | - modified for SGI f77 compatibility | 
| 713 | o verification/lab_sea | 
| 714 | - added description of sea-ice model | 
| 715 | - added missing matlab routines | 
| 716 | - added test of thermodynamics parallelization | 
| 717 |  | 
| 718 | checkpoint47a_post | 
| 719 | o new pkg: aim_v23 | 
| 720 | = F. Molteni atmos.physics (SPEEDY, ver23) adapted to MITgcm. | 
| 721 | for now, keep the same surface forcing as before. | 
| 722 | - Part-Cell implemented into AIM; check that Heat & Water are conserved | 
| 723 | - aim.5l_cs: use new aim pkg (run 10yr & get better results than before) | 
| 724 | - aim.5l_LatLon & aim.5l_Equatorial_Channel are still using old aim pkg | 
| 725 | o add diagnostic of surface correction term in monitor output | 
| 726 |  | 
| 727 | o bulk_force and therm_seaice | 
| 728 | - Two packages:  bulk_force (Bulk forcing) | 
| 729 | and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2 | 
| 730 | - Earlier integration from Stephaine Dutkiewicz | 
| 731 | and Patrick Heimbach. | 
| 732 | - Two ifdef statements for compile time, | 
| 733 | ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE | 
| 734 |  | 
| 735 | checkpoint47 | 
| 736 | differentiable version of checkpoint46n_post | 
| 737 | o bug fix in quasihydrostaticterms | 
| 738 | o * "clean" adjoint code (in terms of extensive recomputations) | 
| 739 | can now be obtained for all GMREDI options (i.e. for | 
| 740 | - GM_VISBECK_VARIABLE_K | 
| 741 | - GM_NON_UNITY_DIAGONAL | 
| 742 | - GM_EXTRA_DIAGONAL | 
| 743 | - GM_BOLUS_ADVEC ) | 
| 744 | * However, wrong gradient check problem remains unsolved. | 
| 745 | * New CPP options have been introduced for different | 
| 746 | tapering schemes | 
| 747 | o external_fields_load now part of differentiation list | 
| 748 | o pressure needs multiple storing; | 
| 749 | would be nice to have store_pressure at beginning or | 
| 750 | end of forward_step, e.g. by having phiHyd global (5-dim.) | 
| 751 | (NB: pressure is needed for certain cases in find_rho, | 
| 752 | which is also invoked through convective_adjustment). | 
| 753 | o recomputations in find_rho for cases | 
| 754 | 'JMD95'/'UNESCO' or 'MDJWF' are OK. | 
| 755 | o #define ATMOSPHERIC_LOADING should be differentiable | 
| 756 | o ini_forcing shifted to begining of initialise_varia | 
| 757 | o Incorporating QNVS line search routines into MITgcm | 
| 758 | (this is separate code, and therefore not under pkg) | 
| 759 | lsopt/, optim/ | 
| 760 | o Updated verification/carbon/ | 
| 761 | - #define GM_VISBECK_VARIABLE_K | 
| 762 | - GM_taper_scheme    = 'ldd97' | 
| 763 |  | 
| 764 | checkpoint46n_post | 
| 765 | Merging from release1_p8: | 
| 766 | o verification/natl_box: | 
| 767 | updating new external_fields_load routine | 
| 768 | o New package: pkg/seaice | 
| 769 | Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle). | 
| 770 | The sea-ice code is based on Hibler (1979-1980). | 
| 771 | Two sea-ice dynamic solvers, ADI and LSR, are included. | 
| 772 | In addition to computing prognostic sea-ice variables and diagnosing | 
| 773 | the forcing/external data fields that drive the ocean model, | 
| 774 | SEAICE_MODEL also sets theta to the freezing point under sea-ice. | 
| 775 | The implied surface heat flux is then stored in variable | 
| 776 | surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and | 
| 777 | kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the | 
| 778 | non-local transport term.  Because this call precedes model | 
| 779 | thermodynamics, temperature under sea-ice may not be "exactly" at | 
| 780 | the freezing point by the time theta is dumped or time-averaged. | 
| 781 | N.B.: fairly large differences in accuracy occur across | 
| 782 | different platforms/compilers; comparison between | 
| 783 | g77 (Linux) and F77 (SGI Origin 2000/MIPSpro) | 
| 784 | generated output gives: | 
| 785 | T           S           U           V | 
| 786 | C D M    c        m  s        m  s        m  s        m  s | 
| 787 | n p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  . | 
| 788 | f n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d | 
| 789 | g d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  . | 
| 790 |  | 
| 791 | Y Y Y Y  5  5  7  7  7  8 10  9  6  6  6  6  7  5  7  5  7 FAIL  lab_sea | 
| 792 | o GAD: | 
| 793 | - generated new common blocks to account for call of | 
| 794 | same gad routines with differing traceridentities | 
| 795 | (needed to modify tracerIdentity indices in GAD.h) | 
| 796 | - generated separate common blocks for case useCubedSphereExchange | 
| 797 | (Department of Futurology) | 
| 798 | - parameter lists to gmredi_?transport: added tracerIdentity | 
| 799 | - added new key indices to tamc.h | 
| 800 | o external_fields_load: | 
| 801 | - added this routine to TAF list | 
| 802 | - needed to make some common blocks global and additional storing | 
| 803 | along the same lines as exf package (checkpoint_lev?_directives.h) | 
| 804 | o exf: | 
| 805 | updated external forcing package | 
| 806 | - bug fixes carried over from ecco-branch | 
| 807 | (missing OBCS_OPTIONS.h in two routines) | 
| 808 | - enable easy to use "no forcing". | 
| 809 | - added exf I/O for atmospheric loading | 
| 810 | - added exf I/O for runoff data | 
| 811 | - transfered scaling between exf <-> MITgcm to exf namelist | 
| 812 | o Adding new verification experiment global_with_exf. | 
| 813 | This verification experiment is almost identical to the | 
| 814 | global_ocean.90x40x15 experiment, except that it uses | 
| 815 | the exf (and cal) package instead of the | 
| 816 | external_fields_load routine (cf README file). | 
| 817 |  | 
| 818 | checkpoint46m_post | 
| 819 | o modified testscript to return -- when there are no lines of "%MON" output | 
| 820 | o added new flag "quasiHydrostatic" for QH mode | 
| 821 | and new routine quasihydrostaticterms() | 
| 822 | o added 2*Omega*Cos(phi)*W to u equations (non-hydrostatic Coriolis term) | 
| 823 | New routine: mom_u_coriolis_nh() | 
| 824 | o fixed sign of non-hydrostatic metric terms in u and v equations. | 
| 825 | Depend on correct sign of gravitySign. | 
| 826 | o added work.pc* to .cvsignore in aim directories using ifc | 
| 827 | o introduced flag for controllin non-hydrostatic metric terms | 
| 828 | o removed gravitySign from PARM04 | 
| 829 | o switched to g77/ifc from pgf77 in aim experiments | 
| 830 |  | 
| 831 | checkpoint46l_post | 
| 832 | o made convective adjustment work with pressure coordinates: | 
| 833 | - changed the direction of k-loop in convective_adjustment.F for the | 
| 834 | case of pressure coordinates (OCEANICP,ATMOSPHERIC buoyancyRelation) | 
| 835 | - adjusted the reference pressure k-index in convective_adjustment.F | 
| 836 | - adjusted the convection condition in convect.F (in analogy to | 
| 837 | calc_ivdc.F) | 
| 838 | - convective_adjustment no longer computes anything on the halos | 
| 839 | - removed the warnings about negative salinity from find_rho.F and | 
| 840 | find_alpha.F; instead the new routine look_for_neg_salinity, called | 
| 841 | at the beginning of find_rho, find_alpha, and find_beta, does a | 
| 842 | check of the entire slice, if CPP-option | 
| 843 | CHECK_SALINITY_FOR_NEGATIVE_VALUES is defined | 
| 844 | checkpoint46l_pre | 
| 845 |  | 
| 846 | checkpoint46k_post | 
| 847 | o fixed the verification/global_ocean.90x40x15 experiment: | 
| 848 | - new bathymetry (the world according to A., JMC, and M.) | 
| 849 | - new initial fields and forcing fields (*.bin files) | 
| 850 | - new POLY3.COEFFS (for the next release one should switch to a full | 
| 851 | equation of state: JMD95P or MDJWF) | 
| 852 | - fixed several errors and redundancies in the data file | 
| 853 | - experiment uses looped cells | 
| 854 | - added matlab directory with diagnostic scripts for plotting of output | 
| 855 |  | 
| 856 | o S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F: | 
| 857 | - read AIM physics parameters from a file (data.aimphys) | 
| 858 | - set defaults values = F.Molteni paper (Clim.Dyn., 2002) | 
| 859 |  | 
| 860 | checkpoint46j_post | 
| 861 | o split calc_exact_eta in 2 S/R : integr_continuity & update_etaH | 
| 862 | o move wVel computation at the end of the time step, in S/R integr_continuity | 
| 863 | o create specific S/R to exchange T,S before DYNAMICS (for stagger time step) | 
| 864 | o update timeave pkg for wVel diagnostic. | 
| 865 | checkpoint46j_pre | 
| 866 |  | 
| 867 | checkpoint46i_post | 
| 868 | o Clean up AIM package (and keep the results unchanged): | 
| 869 | include CPP_OPTION and use IMPLICT NONE in all routines ; | 
| 870 | declare all the variables _RL ; use _d 0 for all numerical constants. | 
| 871 | use ifdef ALLOW_AIM everywhere. And now AIM can be used with g77 ! | 
| 872 |  | 
| 873 | checkpoint46h_post | 
| 874 | o cleaned up the use of rhoNil and rhoConst. | 
| 875 | - rhoNil should only appear in the LINEAR equation of state, everywhere | 
| 876 | else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst | 
| 877 | and the dynamical equations are all divided by rhoConst | 
| 878 | o introduced new parameter rhoConstFresh, a reference density of fresh | 
| 879 | water, to remove the fresh water flux's dependence on rhoNil. The default | 
| 880 | value is 999.8 kg/m^3 | 
| 881 | o cleanup up external_forcing.F and external_forcing_surf.F | 
| 882 | - can now be used by both OCEANIC and OCEANICP | 
| 883 | checkpoint46h_pre | 
| 884 |  | 
| 885 | Added code to convert surface volume flux (fresh water) into | 
| 886 | a mass flux when using P coordinates in the ocean (OCEANICP). | 
| 887 | Note: It assumes you have set rho0=rhoConst=density of fresh water. | 
| 888 |  | 
| 889 | checkpoint46g_post | 
| 890 | o Include a new diagnostic variable phiHydLow for the ocean model | 
| 891 | - in z-coordinates, it is the bottom pressure anomaly | 
| 892 | - in p-coordinates, it is the sea surface elevation | 
| 893 | - in both cases, these variable have global drift, reflecting the mass | 
| 894 | drift in z-coordinates and the volume drift in p-coordinates | 
| 895 | - included time averaging for phiHydLow, be aware of the drift! | 
| 896 | o depth-dependent computation of Bo_surf for pressure coordinates | 
| 897 | in the ocean (buoyancyRelation='OCEANICP') | 
| 898 | - requires a new routine (FIND_RHO_SCALAR) to compute density with only | 
| 899 | Theta, Salinity, and Pressure in the parameter list. This routine is | 
| 900 | presently contained in find_rho.F. This routine does not give the | 
| 901 | correct density for 'POLY3', which would be a z-dependent reference | 
| 902 | density. | 
| 903 | o cleaned up find_rho | 
| 904 | - removed obsolete 'eqn' from the parameter list. | 
| 905 | o added two new verification experiments: gop and goz | 
| 906 | (4x4 degree global ocean, 15 layers in pressure and height coordinates) | 
| 907 | checkpoint46g_pre | 
| 908 |  | 
| 909 | checkpoint46f_post | 
| 910 | o Enable tangent linear (forward mode) gradient checks: | 
| 911 | - extended active file handling to g_... files | 
| 912 | - added TANGENT_SIMULATION to theSimulationMode | 
| 913 | - extended grdchk package accordingly | 
| 914 | o added tangent linear setup in verification/carbon/code_ftl | 
| 915 | o added adjoint setup in verification/front_relax/code_ad | 
| 916 |  | 
| 917 | checkpoint46e_post | 
| 918 | o Added new equation of state -> MDJWF | 
| 919 | - EOS of McDougall et al., 2002, JAOT, submitted | 
| 920 | - caveat: the equation of state is only valid for a smaller (more | 
| 921 | realistic?) range of values than JMD95P/Z and UNESCO | 
| 922 | - added masks to the calculation of pressure in store_pressure | 
| 923 | - added more check values for density in check_eos (ini_eos.F), some of | 
| 924 | the old check values are out of the range of the MDJWF-eos, so don't | 
| 925 | expect perfect matches for those | 
| 926 | checkpoint46e_pre | 
| 927 |  | 
| 928 | checkpoint46d_post | 
| 929 | o fixed store_pressure to work with both buoyancy relation = 'OCEANIC' and | 
| 930 | 'OCEANICP', also initialised field pressure correctly in ini_eos in the | 
| 931 | case of pressure coordinates. eosType='JMD95Z' in | 
| 932 | combination with buoyancyRelation='OCEANICP' now causes an error. | 
| 933 | o Changed p = pressure(i,j,k,bi,bj)  to  p = pressure(i,j,kRef,bi,bj) | 
| 934 | in find_alpha/beta. | 
| 935 | checkpoint46d_pre | 
| 936 |  | 
| 937 | o Changed p = pressure(i,j,k,bi,bj)  to  p = pressure(i,j,kRef,bi,bj) | 
| 938 | so that JMD95Z and JMD95P give approptiate static stability in find_rho. | 
| 939 |  | 
| 940 | checkpoint46c_post | 
| 941 | o Changes necessary for ocean in p-coordinates | 
| 942 | -  Added new buoyancy relation = 'OCEANICP' | 
| 943 | -  Added new parameters = gravitySign (this used to be contained inside | 
| 944 | the factor dRdZ which I added when we first switched to R coordinates). | 
| 945 | X GM/Redi is not compatible (yet) | 
| 946 | X bottom drag and no-slip need to be debugged. | 
| 947 | checkpoint46c_pre | 
| 948 |  | 
| 949 | checkpoint46b_post | 
| 950 | o Added new equation of state -> JMD95Z and JMD95P | 
| 951 | - EOS of Jackett and McDougall, 1995, JAOT | 
| 952 | - moved all EOS parameters into EOS.h | 
| 953 | - new routines ini_eos.F, store_pressure.F | 
| 954 | o Added UNESCO EOS, but not recommended because it requires | 
| 955 | in-situ temperature (see JMD95) | 
| 956 | o Modified formatting for knudsen2.f in utils/knudsen2 and added | 
| 957 | unesco.f to be used with POLY3 | 
| 958 | checkpoint46b_pre | 
| 959 |  | 
| 960 | checkpoint46a_post | 
| 961 | o Added (atmospheric) pressure loading | 
| 962 | - new field in FFIELDS.h, etc... | 
| 963 | - new cpp flag ATMOSPHERIC_LOADING | 
| 964 | o Changed hFacC to _hFacC in calc_phi_hyd.F | 
| 965 | o Added SHORTWAVE_HEATING to some files for consistency | 
| 966 | checkpoint46a_pre | 
| 967 |  | 
| 968 | checkpoint46 | 
| 969 | further merges from release1_p5 | 
| 970 | o new ctrl package | 
| 971 | - adopted from ECCO environment to enable optimization | 
| 972 | - added Eliassen Palm fluxes to controls | 
| 973 | o added Eliassen Palm flux controls to gradient check package | 
| 974 | o cost package | 
| 975 | - Compatible with new ctrl package | 
| 976 | - added Eliassen Palm cost hooks | 
| 977 | - modif's of existing cost functions | 
| 978 | o Adjoint-related bug fixes in kpp: | 
| 979 | - kpp_calc: sore of kpphbl avoids recomputation/call to S/R kppmix | 
| 980 | - kpp_routines: store of Rib avoids partial recomputation bug of TAF. | 
| 981 | o autodiff package | 
| 982 | - flow directives: | 
| 983 | + new for S/R do_the_model_io | 
| 984 | + enhanced for S/R checkpoint | 
| 985 | + new gmredi.flow | 
| 986 | - Introduced CPP option ALLOW_AUTODIFF_MONITOR to | 
| 987 | disable adcommon.h/g_common.h by default. | 
| 988 | - fixed problem for adjoint of global_max | 
| 989 | o modified verification/carbon/ | 
| 990 | o New setup for adjoint of global_ocean | 
| 991 | o added hooks for Eliassen Palm fluxes (dynamics.F, ini_fields.F) | 
| 992 | o cleaned TAF keys iikey, idkey (dynamics.F, thermodynamics.F) | 
| 993 | o incorporated hooks for sponge layer code (external_forcing.F) | 
| 994 |  | 
| 995 | checkpoint45d_post | 
| 996 | o import 2 fixes from release1_p5 (CG2D.h & packages_readparms.F) | 
| 997 | o use recip_dx*,recip_dy* instead of /dx*,/dy* in orlanski_E,W,N,S | 
| 998 | (affects plume_on_slope "cg2d" output) | 
| 999 | o add new parameter deltaTfreesurf for free-surface time stepping | 
| 1000 | o exchange gT,gS when using staggerTimeStep & GM & Oly<4 | 
| 1001 | o NONLIN_FRSURF: rescale gNm1 to get a better conservation with A-B | 
| 1002 | o change phiMin in exp1 (to agree with documentation) | 
| 1003 | o add new flags: | 
| 1004 | - T,S forcing inside/outside Adams-Bashforth | 
| 1005 | - turn off temp,salt advection and/or forcing | 
| 1006 | - for each tracer, define internal flag for multiDimAdvection & A-B | 
| 1007 | o monitor: change definition of KE to check conservation of Energy | 
| 1008 |  | 
| 1009 | checkpoint45c_post | 
| 1010 | o Removed f90 comments ("!") | 
| 1011 | o Modified initialisations to enable exf package for MITgcm | 
| 1012 | (without invoking ECCO_PACKAGE). | 
| 1013 | o modifications to gradient check package (Martin Losch) | 
| 1014 | - enable centered differences | 
| 1015 | - modified format of standard output | 
| 1016 |  | 
| 1017 | checkpoint45b_post | 
| 1018 | o cleaned exchange calls in cg2d | 
| 1019 | o Included CPP option ALLOW_AUTODIFF_MONITOR in forward_step | 
| 1020 | o included CPP option SINGLE_LAYER_MODE in thermodynamics | 
| 1021 | to configure barotropic setup (Martin Losch) | 
| 1022 | o moved some initialisations within bi,bj loop in dynamics | 
| 1023 | (TAF flow dependency) | 
| 1024 | o in initialise_varia, moved call packages_init_variables | 
| 1025 | before convective_adjustment_init | 
| 1026 | (corresponding adjustment of TAF tape initialisation). | 
| 1027 | o in calc_diffusivity/calc_viscosity extended domain to full overlap. | 
| 1028 |  | 
| 1029 | checkpoint45a_post | 
| 1030 | o compute Rho over the whole domain (extend iMin,jMin indices) | 
| 1031 | o specific exchange for X-slice domain (case Ny=1) | 
| 1032 | o argument futureIter of S/R obcs_calc missing in exp4 & internal_wave /code | 
| 1033 | o solve_for_pressure : set cg2d_x to zero where OBCS are applied | 
| 1034 |  | 
| 1035 | checkpoint44h_post = checkpoint45 | 
| 1036 | o Fix to restore differentiability: | 
| 1037 | place at which packages_init_variables is called in | 
| 1038 | initialise_varia is crucial for reverse control flow. | 
| 1039 | o modifications in GMRedi to enable stable adjoint | 
| 1040 | (corresponding modif's in thermodynamics, dynamics) | 
| 1041 | o added missing hook for sponge layer code in external_forcing | 
| 1042 | o modified test cost functions | 
| 1043 | o storing in gad_advection (plus removal of write(0,*)! | 
| 1044 | o missing headers TR1.h added in convective_adjustment routines | 
| 1045 | o errorMessageUnit set non-equal zero in eeboot | 
| 1046 | (conflict on some platforms, e.g. IBM SP3) | 
| 1047 | o modified carbon verif. | 
| 1048 |  | 
| 1049 | checkpoint44h_pre | 
| 1050 | o vertical grid option: allow to put the Interface at the middle between | 
| 1051 | 2 cell-centers ; replace delZ in pkg/kpp by drF. | 
| 1052 | o GM Advective form: Tracers are advected using the residual transport (= | 
| 1053 | Euler+GM-bolus); set param GM_AdvSeparate=T to return to previous form. | 
| 1054 |  | 
| 1055 | checkpoint44g_post | 
| 1056 | o fix surface correction term in multiDimAdvection (affects plume_on_slope | 
| 1057 | results) ; ifdef missing in thermodynamics.F | 
| 1058 |  | 
| 1059 | checkpoint44f_pre,checkpoint44f_post | 
| 1060 | o added PTRACERS package | 
| 1061 | This allows an arbitrary number of passive tracers to be integrated | 
| 1062 | forward simultaneously with the dynamicaly model. | 
| 1063 | + Implemented so far: | 
| 1064 | - basic forward algorithm (time-stepping, advection, diffusion, convection) | 
| 1065 | - I/O and checkpointing | 
| 1066 | - GM/Redi  *but*  using the GM/Redi coefficient of Salt | 
| 1067 | + Not implemented so far: | 
| 1068 | - KPP | 
| 1069 | - OBCS | 
| 1070 | + No specific example supplied (yet) but global_ocean.90x40x15 has the | 
| 1071 | necessary data.ptracer file. Simply use -enable=ptracers and uncomment | 
| 1072 | line in data.pkg. | 
| 1073 | + This package is disabled by default since it increases storage. | 
| 1074 |  | 
| 1075 |  | 
| 1076 | o testscript: added -cleanup option | 
| 1077 | o Shap_filt: a) new shap_filt S/R to use no-slip BC with S2 filter | 
| 1078 | b) enable to filter 2D fields. | 
| 1079 |  | 
| 1080 | checkpoint44e_pre,post | 
| 1081 | o re-wrote convective adjustment to use pre-calculated weights | 
| 1082 | Affects: model/src/convective_adjustment.F, convective_adjustment_ini.F | 
| 1083 | Adds:    model/src/convective_weights.F, convectively_mixtracer.F | 
| 1084 | Original calls to convect() still in place. | 
| 1085 |  | 
| 1086 | chkpt44d_pre,post | 
| 1087 | o added missing EXCLUDE_MONITOR flags | 
| 1088 | o changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi | 
| 1089 | (incompatible typ in MIN/MAX expressions caused problems | 
| 1090 | on IBM SP3) | 
| 1091 | o in genmake added variable MAKEDEPEND | 
| 1092 | plus resetting for case SunOS | 
| 1093 | o added timer_stats.c routine for IBM SP3 | 
| 1094 | o removed variables in dynamics | 
| 1095 | !!! I forgot to create tag chkpt44d_pre !!! | 
| 1096 | !!! But chkpt44d_pre = chkpt44c_post    !!! | 
| 1097 |  | 
| 1098 | o real fresh water flux implemented with non-linear free-surface. | 
| 1099 |  | 
| 1100 | chkpt44c_pre,post | 
| 1101 | o few fix (mask in shap_s2, EmPmR in external_field_load, | 
| 1102 | USE_NATURAL_BCS in solve_for_P); | 
| 1103 | o add arguments myIter & myTime to S/R obcs_calc & solve_for_P | 
| 1104 |  | 
| 1105 | checkpoint44b_pre/_post | 
| 1106 | o merge of relevant stuff from the ecco-branch: | 
| 1107 | - genmake: removed $S64 overwrite for case SunOS | 
| 1108 | - pkg/exf: update and corrections for field swapping and obcs | 
| 1109 | - pkg/ecco: parameter lists for the_model_main, the_main_loop | 
| 1110 | harmonized between ECCO and MITgcm | 
| 1111 | - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice | 
| 1112 | updated checkpointing_lev... lists for obcs | 
| 1113 | - model/src: minor changes in forward_step, plot_field | 
| 1114 | added directive for divided adjoint in the_main_loop | 
| 1115 | - pkg/mdsio: added mdsio_gl_slice | 
| 1116 |  | 
| 1117 | o check parameters & config (chkpt44a_pre,post) | 
| 1118 | o OBC and NonLin_FrSurf. | 
| 1119 |  | 
| 1120 | checkpoint44 | 
| 1121 | o fix bug in mom_vi_del2uv | 
| 1122 | o select when filters are applied ; add options to zonal_filter (data.zonfilt) | 
| 1123 | o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection) | 
| 1124 | o update AIM experiments (NCEP input files) | 
| 1125 | o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf) | 
| 1126 | o added some stuff for AD | 
| 1127 |  | 
| 1128 | checkpoint43 | 
| 1129 | o added two new advection tests | 
| 1130 | o added global 4x4 degree ocean test | 
| 1131 | o added test of H&S94 with free surface on cube | 
| 1132 | o some final mods for gradient check, adjoint,... | 
| 1133 |  | 
| 1134 | checkpoint42 | 
| 1135 | Fixed AD-related problems: | 
| 1136 | o Store directives up-to-date with re-arranged Adams-Bashforth | 
| 1137 | (mainly thermodynamics.F) | 
| 1138 | o New store directives for multi-dim. advection schemes | 
| 1139 | * new CPP flag ALLOW_MULTI_DIM_ADVECTION | 
| 1140 | * new common block and key passkey | 
| 1141 | (mainly gad_advection.F) | 
| 1142 | o Modified store directives for split of dynamics/thermodynamics | 
| 1143 | for the case ALLOW_KPP | 
| 1144 | o Cleaned argument list for timestep_tracer.F | 
| 1145 |  | 
| 1146 | checkpoint41 | 
| 1147 | o re-formatted/added comments in prologues of key subroutines | 
| 1148 | to work with protex | 
| 1149 |  | 
| 1150 | checkpoint40 | 
| 1151 | o moved calc_gs, calc_gt and calc_tr1 back to model/src | 
| 1152 | o added FLT (floats) package from Arne along with demo. experiment | 
| 1153 | o re-arranged Adams-Bashforth scheme for tracers to allow easier | 
| 1154 | implementation of forward-in-time forcing terms | 
| 1155 | o more mods for non-linear free-surface including new variable | 
| 1156 | o modified multi-dim method to work on cube | 
| 1157 | o bug fix in KPP (from DM) | 
| 1158 |  | 
| 1159 | checkpoint40pre9 | 
| 1160 | o added DST advection schemes | 
| 1161 | o fix MPI bug on SGI's | 
| 1162 | o modifications for non-linear free-surface | 
| 1163 | o fixed conditionals for fixed flow/passive tracer only mode | 
| 1164 | o added tension/strain form of stress tensor | 
| 1165 | o changes to commenting of arguments for TAF/TAMC | 
| 1166 | o added/updated many matlab scripts | 
| 1167 | o added multi-dimensional advection method for tracers | 
| 1168 |  | 
| 1169 | checkpoint40pre8 | 
| 1170 | o new package rw/ | 
| 1171 | Added method for dumping intermediate local arrays: | 
| 1172 | mdsio_writetile - same as mdsio_writefield except works from inside | 
| 1173 | bi,bj loop | 
| 1174 | mdsio_writelocal - same as mdsio_writetile except works for local | 
| 1175 | arrays | 
| 1176 | write_local_r? - higher-level wrapper for mdsio_writelocal | 
| 1177 | Controlled by diagFreq. Defaults to zero (ie. no dumps) | 
| 1178 | Example given at end of mom_vecinv.F that dumps some local arrays. | 
| 1179 | o replaced calc_mom_rhs.F by mom_fluxform.F/mom_vecinc.F to | 
| 1180 | control flux-form versus vector invariant code. | 
| 1181 | Switch is runtime flag vectorInvariantMomentum (defaults to false) | 
| 1182 | or genmake -DISABLE ... | 
| 1183 | o TAMC-related update to cope with mom_fluxform.F/mom_vecinc.F | 
| 1184 | (additional storing is now needed for case vecinv; | 
| 1185 | currently nothing implemented to switch this storing off | 
| 1186 | in case fluxform is used since no CPP flag available). | 
| 1187 |  | 
| 1188 | checkpoint40pre7 | 
| 1189 | o bug fix in dynamics.F | 
| 1190 | calc_viscosity called before k=1,Nr loop. | 
| 1191 | o added some #ifdef's ALLOW_PASSIVE_TRACER | 
| 1192 | o cleaned initialisations in ctrl_map_ini | 
| 1193 | related to TAF | 
| 1194 |  | 
| 1195 | checkpoint40pre6 | 
| 1196 | o split dynamics into thermodynamics & dynamics | 
| 1197 | o corresponding split of calc_diffusivity into | 
| 1198 | calc_diffusivity, calc_viscosity | 
| 1199 | (kpp_calc_diff, kpp_calc_visc). | 
| 1200 | o Added diffkr, kapgm to control variables | 
| 1201 | o bug fix in gmredi_slope_limit for ldd97 | 
| 1202 |  | 
| 1203 | checkpoint40pre5 | 
| 1204 | o proper initialization of Adams-Bashforth time stepping | 
| 1205 | + uses forward step for very first step of model (iter=0) | 
| 1206 | o re-generated *all* output since almost all output is modified by this | 
| 1207 | change (sorry but we've been putting this one off for about 2 years) | 
| 1208 | + natl_box, aim.5l_Equatorial_Channel and aim.5l_zon-ave were | 
| 1209 | *not* regenerated since they are already out of date and I don't | 
| 1210 | want to create the impression that they are suddenly working. | 
| 1211 | o removed KAP stuff for DEC's | 
| 1212 | o modified/added many .cvsignore files in */code and */input | 
| 1213 | o added new expt "solid-body.cs-32x32x1" | 
| 1214 | + this uses an alternative form of ini_curvilinear_grid.F which | 
| 1215 | is not necessarily any better than the current one... | 
| 1216 |  | 
| 1217 | checkpoint40pre4 | 
| 1218 | o added re-initialisations of utrans,vtrans,rtrans in | 
| 1219 | calc_common_factors which are crucial for TAF. | 
| 1220 | o extended iMin,jMin range for calc_common_factors, | 
| 1221 | calc_diffusivity | 
| 1222 | o added option ALLOW_PASSIVE_TRACER | 
| 1223 | o a few minor updates and fixes | 
| 1224 |  | 
| 1225 | checkpoint40pre3 | 
| 1226 | o created calc_gtr1.F for gad package | 
| 1227 | o split the_main_loop and re-introduced forward_step | 
| 1228 | o some recomputations of nIter0 for TAMC | 
| 1229 |  | 
| 1230 | checkpoint40pre2 | 
| 1231 | o Updated to latest branch of AJA, JMC | 
| 1232 | o Added gradient check package | 
| 1233 | o Added routines for passive tracer handling | 
| 1234 | o Added carbon sequestration sensitivity experiment | 
| 1235 |  | 
| 1236 | checkpoint39 | 
| 1237 | o Modifications and fixes to support TAMC | 
| 1238 | (mainly missing or wrong directives) | 
| 1239 | o Corrected common blocks when fooling TAMC to produce adjoint I/O | 
| 1240 | in addummy_in_stepping | 
| 1241 | o Updated verification/vero/ (bug fixes in code/, correct pickups in input/) | 
| 1242 | o Enabled "sliced" (xz-,yz-) exchanges, needed for obcs. | 
| 1243 | o Included following packages: | 
| 1244 | cal: calendar | 
| 1245 | exf: external forcing | 
| 1246 | ecco: essential routines to control use of cal, exf | 
| 1247 | (NB: this is not the full ECCO environment) | 
| 1248 | o disabled some packages by default in genmake | 
| 1249 |  | 
| 1250 | checkpoint38 | 
| 1251 | o see notes_c37_adj.txt | 
| 1252 | o corrected wrong layer index in external_forcing_t | 
| 1253 | o replaced the_main_loop/forward_step by the_main_loop | 
| 1254 | o removed forceoutput from write_state | 
| 1255 | (replaced criteria for initial/final state) | 
| 1256 | o added runtime flag for pre-C35 pickups: usePickupBeforeC35 | 
| 1257 |  | 
| 1258 | checkpoint37 | 
| 1259 | o mdsio.F routine split and packaged in pkg/mdsio | 
| 1260 | (mdsio.F and mdsio_gl.F still exist in eesupp/src but are not | 
| 1261 | used unless genmake -disable=mdsio) | 
| 1262 | o allow a more precise surface-geopotential gradient for the atmosphere | 
| 1263 | taking into account the change in space of Alpha (=1/rho) at the surface. | 
| 1264 | o variable "etaN" (replace cg2d_x) is the surface R-anomaly [r unit] | 
| 1265 | (ocean: sea surface height [m] / atmos: surface pressure anomaly [Pa]) | 
| 1266 | o Change units: Phi_Hydrostatic (=phiHyd), Phi_Surface(=cg2d_x) and | 
| 1267 | Phi_NonHydrostatic (=cg3d_x), all have now the dimension of a potential | 
| 1268 | [m2/s2] (pressure/rhoConst in the ocean ; Geo-Potential in the atmosphere). | 
| 1269 | o Time-Average diagnostics defined as a pseudo package "timeave". | 
| 1270 | o pickup files : old pickup (before c35) did not work with new code (c35 | 
| 1271 | and after) unless activating 2 commented lines in initialise-varia. | 
| 1272 | o Non-Hydrostatic pickup file Pb fixed. | 
| 1273 | o bug with Rigid-lid version (since c35) fixed. | 
| 1274 |  | 
| 1275 | checkpoint36 | 
| 1276 | o implement Crank-Nickelson barotropic time-stepping | 
| 1277 | o recover Time-Average diagnostics | 
| 1278 | o fix Pb in checkpoint (PR#19) | 
| 1279 | o AIM become a standard package ; clean unused CPP_kees | 
| 1280 |  | 
| 1281 | checkpoint35 | 
| 1282 | o subtantial rewrite of dynamics.f | 
| 1283 | o allows staggered time-stepping | 
| 1284 | o packaged obcs, aim (Atmospheric Physics), zonal_filt, shap_filt | 
| 1285 | o added bottom drag (linear + quadratic) | 
| 1286 |  | 
| 1287 | checkpoint34 | 
| 1288 | o Modified exchange routines for correct reverse simulation. | 
| 1289 | o Added verification output to comply with bug fix in impldiff.F | 
| 1290 | as of c33 (exp2, natl_box). | 
| 1291 | o Corrected store directives in dynamics.F | 
| 1292 | o Corrected array boundaries in impldiff.F | 
| 1293 | o Corrected array dimensions in gmredi. | 
| 1294 | Added temporary scalars to avoid storage by TAMC (gmredi, kpp). | 
| 1295 | o Added routine GLOBAL_SUM_INT to global_sum.F | 
| 1296 | o Added mdsio_gl.F for ECCO purposes. | 
| 1297 |  | 
| 1298 | checkpoint33 | 
| 1299 | o Fixed bug in lower BC in impldiff.F | 
| 1300 | o Fixed confusion about units of forcing arrays in FFIELDS.h | 
| 1301 | namely Fu,Fv,Qnet,Qsw,EmPmR: | 
| 1302 | - Removed verification/natl_box/code/external_fields_scale.F | 
| 1303 | (did not differ from that in model/src) | 
| 1304 | - Changed units of fu,fv,Qnet,Qsw,EmPmR back to proper units | 
| 1305 | (see FFIELDS.h for description) | 
| 1306 | - Scale fu,fv,Qnet,Qsw,EmPmR when used in external_forcing_surf.F, | 
| 1307 | kpp_calc.F and kpp_transport_t.F | 
| 1308 | - Removed model/src/external_fields_scale.F and calls to it | 
| 1309 | - verification/natl_box uses flux data with "atmospheric" sign so | 
| 1310 | a special version of external_fields_load.F is used to | 
| 1311 | change the data as it's read in. This way, the arrays | 
| 1312 | have the right units and signs at all times tha a user could | 
| 1313 | possibly use them. | 
| 1314 | o Corrected genmake to delete a temporary file during configuration | 
| 1315 |  | 
| 1316 | checkpoint32 | 
| 1317 | o Scaling of forcing fields moved from external_forcing.F to | 
| 1318 | external_fields_scale.F, called directly after loading fields. | 
| 1319 | o Surface relaxation terms added to surface tendency fields in | 
| 1320 | extra subroutine. | 
| 1321 | o impldiff.F changed to avoid storing by TAMC of huge intermediate | 
| 1322 | fields. | 
| 1323 | o Changes in GMRedi to comply with packaging structure. | 
| 1324 | o Modifications and bug fixes in KPP package. | 
| 1325 | o Verification experiment for KPP added (verification/nat_box/) | 
| 1326 |  | 
| 1327 | checkpoint31 | 
| 1328 | o Packages interface brought in line with defined standard | 
| 1329 | -> new routines packages_...F | 
| 1330 | -> changes in initialise_fixed.F, initialise_varia.F | 
| 1331 | -> enables initialisation interface for ECCO package | 
| 1332 | o Rescaling of external forcing fields immediately after read | 
| 1333 | (removed from external_forcing.F) | 
| 1334 | -> new: surface_fields_scale.F | 
| 1335 | -> affects ini_foorcing.F, external_fields_load.F | 
| 1336 | o Computation of surface tendencies before tendency updates. | 
| 1337 | -> new: external_forcing_surf.F | 
| 1338 | o Change of variable names useGMRedi, useKPP, useECCO | 
| 1339 | o Further changes in dynamics.F, impldiff.F for TAMC | 
| 1340 | o Tested for experiments 0, 2, 4. | 
| 1341 | - not yet tested for GMRedi. | 
| 1342 | - not yet tested for KPP. | 
| 1343 |  | 
| 1344 | checkpoint30 | 
| 1345 | o Updates for OBCs | 
| 1346 | o New experiment for test OBCs (internal_wave) | 
| 1347 | o New output.txt in verification/exp4/results/ | 
| 1348 | o Updates for KPP: calculation of viscosity corrected, new variables | 
| 1349 | kpp_dumpFreq and kpp_taveFreq | 
| 1350 | o CPP'd calls to system routines for TARGET_CRAY_VECTOR (P.H.) | 
| 1351 | and entry for T90 in genmake | 
| 1352 |  | 
| 1353 | checkpoint29 | 
| 1354 | o packaged KPP and GM/Redi | 
| 1355 |  | 
| 1356 | checkpoint28 | 
| 1357 | o Corrected initialization of hFacMin for difference vertical coordinates | 
| 1358 | o Modified calculation of partial cell thickness to more robust algorithm | 
| 1359 | o config_summary.F: replaced write_1D_... by write_0D_... | 
| 1360 | read_write.F: added subroutines write_0D_... | 
| 1361 | o routines calc_common_factors, calc_gs, calc_gt, calc_phi_hyd, find_rho: | 
| 1362 | included some initialisations required for TAMC. | 
| 1363 | o routine calc_isoslopes: modified sqrt computation to make it | 
| 1364 | differentiable for zero argument. | 
| 1365 | o routines dynamics, impldiff: | 
| 1366 | included store directives and tape key computations required for TAMC. | 
| 1367 | o ALL TAMC related changes are between ifdef ALLOW_AUTODIFF_TAMC | 
| 1368 |  | 
| 1369 | checkpoint27 | 
| 1370 | o fixed calc_isoslopes() to so that cancellation of terms in tensor | 
| 1371 | formulation works properly with variable resolution. | 
| 1372 | o restructured the calling tree between the_model_main() and dynamics() | 
| 1373 | o split initialise() into initialise_fixed() and initialise_varia() | 
| 1374 | o introduced initialization file pSurfInitFile for free surface (cg2d_x) | 
| 1375 | in new routine ini_psurf() | 
| 1376 |  | 
| 1377 | checkpoint26 | 
| 1378 | o moved some #ifdef in optional routines to encompass everything | 
| 1379 | except the argument declarations. This was using up some memory. | 
| 1380 | o fixed macros like _ADT to work with both versions of Linux cpp | 
| 1381 | o cleaned up some unused and uninitialized variables | 
| 1382 | (helps when debugging with strict compile options) | 
| 1383 | o split up CPP_EEOPTIONS.h into options and macros | 
| 1384 | (macros are now in eesupp/inc/CPP_EEMACROS.h) | 
| 1385 | o patch for 2 processor JAM mode | 
| 1386 |  | 
| 1387 | checkpoint25 | 
| 1388 | o updates for OBCs and NH | 
| 1389 | o dramatically reduced memory usage | 
| 1390 | o added "JAM" routines for use on Artic network | 
| 1391 | o parameterization of convection by implicit vertical diffusion | 
| 1392 | o added a diagnostic of convective index | 
| 1393 | o moved call to calc_divg_hat() from dynamics() to solve_for_pressure() | 
| 1394 | (this is was partly for OBCs and NH but also in anticipation of | 
| 1395 | an explicit free-surface option) | 
| 1396 | o initial state input files for U and V | 
| 1397 |  | 
| 1398 | checkpoint24 | 
| 1399 | o Removed some spurious "REAL"s | 
| 1400 | o Updated KPP to latest version from JPL | 
| 1401 | o Added a COS(latitude) in horizontal viscosity | 
| 1402 |  | 
| 1403 | checkpoint23 | 
| 1404 | o Added del^4 diffusion for salt and temperature | 
| 1405 | o Multiple minor fixes (implicit none's, arguments to global_sum, etc.) | 
| 1406 |  | 
| 1407 | checkpoint22 | 
| 1408 | o Made many small changes: implicit none, format(i5), etc... | 
| 1409 | o Introduced KPP mixing scheme (compiles and runs but *not* tested) | 
| 1410 |  | 
| 1411 | checkpoint21 | 
| 1412 | o Introduced new I/O package that supports direct-access records (mdsio.F) | 
| 1413 | o Split-up mid-level I/O routines | 
| 1414 | o Updated input data for experiments 0,1,2,4 and 5 | 
| 1415 | o Finally removed the genmake.* scripts (everyone seems happy with genmake) | 
| 1416 |  | 
| 1417 | checkpoint20 | 
| 1418 | o Tidied up open-boundaries some more | 
| 1419 | o Added non-hydrostatic code | 
| 1420 | o Fixed some input data | 
| 1421 | o Modified MPI start-up to work in "coupled" context. | 
| 1422 |  | 
| 1423 | checkpoint19 | 
| 1424 | o Tidied up directory structure for verification experiments. | 
| 1425 | o Added new code for open boundaries. | 
| 1426 | o Corrected advective terms near boundaries. | 
| 1427 | o Added CPP flag for "old UV" geometry and corrected spherical geometry. | 
| 1428 | o Implemented free-slip/no-slip BCs and del^4 dissipation. | 
| 1429 | o Split default parameters out of ini_parms.F into set_defaults.F. | 
| 1430 |  | 
| 1431 | checkpoint18 | 
| 1432 | o Further changes for optional code generation with | 
| 1433 | CPP - ugh! | 
| 1434 |  | 
| 1435 | checkpoint17 | 
| 1436 | o Beginning to incorporating modularity | 
| 1437 | for supporting atmos. and ocean configs. | 
| 1438 | o Small changes for TAMC complinace | 
| 1439 | o New ultra simple test case. Barotropic box | 
| 1440 | configuration "exp0". | 
| 1441 |  | 
| 1442 | checkpoint16 | 
| 1443 | o Minor changes to exchange routines to support | 
| 1444 | accumulation in reverse mode. Adjoint of an | 
| 1445 | assignment is an addition. | 
| 1446 | o Changes to support compilation by TAMC (LR(1) | 
| 1447 | syntax) and by g77 under Linux ( 72 character | 
| 1448 | limit ). | 
| 1449 |  | 
| 1450 | checkpoint15 | 
| 1451 | Rewrote exchange routines to allow | 
| 1452 | o General tile <-> tile connectivity. | 
| 1453 | o TAMC reverse mode flag ( is this really needed? ) | 
| 1454 | o Variable width overlap and exchange region widths. | 
| 1455 | o Hooks for sharing data via DMA, Arctic, Memory Channel, | 
| 1456 | shmput/shmget, VIA, SYSV shmem and every other cool | 
| 1457 | communication method. | 
| 1458 |  | 
| 1459 | checkpoint14 | 
| 1460 | Consistent isomorphism chages made. These allow dynamical core | 
| 1461 | to support both pressure and meters as a vertical coordinate. | 
| 1462 |  | 
| 1463 | checkpoint13 | 
| 1464 | Release which corrects global_max problem and a couple | 
| 1465 | of KGM time-averaging diagnostic errors. Also contains | 
| 1466 | a double-gyre experiment setup as well as the baseline | 
| 1467 | 4 degree global template. The double gyre template is | 
| 1468 | organised to allow it to be applied automatically to | 
| 1469 | the baseline configuration. | 
| 1470 |  | 
| 1471 | branch-point-rdot | 
| 1472 | A few tidy-ups have been made bt the real point of this | 
| 1473 | check-point (excuse the pun) is to allow a branch to be | 
| 1474 | made for the purposes of adding the rDot alterations. | 
| 1475 | I don't want to commit the rDot to the main-trunk until | 
| 1476 | we've actually tested it... | 
| 1477 |  | 
| 1478 | checkpoint12 | 
| 1479 | Tidy up and added generic genmake script (formerly | 
| 1480 | configure script). | 
| 1481 | Released to testers. | 
| 1482 |  | 
| 1483 | checkpoint11 | 
| 1484 | Re-arranged initialise() and introduced ini_vertical_grid() | 
| 1485 | and ini_masks_etc(). | 
| 1486 |  | 
| 1487 | checkpoint10 | 
| 1488 | Introduced the configure script. | 
| 1489 | Separated out the diags package. | 
| 1490 | Added template for writing time-averages of tile/intermediate quantities. | 
| 1491 | Updated SIZE.h in exp2 and made the data big-endian. | 
| 1492 |  | 
| 1493 | checkpoint9 | 
| 1494 | MPI fix. Filename changes (meta/data). salbin*y stuff. | 
| 1495 | General tidy-up. | 
| 1496 | SST.bin SSS.bin added to verification/exp2 | 
| 1497 |  | 
| 1498 | checkpoint8 | 
| 1499 | Inludes time-dependant forcing and time-averaging. | 
| 1500 | Works at 4x4 and 2.8125x2.8125 global | 
| 1501 |  | 
| 1502 | checkpoint7-4degree-ref | 
| 1503 | Branch from checkpoint7. Released for application to | 
| 1504 | global modeling and general modeling - process studies, regional | 
| 1505 | model etc.. | 
| 1506 | Configured for verification/exp2 - 4 degree global, two process. | 
| 1507 |  | 
| 1508 | checkpoint7 | 
| 1509 | Created by cnh | 
| 1510 | Simple 4 degree global simulation | 
| 1511 | configuration. | 
| 1512 | Includes climatological wind, | 
| 1513 | hydrography, bathymetry etc | 
| 1514 | Does not include Heat Flux and E-P | 
| 1515 |  | 
| 1516 | checkpoint6 | 
| 1517 | Created by cnh | 
| 1518 | merged checkpoint5 with CD and | 
| 1519 | spherical polar code. | 
| 1520 | Still some problems with GM Redi | 
| 1521 | abd full topography. | 
| 1522 |  | 
| 1523 | checkpoint5 | 
| 1524 | Created by AJA | 
| 1525 | contains updates to GM Redi | 
| 1526 | and reordered timestepping loop | 
| 1527 | for Implicit Diffusion. | 
| 1528 |  | 
| 1529 | checkpoint4 | 
| 1530 | Created by cnh | 
| 1531 | Contains memory saving macros ( _rdxc etc..) for when | 
| 1532 | grid variations are limited. | 
| 1533 | Contains polynomial coeffs for EOS and knudsen program | 
| 1534 | for generation. | 
| 1535 |  | 
| 1536 | checkpoint3 | 
| 1537 | Created by cnh | 
| 1538 | Added extra flags for runtime options | 
| 1539 | Added this file | 
| 1540 | Added implicit free-surface | 
| 1541 | Added pre-conditioner | 
| 1542 | Put compare01 into repository ( compare01/... ) | 
| 1543 | Put data and eedata into repository ( verification/exp1 ) | 
| 1544 |  | 
| 1545 | checkpoint2 | 
| 1546 | Created by AJA | 
| 1547 | Added GM/Redi | 
| 1548 |  | 
| 1549 | checkpoint1 | 
| 1550 | Created by AJA | 
| 1551 | Restructured kloop in dynamics.F | 
| 1552 | Added non-linear EOS | 
| 1553 |  | 
| 1554 | baseline | 
| 1555 | Original checked in code |