Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint48i_post: | (view) (download) (annotate) |
Sticky Tag: |
Changes to restore differentiability of code w.r.t. previous tag (mostly adding new routines to make list and replacing pressure by totPhiHyd).
Merging from release1_p12: o Modifications for using pkg/exf with pkg/seaice - improved description of the various forcing configurations - added basic radiation bulk formulae to pkg/exf - units/sign fix for evap computation in exf_getffields.F - updated verification/global_with_exf/results/output.txt o Added pkg/sbo for computing IERS Special Bureau for the Oceans (SBO) core products, including oceanic mass, center-of-mass, angular, and bottom pressure (see pkg/sbo/README.sbo). o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F to avoid negative values in shallow regions. - updated verification/natl_box/results/output.txt - updated verification/lab_sea/results/output.txt o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F o Added useSingleCpuIO option (see PARAMS.h). o Updated useSingleCpuIO option in mdsio_writefield.F to work with multi-field files, e.g., for single-file pickup. o pkg/seaice: - bug fix in growth.F: QNET for no shortwave case - added HeffFile for specifying initial sea-ice thickness - changed SEAICE_EXTERNAL_FLUXES wind stress implementation o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, kpp_transport_t.F, forward_step.F, and the_main_loop.F o pkg/seaice: - adjoint-friendly modifications - added a SEAICE_WRITE_PICKUP at end of the_model_main.F
Modifications in treatment of initial flux forcing controls to avoid extra storing of flux fields.
r* coordinate added in #ifdef NONLIN_FRSURF block. (modification to pressure gradient not yet implemented)
fix bug in TIMER_STOP 'UPDATE_CG2D' that was causing lot of WARNING.
Moved appropriate exchanges from forward_step to inside addummy_in_stepping. Will have to see whether that's also consistent with the ecco-branch.
checkpoint47f_post Merging from release1_p10: o modifications for using pkg/exf with pkg/seaice - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING and SEAICE_EXTERNAL_FLUXES - pkg/exf CPP options EXF_READ_EVAP and EXF_NO_BULK_COMPUTATIONS - usage examples are Experiments 8 and 9 in verification/lab_sea/README - verification/lab_sea default experiment now uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf
add a call to TIMER_STOP that was missing.
Fixing the exchange routines in bulk forcing so that they work with the cubed sphere model.
Fixing #ifdef so that useseaice is mutually exclusive with bulk forcing (which uses thermodynamic seaice).
Pb in lab_sea experiment was easy to fixa (CALL SEAICE_MODEL)
Two packages: bulk_force (Bulk forcing) and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2 Earlier integration from Stephaine Dutkiewicz and Patrick Heimbach. Two ifdef statements for compile time, ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE Two switches in data.pkg to turn on at run-time: cat data.pkg # Packages &PACKAGES useBulkForce=.TRUE., useThermSeaIce=.TRUE., & WARNING: useSEAICE and useThermSEAICE are mutually exclusive. The bulk package requires an additional parameter file with two namelists, data.ice and data.blk. c ADAPTED FROM: c LANL CICE.v2.0.2 c----------------------------------------------------------------------- c.. thermodynamics (vertical physics) based on M. Winton 3-layer model c.. See Bitz, C. M. and W. H. Lipscomb, 1999: "An energy-conserving c.. thermodynamic sea ice model for climate study." J. Geophys. c.. Res., 104, 15669 - 15677. c.. Winton, M., 1999: "A reformulated three-layer sea ice model." c.. Submitted to J. Atmos. Ocean. Technol. c.. authors Elizabeth C. Hunke and William Lipscomb c.. Fluid Dynamics Group, Los Alamos National Laboratory c-----------------------------------------------------------------------
Fixing bug - there is an #ifdef in the incorrect place, and consequently, bulk_forcing never gets called.
Two packages: bulk_forcing (Bulk forcing) and thermodynamic_seaice (adapted from LANL CICE.v2.0.2) Earlier integration from Stephaine Dutkiewicz and Patrick Heimbach. Two ifdef statements for compile time, ALLOW_TSEAICE and ALLOW_BULKFORMULA Two switches in data.pkg to turn on at run-time: cat data.pkg # Packages &PACKAGES useBulkf=.TRUE., useTSeaIce=.TRUE., & The bulk package requires an additional parameter file with two namelists. cat data.blk &BULKF_PARM01 RainFile= 'ncep_precip_m_cubed.bin', SolarFile= 'ncep_downsolr_cubed.bin', AirTempFile= 'ncep_tair_cubed.bin', AirhumidityFile='ncep_qair_g_cubed.bin', LongwaveFile= 'ncep_netlw_cubed.bin', UWindFile= 'ncep_uwind_cubed.bin', VWindFile= 'ncep_vwind_cubed.bin', WspeedFile= ' ', RunoffFile= ' ', QnetFile= ' ', EmPFile= 'ncep_emp_calc_cubed.bin', CloudFile= 'ncep_totalcloud_cubed.bin', & &BULKF_PARM02 qnet_off=0.0, empmr_off=0.0, conservcycle=311040000., & c ADAPTED FROM: c LANL CICE.v2.0.2 c----------------------------------------------------------------------- c.. thermodynamics (vertical physics) based on M. Winton 3-layer model c.. See Bitz, C. M. and W. H. Lipscomb, 1999: "An energy-conserving c.. thermodynamic sea ice model for climate study." J. Geophys. c.. Res., 104, 15669 - 15677. c.. Winton, M., 1999: "A reformulated three-layer sea ice model." c.. Submitted to J. Atmos. Ocean. Technol. c.. authors Elizabeth C. Hunke and William Lipscomb c.. Fluid Dynamics Group, Los Alamos National Laboratory c----------------------------------------------------------------------- WARNING: useSEAICE and useTSEAICE are mutually exclusive. todo: thermodynamic.F should be reviewed and cleaned up a bit.
differentiable version of checkpoint46n_post o external_fields_load now part of differentiation list o pressure needs multiple storing; would be nice to have store_pressure at beginning or end of forward_step, e.g. by having phiHyd global (5-dim.) (NB: pressure is needed for certain cases in find_rho, which is also invoked through convective_adjustment). o recomputations in find_rho for cases 'JMD95'/'UNESCO' or 'MDJWF' are OK. o #define ATMOSPHERIC_LOADING should be differentiable o ini_forcing shifted to begining of initialise_varia
Merging from release1_p8 branch: o external_fields_load: - added this routine to TAF list - needed to make some common blocks global and additional storing along the same lines as exf package (checkpoint_lev?_directives.h)
* split calc_exact_eta in 2 S/R : integr_continuity & update_etaH * move wVel computation at the end of the time step, in S/R integr_continuity * create specific S/R to exchange T,S before DYNAMICS (for stagger time step) * update timeave pkg for wVel diagnostic ; put convertEmP2rUnit in PARAMS.h
Merging from release1_p5 (cf. tag-index for checkpoint46).
* need to call UPDATE_SURF_DR even if momStepping=F (RealFreshWater)
Included CPP option ALLOW_AUTODIFF_MONITOR to enable/disable use of adcommon.h/g_common.h
add argument myIter & myTime to S/R routine solve_for_pressure
o merge of relevant stuff from the ecco-branch: - genmake: removed $S64 overwrite for case SunOS - pkg/exf: update and corrections for field swapping and obcs - pkg/ecco: parameter lists for the_model_main, the_main_loop harmonized between ECCO and MITgcm - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice updated checkpointing_lev... lists for obcs - model/src: minor changes in forward_step, plot_field added directive for divided adjoint in the_main_loop - pkg/mdsio: added mdsio_gl_slice
small changes associated with NonLin_FreeSurf option : * initialization (ini_psurf.F); * dump hFac fields (write_state.F); * avoid unnecessary re-computation (forward_step.F initialise_varia.F calc_surf_dr.F);
Transfering major checkpoint store directive blocks to separate header files. Files are included in the_main_loop (lev3, lev2) and forward_step (lev1).
add options to select where the filters apply in the time-step
o Bugfix in adcommon.h: commen blocks were adjusted to latest common block structure in DYNVARS.h o placed a do_field_blocking_exchanges after dummy_in_stepping to ensure that addummy_in_stepping is preceded by exchanges.
#ifdef autodiff removed for future generalizations.
apply Shapiro filter on T,S before computing Phi_Hyd when stagger time stepping is used.
Fixed AD-related problems: o Store directives up-to-date with re-arranged Adams-Bashforth (mainly thermodynamics.F) o New store directives for multi-dim. advection schemes * new CPP flag ALLOW_MULTI_DIM_ADVECTION * new common block and key passkey (mainly gad_advection.F) o Modified store directives for split of dynamics/thermodynamics for the case ALLOW_KPP o Cleaned argument list for timestep_tracer.F
Bringing comments up to data and formatting for document extraction.
"Volume exact-Conservation" modified for non-linear free-surface + Crank-Nickelson
Added package "flt". o pkg/flt o verification/flt_example o visualization of trajectories supplied o works but output not available to testscript
Added some missing conditionals so that fixed/flow passive tracer experiments don't do any dyunamics.
modified to incorporate NonLin-FreeSurf
Moved TR1.h headers between ifdef ALLOW_PASSIVE_TRACER.
Modification for adjoint.
Split dynamics.F into dynamics.F and thermodynamics.F - idea is to make algorithm more transparent??? - probably less efficient - has exchanges at end of thermodynamics.F (which are needed if using staggered time-stepping with the cube OR using AIM.
Moved dummy_in_stepping routine to different place.
Commented out calls for Shapiro and zonal filters. JMC had moved these from the_main_loop.F to the_correction_step.F but had disabled them in the_main_loop.F by overriding CPP options. When PH re-instated forward_step.F the options weren't overridden. Commenting out seems safer.
o Extracted core part of the_main_loop and re-created forward_step N.B.: Time-dependent part of cost function should remain in the_main_loop (or contributions must be stored) o Added some parameter recomputations of nIter0
See doc/tag-index and doc/notes_c37_adj.txt Preparation for stand-alone autodifferentiability.
separate the state variable "eta" from the 2D solver solution cg2d_x
apply shap_filter to U,V when Crank-Nickelson time step is used
use "zonal_filt_lat < 90." as a running flag for zonal FFT filter
move the IO at the end of a time step
Made sure each .F and .h file had the CVS keywords Header and Name at its start. Most had header but very few currently have Name, so lots of changes!
Merged changes from branch "branch-atmos-merge" into MAIN (checkpoint34) - substantial modifications to algorithm sequence (dynamics.F) - packaged OBCS, Shapiro filter, Zonal filter, Atmospheric Physics
Rescaling of forcing fields done immediately after reading fields.
Change call to load_external_fields -> external_fields_load Tested for exp(0,2,4).
Moved the writing of time-averages to do_the_model_io().
Restructered the calling tree between THE_MODEL_MAIN() and DYNAMICS(). Two calling levels have been inserted to better split the "fixed" initialization phase from the main time-loop for easier connectivity with the adjoint infrastructure. The calling tree now looks like: the_model_main: initialise_fixed() the_main_loop() the_main_loop: initialise_varia() do i=1,nIters forward_step() enddo forward_step() forward_step: load_external_fields() dynamics() do_the_model_io() solve_for_pressure() do_gterm_blocking_exchanges() write_checkpoint()
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.22 |