1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
|
#include "PACKAGES_CONFIG.h" |
5 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
6 |
|
|
7 |
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
8 |
CBOP |
CBOP |
9 |
C !ROUTINE: INI_PARMS |
C !ROUTINE: INI_PARMS |
10 |
C !INTERFACE: |
C !INTERFACE: |
11 |
SUBROUTINE INI_PARMS( myThid ) |
SUBROUTINE INI_PARMS( myThid ) |
|
C !DESCRIPTION: \bv |
|
|
C *==========================================================* |
|
|
C | SUBROUTINE INI_PARMS |
|
|
C | o Routine to set model "parameters" |
|
|
C *==========================================================* |
|
|
C | Notes: |
|
|
C | ====== |
|
|
C | The present version of this routine is a place-holder. |
|
|
C | A production version needs to handle parameters from an |
|
|
C | external file and possibly reading in some initial field |
|
|
C | values. |
|
|
C *==========================================================* |
|
|
C \ev |
|
12 |
|
|
13 |
|
C !DESCRIPTION: |
14 |
|
C Routine to set model "parameters". |
15 |
|
|
16 |
C !USES: |
C !USES: |
17 |
IMPLICIT NONE |
IMPLICIT NONE |
|
C === Global variables === |
|
18 |
#include "SIZE.h" |
#include "SIZE.h" |
19 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
20 |
#include "PARAMS.h" |
#include "PARAMS.h" |
21 |
#include "GRID.h" |
#include "GRID.h" |
22 |
#include "EOS.h" |
#include "EOS.h" |
23 |
|
#ifdef ALLOW_MNC |
24 |
|
#include "MNC_PARAMS.h" |
25 |
|
#endif |
26 |
|
|
27 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
|
C === Routine arguments === |
|
28 |
C myThid - Number of this instance of INI_PARMS |
C myThid - Number of this instance of INI_PARMS |
29 |
INTEGER myThid |
INTEGER myThid |
30 |
|
|
31 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
|
C === Local variables === |
|
32 |
C dxSpacing, dySpacing - Default spacing in X and Y. |
C dxSpacing, dySpacing - Default spacing in X and Y. |
33 |
C Units are that of coordinate system |
C Units are that of coordinate system |
34 |
C i.e. cartesian => metres |
C i.e. cartesian => metres |
110 |
_RL diffKzS |
_RL diffKzS |
111 |
_RL diffKpS |
_RL diffKpS |
112 |
|
|
113 |
|
C IO Parameters |
114 |
|
LOGICAL pickup_write_ioinc, timeave_ioinc |
115 |
|
LOGICAL snapshot_ioinc, monitor_ioinc |
116 |
|
|
117 |
C Retired main data file parameters. Kept here to trap use of old data files. |
C Retired main data file parameters. Kept here to trap use of old data files. |
118 |
C zonal_filt_lat - Moved to package "zonal_filt" |
C zonal_filt_lat - Moved to package "zonal_filt" |
119 |
C nRetired :: Counter used to trap gracefully namelists containing "retired" |
C nRetired :: Counter used to trap gracefully namelists containing "retired" |
121 |
C or that have moved to a different input file and/or namelist. |
C or that have moved to a different input file and/or namelist. |
122 |
_RL zonal_filt_lat |
_RL zonal_filt_lat |
123 |
INTEGER nRetired |
INTEGER nRetired |
|
CEOP |
|
124 |
|
|
125 |
C-- Continuous equation parameters |
C-- Continuous equation parameters |
126 |
NAMELIST /PARM01/ |
NAMELIST /PARM01/ |
181 |
& startTime, endTime, chkPtFreq, |
& startTime, endTime, chkPtFreq, |
182 |
& dumpFreq, adjDumpFreq, taveFreq, tave_lastIter, deltaTClock, |
& dumpFreq, adjDumpFreq, taveFreq, tave_lastIter, deltaTClock, |
183 |
& diagFreq, monitorFreq, pChkPtFreq, cAdjFreq, |
& diagFreq, monitorFreq, pChkPtFreq, cAdjFreq, |
184 |
& mon_iotype, |
& pickup_write_ioinc, timeave_ioinc, |
185 |
|
& snapshot_ioinc, monitor_ioinc, |
186 |
& tauThetaClimRelax, tauSaltClimRelax, latBandClimRelax, |
& tauThetaClimRelax, tauSaltClimRelax, latBandClimRelax, |
187 |
& tauTr1ClimRelax, |
& tauTr1ClimRelax, |
188 |
& periodicExternalForcing, externForcingPeriod, externForcingCycle |
& periodicExternalForcing, externForcingPeriod, externForcingCycle |
205 |
& dQdTFile, ploadFile,tCyl, |
& dQdTFile, ploadFile,tCyl, |
206 |
& mdsioLocalDir, |
& mdsioLocalDir, |
207 |
& the_run_name |
& the_run_name |
208 |
|
CEOP |
209 |
|
|
210 |
C |
C |
211 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
224 |
usingZCoords = .FALSE. |
usingZCoords = .FALSE. |
225 |
coordsSet = 0 |
coordsSet = 0 |
226 |
|
|
227 |
|
C Initialize local IO flags |
228 |
|
pickup_write_ioinc = .FALSE. |
229 |
|
timeave_ioinc = .FALSE. |
230 |
|
snapshot_ioinc = .FALSE. |
231 |
|
monitor_ioinc = .FALSE. |
232 |
|
|
233 |
C-- Iniialise retired parameters to unlikely value |
C-- Iniialise retired parameters to unlikely value |
234 |
nRetired = 0 |
nRetired = 0 |
235 |
zonal_filt_lat = UNSET_RL |
zonal_filt_lat = UNSET_RL |
728 |
IF (monitorFreq.EQ.0.) monitorFreq=deltaTclock |
IF (monitorFreq.EQ.0.) monitorFreq=deltaTclock |
729 |
ENDIF |
ENDIF |
730 |
|
|
731 |
|
#ifdef ALLOW_MNC |
732 |
|
C IO handling is done in one of two senses: |
733 |
|
C |
734 |
|
C [*_ioinc=.TRUE.] is an "inclusive-or" meaning that one or more |
735 |
|
C write methods can occur simultaneously |
736 |
|
C [*_ioinc=.FALSE.] is an "exclusive-or" meaning that only write |
737 |
|
C method can occur |
738 |
|
C |
739 |
|
C Since all the *_mdsio flags default to .TRUE. and all *_ioinc |
740 |
|
C default to .FALSE., the logic here is simple: |
741 |
|
IF ( (.NOT. pickup_write_ioinc) |
742 |
|
& .AND. pickup_write_mnc ) pickup_write_mdsio = .FALSE. |
743 |
|
IF ( (.NOT. timeave_ioinc) |
744 |
|
& .AND. timeave_mnc ) timeave_mdsio = .FALSE. |
745 |
|
IF ( (.NOT. snapshot_ioinc) |
746 |
|
& .AND. snapshot_mnc ) snapshot_mdsio = .FALSE. |
747 |
|
IF ( (.NOT. monitor_ioinc) |
748 |
|
& .AND. monitor_mnc ) monitor_mdsio = .FALSE. |
749 |
|
#endif |
750 |
|
|
751 |
C-- Grid parameters |
C-- Grid parameters |
752 |
C In cartesian coords distances are in metres |
C In cartesian coords distances are in metres |
753 |
rkFac = UNSET_RS |
rkFac = UNSET_RS |