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

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

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


Revision 1.2 - (hide annotations) (download)
Thu Mar 6 00:47:33 2003 UTC (21 years, 3 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 heimbach 1.2 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 heimbach 1.1
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 heimbach 1.2 & climsststartdate1, climsststartdate2, climsstperiod,
48     & climsssstartdate1, climsssstartdate2, climsssperiod,
49     & climtempfile, climsaltfile, climsstfile,
50     & climsssfile, climsstconst, climsssconst,
51 heimbach 1.1 & 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 heimbach 1.2 c Initialise the date arrays.
81 heimbach 1.1 do i = 1,4
82     climtempstartdate(i) = 0
83     climsaltstartdate(i) = 0
84     climsststartdate(i) = 0
85     climsssstartdate(i) = 0
86     enddo
87 heimbach 1.2
88     c Initialise constant values for relax. to constant SST, SSS
89     climsstconst = 0. _d 0
90     climsssconst = 0. _d 0
91 heimbach 1.1
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