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

Diff of /MITgcm/pkg/exf/exf_readparms.F

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

revision 1.5 by dimitri, Sat Dec 28 10:11:11 2002 UTC revision 1.6 by dimitri, Tue Feb 18 05:33:54 2003 UTC
# Line 35  c              - added new obcs paramete Line 35  c              - added new obcs paramete
35  c     included runoff D. Stammer, Nov. 25, 2001  c     included runoff D. Stammer, Nov. 25, 2001
36  c     included pressure forcing. heimbach@mit.edu 05-Nov-2002  c     included pressure forcing. heimbach@mit.edu 05-Nov-2002
37  c     added "repeatPeriod" for cycling of forcing datasets 19-Dec-2002  c     added "repeatPeriod" for cycling of forcing datasets 19-Dec-2002
38  c     added option EXF_READ_EVAP. menemenlis@jpl.nasa.gov 20-Dec-2002  c     mods for pkg/seaice: menemenlis@jpl.nasa.gov 20-Dec-2002
39  c  c
40  c     ==================================================================  c     ==================================================================
41  c     SUBROUTINE exf_readparms  c     SUBROUTINE exf_readparms
# Line 83  c     Surface flux data. Line 83  c     Surface flux data.
83       &    vwindstartdate1,    vwindstartdate2,   vwindperiod,       &    vwindstartdate1,    vwindstartdate2,   vwindperiod,
84       &   swfluxstartdate1,   swfluxstartdate2,  swfluxperiod,       &   swfluxstartdate1,   swfluxstartdate2,  swfluxperiod,
85       &   lwfluxstartdate1,   lwfluxstartdate2,  lwfluxperiod,       &   lwfluxstartdate1,   lwfluxstartdate2,  lwfluxperiod,
86         &   swdownstartdate1,   swdownstartdate2,  swdownperiod,
87         &   lwdownstartdate1,   lwdownstartdate2,  lwdownperiod,
88       &    obcsNstartdate1,    obcsNstartdate2,   obcsNperiod,       &    obcsNstartdate1,    obcsNstartdate2,   obcsNperiod,
89       &    obcsSstartdate1,    obcsSstartdate2,   obcsSperiod,       &    obcsSstartdate1,    obcsSstartdate2,   obcsSperiod,
90       &    obcsEstartdate1,    obcsEstartdate2,   obcsEperiod,       &    obcsEstartdate1,    obcsEstartdate2,   obcsEperiod,
# Line 93  c     Surface flux data. Line 95  c     Surface flux data.
95       &        ustressfile,        vstressfile,      evapfile,       &        ustressfile,        vstressfile,      evapfile,
96       &          uwindfile,          vwindfile,       &          uwindfile,          vwindfile,
97       &         swfluxfile,         lwfluxfile, apressurefile,       &         swfluxfile,         lwfluxfile, apressurefile,
98         &         swdownfile,         lwdownfile,
99       &          exf_iprec,         exf_yftype,       &          exf_iprec,         exf_yftype,
100       &           scal_hfl,           scal_ust,       scal_vst,       &     exf_inscal_hfl,     exf_inscal_ust, exf_inscal_vst,
101       &           scal_swf,           scal_sst,       scal_sss,       &     exf_inscal_swf,     exf_inscal_sst, exf_inscal_sss,
102       &     scal_apressure,           scal_sfl       &     exf_inscal_sfl,  exf_inscal_runoff,exf_inscal_apressure,
103         &    exf_outscal_hfl,    exf_outscal_ust,exf_outscal_vst,
104         &    exf_outscal_swf,    exf_outscal_sst,exf_outscal_sss,
105         &    exf_outscal_sfl,  exf_outscal_apressure,
106         &     EXFwindOnBgrid
107    
108        _BEGIN_MASTER(mythid)        _BEGIN_MASTER(mythid)
109    
# Line 155  c     Calendar data. Line 162  c     Calendar data.
162        lwfluxstartdate2   = 0        lwfluxstartdate2   = 0
163        lwfluxperiod       = 0.0 _d 0        lwfluxperiod       = 0.0 _d 0
164    
165          swdownstartdate1   = 0
166          swdownstartdate2   = 0
167          swdownperiod       = 0.0 _d 0
168    
169          lwdownstartdate1   = 0
170          lwdownstartdate2   = 0
171          lwdownperiod       = 0.0 _d 0
172    
173        obcsNstartdate1    = 0        obcsNstartdate1    = 0
174        obcsNstartdate2    = 0        obcsNstartdate2    = 0
175        obcsNperiod        = 0.0 _d 0        obcsNperiod        = 0.0 _d 0
# Line 191  c     Data files. Line 206  c     Data files.
206        vwindfile          = ' '        vwindfile          = ' '
207        swfluxfile         = ' '        swfluxfile         = ' '
208        lwfluxfile         = ' '        lwfluxfile         = ' '
209          swdownfile         = ' '
210          lwdownfile         = ' '
211        apressurefile      = ' '        apressurefile      = ' '
212    
213  c     Initialise the date arrays.  c     Initialise the date arrays.
# Line 208  c     Initialise the date arrays. Line 225  c     Initialise the date arrays.
225           vwindstartdate(i)    = 0           vwindstartdate(i)    = 0
226           swfluxstartdate(i)   = 0           swfluxstartdate(i)   = 0
227           lwfluxstartdate(i)   = 0           lwfluxstartdate(i)   = 0
228             swdownstartdate(i)   = 0
229             lwdownstartdate(i)   = 0
230           obcsNstartdate(i)    = 0           obcsNstartdate(i)    = 0
231           obcsSstartdate(i)    = 0           obcsSstartdate(i)    = 0
232           obcsEstartdate(i)    = 0           obcsEstartdate(i)    = 0
# Line 219  c     Initialise file type and field pre Line 238  c     Initialise file type and field pre
238        exf_iprec       = 32        exf_iprec       = 32
239        exf_yftype      = 'RL'        exf_yftype      = 'RL'
240    
241  c     scaling between exf units and MITgcm units  c     Input scaling factors.
242        scal_hfl       =  1. _d 0        exf_inscal_hfl       =  1. _d 0
243        scal_ust       =  1. _d 0        exf_inscal_ust       =  1. _d 0
244        scal_vst       =  1. _d 0        exf_inscal_vst       =  1. _d 0
245        scal_swf       =  1. _d 0        exf_inscal_swf       =  1. _d 0
246        scal_sst       =  1. _d 0        exf_inscal_sst       =  1. _d 0
247        scal_sss       =  1. _d 0        exf_inscal_sss       =  1. _d 0
248        scal_apressure =  1. _d 0        exf_inscal_apressure =  1. _d 0
249        scal_sfl       =  1. _d 0            exf_inscal_sfl       =  1. _d 0
250    cds   convert runoff from m/yr to m/s and change sign.
251          exf_inscal_runoff    = -1.0/(86400.*365.0)
252    
253    c     Output scaling factors.
254          exf_outscal_hfl      =  1. _d 0
255          exf_outscal_ust      =  1. _d 0
256          exf_outscal_vst      =  1. _d 0
257          exf_outscal_swf      =  1. _d 0
258          exf_outscal_sst      =  1. _d 0
259          exf_outscal_sss      =  1. _d 0
260          exf_outscal_apressure=  1. _d 0
261          exf_outscal_sfl      =  1. _d 0
262    c
263          EXFwindOnBgrid = .FALSE.
264    
265  c     Check for the availability of the right calendar version.  c     Check for the availability of the right calendar version.
266        if ( calendarversion .ne. usescalendarversion ) then        if ( calendarversion .ne. usescalendarversion ) then
# Line 263  c     check for consistency Line 296  c     check for consistency
296           stop 'stop in exf_readparms: value of exf_yftype not allowed'           stop 'stop in exf_readparms: value of exf_yftype not allowed'
297        end if        end if
298    
299  #ifdef EXF_READ_EVAP  #ifdef ALLOW_ATM_WIND
300        call cal_FullDate(  evapstartdate1,    evapstartdate2,        call cal_FullDate(    uwindstartdate1,    uwindstartdate2,
301       &                    evapstartdate,              mythid )       &                      uwindstartdate ,             mythid )
302  #endif EXF_READ_EVAP        call cal_FullDate(    vwindstartdate1,    vwindstartdate2,
303         &                      vwindstartdate ,             mythid )
304  #ifdef ALLOW_RUNOFF  #else
305        call cal_FullDate(  runoffstartdate1,  runoffstartdate2,        call cal_FullDate(  ustressstartdate1,  ustressstartdate2,
306       &                    runoffstartdate,            mythid )       &                    ustressstartdate ,             mythid )
307          call cal_FullDate(  vstressstartdate1,  vstressstartdate2,
308         &                    vstressstartdate ,             mythid )
309  #endif  #endif
310    
 #ifdef ALLOW_BULKFORMULAE  
   
