Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint46j_pre: | (view) (download) (annotate) |
Sticky Tag: |
o Include a new diagnostic variable phiHydLow for the ocean model - in z-coordinates, it is the bottom pressure anomaly - in p-coordinates, it is the sea surface elevation - in both cases, these variable have global drift, reflecting the mass drift in z-coordinates and the volume drift in p-coordinates - included time averaging for phiHydLow, be aware of the drift! o depth-dependent computation of Bo_surf for pressure coordinates in the ocean (buoyancyRelation='OCEANICP') - requires a new routine (FIND_RHO_SCALAR) to compute density with only Theta, Salinity, and Pressure in the parameter list. This routine is presently contained in find_rho.F. This routine does not give the correct density for 'POLY3', which would be a z-dependent reference density. o cleaned up find_rho - removed obsolete 'eqn' from the parameter list. o added two new verification experiments: gop and goz (4x4 degree global ocean, 15 layers in pressure and height coordinates)
Merging from release1_p5 (cf. tag-index for checkpoint46).
Oly must be > 3 when using an advection scheme other than 2nd O and staggerTimeStep & multiDimAdvection & GM_AdvForm & not.GM_AdvSeparate Add an exchange of gT,gS in this case.
Add new flags: * T,S forcing outside Adams-Bashforh * temp,salt Advection and Forcing (turn on/off) * for each tracer: internal flag for multiDimAdvection & A-B
Included CPP option SINGLE_LAYER_MODE to configure barotropic setup (Martin Losch).
extend the computation domain of Rho to cover the whole domain. (necessary when using GM-Advect form + stagger time step with Olx=Oly=3)
o Modified initialisations to break adjoint dependencies o removed some store directives o added options files for KPP, GMREDI
add GM-bolus transport to Eulerian transport to advect Tracers (T,S, ...)
Bug fix: Missing #ifdef's for when PTRACERS are not enabled.
Added PTRACERS package This allows an arbitrary number of passive tracers to be integrated forward simultaneously with the dynamicaly model. + Implemented so far: - basic forward algorithm (time-stepping, advection, diffusion, convection) - I/O and checkpointing - GM/Redi *but* using the GM/Redi coefficient of Salt + Not implemented so far: - KPP - OBCS + No specific example supplied (yet) but global_ocean.90x40x15 has the necessary data.ptracer file. Simply use -enable=ptracers and uncomment line in data.pkg. PTRACER01 then reproduces Salt exactly. + This package is disabled by default since it increases storage.
add argument myIter to S/R obcs_calc
put the k loop inside S/R gmredi_calc_tensor
fix diagnostic of convective adjustment (IVDC) (broken since thermo-/dynamics split)
Removed CPP connection between DISABLE_MULTIDIM_ADVECTION and ALLOW_AUTODIFF_TAMC. o ie. removed #ifdef ALLOW_AUTODIFF_TAMC from GAD_OPTIONS.h o updated comments in thermodynamics.F to reflect this change
Switched sense of CPP macro for controlling multi-dimensional advection: o DISABLE_MULTIDIM_ADVECTION is set in GAD_OPTIONS.h o automatically set if differentiating code (comments around call to gad_advection point out how to re-enable it) o this avoids needing to add the former macro to CPP_OPTIONS.h - reason for this is there's no point in any of the new schemes without it.
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
Deleted apostrophies in comments: "Isn't" breaks cpp...
Bringing comments up to data and formatting for document extraction.
Corrected parameter lists for case tr1stepping.
Re-arranged sequence of operations for Adams-Bashforth o this does not change numbers o this makes it very easy to extract forcing/diffusion out of ABII by changing calling sequence in calc_gt, calc_gs,... Key modifications: o new s/r: ADAMS_BASHFORTH2 gT=3/2*gT-1/2*gTnm1 o changed TIMESTEP_TRACER from gTnm1=t+dt*(3/2*gT-1/2*gTnm1) to gT=T+dt*gT o changed CALC_GT,CALC_GS & CALC_GTR1 to calcuate "gT" defined by new timestep_tracer (ie. including forcing, ABII, N-L F-S, etc...) now calls ADAMS_BASHFORTH2 and FREESURF_RESCALE_G o changed CYCLE_TRACER appropriately T=gT only Other associated mods: o new s/r: FREESURF_RESCALE_G applies non-linear free-surface term this used to be in TIMESTEP_TRACER o added myIter as argument to CALC_GS,CALC_GT,CALC_GTR1
Reinstate calls to advection routines after gratuitous commenting removed them in previous update! :^)
Include initialisation of gTracer fields to break dependency for TAF.
Added multi-dimensional form of advection o available only for single step schemes (ie. can't be used with ABII) o stable for max(cfl_u,cfl_v,cfl_w)<=1 (without cfl_u+cfl_v+cfl_w <=1) o selected using multiDimAdvection=.T. (default) o had to hack some existing routines to work on local arrays
Added run-time control of advection schemes. - advection scheme determines method of forward integration. - unfortunately, we have to use integers in "data" since ENUM_CENTERED_2ND doesn't mean anything to fortran - defaults are centered second - output differs due to these mods! This is due to the g77 optimization. I have tested that using -ffloat-store, these mods do not affect the output so am confident about changes. T S U V C D M c m s m s m s m s n p a R g m m e . m m e . m m e . m m e . f n k u 2 i a a d i a a d i a a d i a a d g d e n d n x n . n x n . n x n . n x n . Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 16 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass adjustment.cs-32x32x1 Y Y N N -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- N/O aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_LatLon Y Y N N -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- N/O aim.5l_zon-ave Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 pass exp0 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 pass exp1 Y Y Y Y 13 16 16 16 16 16 16 16 13 16 13 13 13 13 13 13 16 pass exp2 Y Y Y Y 12 16 16 13 16 16 16 16 16 13 16 16 16 16 13 13 16 FAIL 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 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 11 16 pass hs94.128x64x5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 22 16 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 pass hs94.cs-32x32x5 Y Y Y Y 16 16 16 22 16 16 16 16 16 16 16 22 16 16 16 16 16 pass internal_wave Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass natl_box Y Y Y Y 16 16 16 16 16 13 16 13 16 16 16 16 16 16 16 16 16 pass solid-body.cs-32x32x1
Modifications related to split into thermodynamics.F, dynamics.F o missing initialisations in dynamics.F added o some fields no longer needed in dynamics/thermodynamics deleted o split of calc_diffusivity.F into calc_viscosity.F (plus split of kpp_calc_diff.F into kpp_calc_visc.F) o Modifications of some store directives for TAF
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.
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 |