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

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

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

revision 1.8 by dimitri, Fri Jan 25 11:23:06 2008 UTC revision 1.13 by gforget, Thu Apr 15 00:47:00 2010 UTC
# Line 33  c     == local variables == Line 33  c     == local variables ==
33  c     == end of interface ==  c     == end of interface ==
34    
35  c     check for consistency  c     check for consistency
36        if (.NOT.        if (.NOT.
37       &     (exf_iprec .EQ. 32 .OR. exf_iprec .EQ. 64)       &     (exf_iprec.EQ.precFloat32 .OR. exf_iprec.EQ.precFloat64)
38       &     ) then       &     ) then
39         stop 'S/R EXF_CHECK: value of exf_iprec not allowed'         stop 'S/R EXF_CHECK: value of exf_iprec not allowed'
40        elseif (.NOT.        elseif ( exf_yftype.NE.'RL' ) then
      &      (exf_yftype .EQ. 'RS' .OR.  
      &      exf_yftype .EQ. 'RL')  
      &      ) then  
41         stop 'S/R EXF_CHECK: value of exf_yftype not allowed'         stop 'S/R EXF_CHECK: value of exf_yftype not allowed'
42        endif        endif
43    
# Line 68  c     check for consistency Line 65  c     check for consistency
65        ENDIF        ENDIF
66  #endif  #endif
67    
68    #ifndef ALLOW_ZENITHANGLE
69          IF ( useExfZenAlbedo .OR. useExfZenIncoming .OR.
70         &     select_ZenAlbedo .NE. 0 ) THEN
71            STOP 'S/R EXF_CHECK: unsupported option when
72         &        ALLOW_ZENITHANGLE is not defined'
73          ENDIF
74    #endif
75    
76    #ifdef ALLOW_ZENITHANGLE
77          IF ( usingCartesianGrid .OR. usingCylindricalGrid ) then
78            STOP 'S/R EXF_CHECK: ALLOW_ZENITHANGLE does not  
79         &        work for carthesian and cylindrical grids'
80          ENDIF
81          IF ( select_ZenAlbedo.LT.0 .OR. select_ZenAlbedo.GT.3 ) then
82            STOP 'S/R EXF_CHECK: unsupported select_ZenAlbedo choice'
83          ENDIF
84          IF ( select_ZenAlbedo.EQ.2 .) then
85            write(standardmessageunit,'(A)')
86         &  'EXF WARNING: for daily mean albedo, it is advised to
87         &        use select_ZenAlbedo.EQ.1 instead of 2'
88          ENDIF
89          IF ( select_ZenAlbedo.GT.2 .AND. swdownperiod.GT. 21600 ) then
90            STOP 'S/R EXF_CHECK: using diurnal albedo formula requires
91         &        diurnal downward shortwave forcing'
92          ENDIF
93          IF ( select_ZenAlbedo.GT.2 .AND. swdownperiod.GT. 3600 ) then
94            write(standardmessageunit,'(A)')  
95         &  'EXF WARNING: the diurnal albedo formula is likely not safe
96         &  for such coarse temporal resolution downward shortwave forcing'
97          ENDIF
98    #endif
99    
100    
101  #ifdef USE_EXF_INTERPOLATION  #ifdef USE_EXF_INTERPOLATION
102        if ( climsst_nlat .GT. MAX_LAT_INC )        if ( climsst_nlat .GT. MAX_LAT_INC )
103       & stop 'stopped in exf_readparms: climsst_nlat > MAX_LAT_INC'       & stop 'stopped in exf_readparms: climsst_nlat > MAX_LAT_INC'
# Line 83  c     check for consistency Line 113  c     check for consistency
113          STOP 'wind-stress position defined by Long/Lat'          STOP 'wind-stress position defined by Long/Lat'
114        ENDIF        ENDIF
115        if ( usingCurvilinearGrid ) then        if ( usingCurvilinearGrid ) then
        if ( uvecfile .NE. ' ' .and. vvecfile .NE. ' ' ) then  
116  c     some restrictions that can be relaxed later on  c     some restrictions that can be relaxed later on
117          if ( uvecstartdate .ne. vvecstartdate .or.         if ( ustressfile .NE. ' ' .and. vstressfile .NE. ' ' ) then
118       &       uvecperiod    .ne. vvecperiod ) then          if ( ustressstartdate .ne. vstressstartdate .or.
119         &       ustressperiod    .ne. vstressperiod ) then
120             print*,'For useCubedSphereExchange, S/R exf_set_uv.F'
121             print*,'assumes that the u and v wind stress files'
122             print*,'have the same startdate and period.'
123             stop
124            endif
125           endif
126           if ( uwindfile .NE. ' ' .and. vwindfile .NE. ' ' ) then
127            if ( uwindstartdate .ne. vwindstartdate .or.
128         &       uwindperiod    .ne. vwindperiod ) then
129           print*,'For useCubedSphereExchange, S/R exf_set_uv.F'           print*,'For useCubedSphereExchange, S/R exf_set_uv.F'
130           print*,'assumes that the u and v wind or wind stress'           print*,'assumes that the u and v wind files'
131           print*,'files have the same startdate and period.'           print*,'have the same startdate and period.'
132           stop           stop
133          endif          endif
134         endif         endif

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22