311  #ifdef ALLOW_ATM_TEMP  #ifdef ALLOW_ATM_TEMP
312        call cal_FullDate(   atempstartdate1,   atempstartdate2,        call cal_FullDate(    atempstartdate1,    atempstartdate2,
313       &                     atempstartdate,            mythid )       &                      atempstartdate ,             mythid )
314        call cal_FullDate(     aqhstartdate1,     aqhstartdate2,        call cal_FullDate(      aqhstartdate1,      aqhstartdate2,
315       &                       aqhstartdate,            mythid )       &                        aqhstartdate ,             mythid )
316        call cal_FullDate(  swfluxstartdate1,  swfluxstartdate2,        call cal_FullDate(   lwfluxstartdate1,   lwfluxstartdate2,
317       &                    swfluxstartdate,            mythid )       &                     lwfluxstartdate ,             mythid )
318        call cal_FullDate(  lwfluxstartdate1,  lwfluxstartdate2,        call cal_FullDate(   precipstartdate1,   precipstartdate2,
319       &                    lwfluxstartdate,            mythid )       &                     precipstartdate ,             mythid )
       call cal_FullDate(  precipstartdate1,  precipstartdate2,  
      &                    precipstartdate,            mythid )  
320  #else  #else
321        call cal_FullDate(   hfluxstartdate1,   hfluxstartdate2,        call cal_FullDate(    hfluxstartdate1,    hfluxstartdate2,
322       &                     hfluxstartdate,            mythid )       &                      hfluxstartdate ,             mythid )
323        call cal_FullDate(   sfluxstartdate1,  sfluxstartdate2,        call cal_FullDate(    sfluxstartdate1,    sfluxstartdate2,
324       &                     sfluxstartdate,           mythid )       &                      sfluxstartdate ,             mythid )
 #ifdef ALLOW_KPP  
       call cal_FullDate(  swfluxstartdate1,  swfluxstartdate2,  
      &                    swfluxstartdate,            mythid )  
