/[MITgcm]/MITgcm/pkg/exf/exf_clim_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/exf/exf_clim_readparms.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Thu Mar 6 00:47:33 2003 UTC (21 years, 2 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint50e_post, checkpoint50c_post, checkpoint50c_pre, checkpoint50h_post, checkpoint50d_pre, checkpoint50b_pre, checkpoint51e_post, checkpoint51b_post, checkpoint51c_post, checkpoint49, checkpoint50i_post, checkpoint51, checkpoint50, checkpoint50d_post, checkpoint51b_pre, checkpoint50g_post, checkpoint50b_post, checkpoint50f_post, checkpoint50f_pre, checkpoint51d_post, checkpoint50a_post, checkpoint51a_post, checkpoint50e_pre
Changes since 1.1: +10 -6 lines
merged from ecco-branch:
o exf:
  - Enable initialisation of forcing fields to constant
    (runtime) values.
  - in exf_getffields.F
    Reduce i-/j-loop to interior domain, discarding overlaps.
    That also fixes wrong TAF-key computations for key_1, key_2
    with bulf formulae.
  - exf_init.F modify #ifdef for exf_init_evap
  - exf_getffieldrec.F, ctrl_getrec.F
    The following INT-usages are not safe:
      fldsecs  = int(fldsecs/fldperiod)*fldperiod
      fldcount = int(fldsecs/fldperiod) + 1
    and were modified.

1 c $Header: /u/gcmpack/MITgcm/pkg/exf/exf_clim_readparms.F,v 1.1.6.1 2003/03/04 00:17:40 heimbach Exp $
2
3 #include "EXF_CPPOPTIONS.h"
4
5
6 subroutine exf_clim_readparms(
7 I mythid
8 & )
9
10 c ==================================================================
11 c SUBROUTINE exf_clim_readparms
12 c ==================================================================
13 c
14 c o This routine initialises the climatologic forcing
15 c
16 c started: Ralf.Giering@FastOpt.de 25-Mai-20000
17 c
18 c ==================================================================
19 c SUBROUTINE exf_clim_readparms
20 c ==================================================================
21
22 implicit none
23
24 c == global variables ==
25
26 #include "EEPARAMS.h"
27 #include "SIZE.h"
28 #include "cal.h"
29 #include "exf.h"
30
31 #include "exf_clim_param.h"
32
33 c == routine arguments ==
34
35 integer mythid
36
37 c == local variables ==
38
39 integer i
40
41 c == end of interface ==
42
43 c Surface flux data.
44 namelist /exf_clim_nml/
45 & climtempstartdate1, climtempstartdate2, climtempperiod,
46 & climsaltstartdate1, climsaltstartdate2, climsaltperiod,
47 & climsststartdate1, climsststartdate2, climsstperiod,
48 & climsssstartdate1, climsssstartdate2, climsssperiod,
49 & climtempfile, climsaltfile, climsstfile,
50 & climsssfile, climsstconst, climsssconst,
51 & exf_clim_iprec, exf_clim_yftype
52
53 _BEGIN_MASTER(mythid)
54
55 c Set default values.
56
57 c Calendar data.
58 climtempstartdate1 = 0
59 climtempstartdate2 = 0
60 climtempperiod = 0
61
62 climsaltstartdate1 = 0
63 climsaltstartdate2 = 0
64 climsaltperiod = 0
65
66 climsststartdate1 = 0
67 climsststartdate2 = 0
68 climsstperiod = 0
69
70 climsssstartdate1 = 0
71 climsssstartdate2 = 0
72 climsssperiod = 0
73
74 c Data files.
75 climtempfile = ' '
76 climsaltfile = ' '
77 climsstfile = ' '
78 climsssfile = ' '
79
80 c Initialise the date arrays.
81 do i = 1,4
82 climtempstartdate(i) = 0
83 climsaltstartdate(i) = 0
84 climsststartdate(i) = 0
85 climsssstartdate(i) = 0
86 enddo
87
88 c Initialise constant values for relax. to constant SST, SSS
89 climsstconst = 0. _d 0
90 climsssconst = 0. _d 0
91
92 c Initialise file type and field precision
93 exf_clim_iprec = 32
94 exf_clim_yftype = 'RL'
95
96 c Check for the availability of the right calendar version.
97 if ( calendarversion .ne. usescalendarversion ) then
98 print*,' exf_Init: You are not using the appropriate'
99 print*,' version of the calendar package.'
100 print*
101 print*,' Please use Calendar version: ',
102 & usescalendarversion
103 stop ' stopped in exf_Init.'
104 endif
105
106 c Next, read the forcing data file.
107 call nml_filter( 'data.exf_clim', scrunit1, myThid )
108 if (scrunit1 .eq. 0) then
109 stop 'exf_clim_readparms: reading namelist failed'
110 end if
111 read( scrunit1, nml = exf_clim_nml )
112 close( scrunit1 )
113
114 c Complete the start date specifications for the forcing
115 c fields to get a complete calendar date array.
116
117 c check for consistency
118
119 if (.NOT. (exf_clim_iprec .EQ. 32
120 & .OR. exf_clim_iprec .EQ. 64)) then
121 stop 'stopped in exf_clim_readparms: value of iprec not allowed'
122 else if
123 & (.NOT. (exf_clim_yftype .EQ. 'RS'
124 & .OR. exf_clim_yftype .EQ. 'RL'))
125 & then
126 stop 'stopped in exf_clim_readparms: value of yftype not allowed'
127 end if
128
129 #ifdef ALLOW_CLIMTEMP_RELAXATION
130 call cal_FullDate( climtempstartdate1, climtempstartdate2,
131 & climtempstartdate, mythid )
132 #endif
133
134 #ifdef ALLOW_CLIMSALT_RELAXATION
135 call cal_FullDate( climsaltstartdate1, climsaltstartdate2,
136 & climsaltstartdate, mythid )
137 #endif
138
139 #ifdef ALLOW_CLIMSST_RELAXATION
140 call cal_FullDate( climsststartdate1, climsststartdate2,
141 & climsststartdate, mythid )
142 #endif
143
144 #ifdef ALLOW_CLIMSSS_RELAXATION
145 call cal_FullDate( climsssstartdate1, climsssstartdate2,
146 & climsssstartdate, mythid )
147 #endif
148
149 _END_MASTER( mythid )
150
151 _BARRIER
152
153 end

  ViewVC Help
Powered by ViewVC 1.1.22