|
||||
File indexing completed on 2022-11-23 06:10:40 UTC
view on githubraw file Latest commit 20dee616 on 2022-11-22 15:45:38 UTC20dee61641 Mart*0001 CBOP 0002 C !ROUTINE: tamc.h 0003 C !INTERFACE: 0004 C #include "tamc.h" bce9e67dfb Matt*0005 20dee61641 Mart*0006 C !DESCRIPTION: 0007 C *================================================================* 0008 C | tamc.h 0009 C | o Header file defining parameters and variables for the use of 0010 C | the Tangent Linear and Adjoint Model Compiler (TAMC) 0011 C | or the Transformations in Fortran tool (TAF). 0012 C | 0013 C | started: Christian Eckert eckert@mit.edu 04-Feb-1999 0014 C | changed: Patrick Heimbach heimbach@mit.edu 06-Jun-2000 0015 C | cleanup: Martin Losch Martin.Losch@awi.de Nov-2022 0016 C *================================================================* 0017 CEOP 0018 #ifdef ALLOW_AUTODIFF_TAMC bce9e67dfb Matt*0019 20dee61641 Mart*0020 C TAMC checkpointing parameters: 0021 C ============================== 0022 C 0023 C The checkpointing parameters have to be consistent with other model 0024 C parameters and variables. This has to be checked before the model is 0025 C run. 0026 C bce9e67dfb Matt*0027 0028 #ifdef ALLOW_TAMC_CHECKPOINTING 0029 20dee61641 Mart*0030 C nchklev_1 :: length of inner loop (=size of storage in memory) 0031 C nchklev_2 :: length of second loop (stored on disk) 0032 C nchklev_3 :: length of outer loop of 3-level checkpointing 0033 INTEGER nchklev_1 0034 PARAMETER( nchklev_1 = 9 ) 0035 INTEGER nchklev_2 0036 PARAMETER( nchklev_2 = 8 ) 0037 INTEGER nchklev_3 0038 PARAMETER( nchklev_3 = 1 ) 0039 #ifdef AUTODIFF_4_LEVEL_CHECKPOINT 0040 C nchklev_4 :: length of outer loop of 4-level checkpointing 0041 INTEGER nchklev_4 0042 PARAMETER( nchklev_4 = 1 ) 0043 #endif bce9e67dfb Matt*0044 20dee61641 Mart*0045 C-- Note always check for the correct sizes of the common blocks! 0046 C The product of the nchklev_X needs to be at least equal to 0047 C nTimeSteps. bce9e67dfb Matt*0048 0049 #else /* ALLOW_TAMC_CHECKPOINTING undefined */ 0050 20dee61641 Mart*0051 C Without ALLOW_TAMC_CHECKPOINTING, nchklev_1 needs to be at least 0052 C equal to nTimeSteps. This (arbitrary) setting would accommodate a 0053 C short run (e.g., 10.d with deltaT=10.mn) 0054 INTEGER nchklev_1 0055 PARAMETER( nchklev_1 = 1500 ) bce9e67dfb Matt*0056 0057 #endif /* ALLOW_TAMC_CHECKPOINTING */ 0058 20dee61641 Mart*0059 C TAMC keys: 0060 C ========== 0061 C 0062 C The keys are used for storing and reading data of the reference 0063 C trajectory. Currently there is only one global key. 0064 C ikey_dynamics :: key for main time stepping loop bce9e67dfb Matt*0065 20dee61641 Mart*0066 COMMON /TAMC_KEYS_I/ ikey_dynamics 0067 INTEGER ikey_dynamics bce9e67dfb Matt*0068 20dee61641 Mart*0069 C isbyte :: precision of tapes (both memory and disk). 0070 C For more accurate but larger tapes replace 4 by 8. bce9e67dfb Matt*0071 INTEGER isbyte 20dee61641 Mart*0072 PARAMETER( isbyte = 4 ) 0073 0074 C maxpass :: maximum number of (active + passive) tracers 0075 C Note: defined in PTRACERS_SIZE.h if compiling pkg/ptracers 0076 #ifndef ALLOW_PTRACERS bce9e67dfb Matt*0077 INTEGER maxpass 20dee61641 Mart*0078 PARAMETER( maxpass = 2 ) bce9e67dfb Matt*0079 #endif 20dee61641 Mart*0080 C maxcube :: for Multi-Dim advection, max number of horizontal directions bce9e67dfb Matt*0081 INTEGER maxcube 20dee61641 Mart*0082 PARAMETER( maxcube = 2 ) 0083 0084 #ifdef ALLOW_CG2D_NSA 0085 C Parameter that is needed for the tape complev_cg2d_iter 0086 C cannot be smaller than the allowed number of iterations in cg2d 0087 C (numItersMax >= cg2dMaxIters in data-file) 0088 INTEGER numItersMax 0089 PARAMETER ( numItersMax = 100 ) 0090 #endif bce9e67dfb Matt*0091 20dee61641 Mart*0092 #endif /* ALLOW_AUTODIFF_TAMC */ 0093 C ================================================================ 0094 C END OF HEADER TAMC 0095 C ================================================================
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated from https://github.com/MITgcm/MITgcm by the 2.2.1-MITgcm-0.1 LXR engine. The LXR team |