325  #endif  #endif
326    
327    #if defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING)
328          call cal_FullDate(   swfluxstartdate1,   swfluxstartdate2,
329         &                     swfluxstartdate ,             mythid )
330  #endif  #endif
331    
332  #ifdef ALLOW_ATM_WIND  #ifdef EXF_READ_EVAP
333        call cal_FullDate(   uwindstartdate1,   uwindstartdate2,        call cal_FullDate(     evapstartdate1,     evapstartdate2,
334       &                     uwindstartdate,            mythid )       &                       evapstartdate ,             mythid )
       call cal_FullDate(   vwindstartdate1,   vwindstartdate2,  
      &                     vwindstartdate,            mythid )  
 #else  
       call cal_FullDate( ustressstartdate1, ustressstartdate2,  
      &                   ustressstartdate,            mythid )  
       call cal_FullDate( vstressstartdate1, vstressstartdate2,  
      &                   vstressstartdate,            mythid )  
335  #endif  #endif
336    
337  #else  #ifdef ALLOW_RUNOFF
338        call cal_FullDate(   hfluxstartdate1,  hfluxstartdate2,        call cal_FullDate(   runoffstartdate1,   runoffstartdate2,
339       &                     hfluxstartdate,           mythid )       &                     runoffstartdate ,             mythid )
       call cal_FullDate(   sfluxstartdate1,  sfluxstartdate2,  
      &                     sfluxstartdate,           mythid )  
       call cal_FullDate( ustressstartdate1, ustressstartdate2,  
      &                   ustressstartdate,            mythid )  
       call cal_FullDate( vstressstartdate1, vstressstartdate2,  
      &                   vstressstartdate,            mythid )  
 #ifdef ALLOW_KPP  
       call cal_FullDate(  swfluxstartdate1,  swfluxstartdate2,  
      &                    swfluxstartdate,            mythid )  
