Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint44e_post: | (view) (download) (annotate) |
Sticky Tag: |
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 |