340  #endif  #endif
341    
342    #ifdef ALLOW_DOWNWARD_RADIATION
343          call cal_FullDate(   swdownstartdate1,   swdownstartdate2,
344         &                     swdownstartdate ,             mythid )
345          call cal_FullDate(   lwdownstartdate1,   lwdownstartdate2,
346         &                     lwdownstartdate ,             mythid )
347  #endif  #endif
348    
349  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
350  #ifdef ALLOW_OBCS_NORTH  #ifdef ALLOW_OBCS_NORTH
351        call cal_FullDate(  obcsNstartdate1,  obcsNstartdate2,        call cal_FullDate(    obcsNstartdate1,    obcsNstartdate2,
352       &                    obcsNstartdate,           mythid )       &                      obcsNstartdate ,             mythid )
353  #endif  #endif
354  #ifdef ALLOW_OBCS_SOUTH  #ifdef ALLOW_OBCS_SOUTH
355        call cal_FullDate(  obcsSstartdate1,  obcsSstartdate2,        call cal_FullDate(    obcsSstartdate1,    obcsSstartdate2,
356       &                    obcsSstartdate,           mythid )       &                      obcsSstartdate ,             mythid )
357  #endif  #endif
358  #ifdef ALLOW_OBCS_EAST  #ifdef ALLOW_OBCS_EAST
359        call cal_FullDate(  obcsEstartdate1,  obcsEstartdate2,        call cal_FullDate(    obcsEstartdate1,    obcsEstartdate2,
360       &                    obcsEstartdate,           mythid )       &                      obcsEstartdate ,             mythid )
361  #endif  #endif
362  #ifdef ALLOW_OBCS_WEST  #ifdef ALLOW_OBCS_WEST
363        call cal_FullDate(  obcsWstartdate1,  obcsWstartdate2,        call cal_FullDate(    obcsWstartdate1,    obcsWstartdate2,
364       &                    obcsWstartdate,           mythid )       &                      obcsWstartdate ,             mythid )
 #endif  
365  #endif  #endif
366    #endif /* ALLOW_OBCS */
367    
368  #ifdef ATMOSPHERIC_LOADING  #ifdef ATMOSPHERIC_LOADING
369        call cal_FullDate(   apressurestartdate1, apressurestartdate2,        call cal_FullDate(apressurestartdate1,apressurestartdate2,
370       &                     apressurestartdate,          mythid )       &                  apressurestartdate ,             mythid )
371  #endif  #endif
372    
373        _END_MASTER( mythid )        _END_MASTER( mythid )
# Line 357  c     check for consistency Line 377  c     check for consistency
377  c--   Summarize the External forcing's setup.  c--   Summarize the External forcing's setup.
378        call exf_summary( mythid )        call exf_summary( mythid )
379    
   
380  c--   set climatology parameters  c--   set climatology parameters
381        call exf_clim_readparms( mythid )        call exf_clim_readparms( mythid )
382    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22