/[MITgcm]/MITgcm/pkg/bulk_force/bulkf_readparms.F
ViewVC logotype

Diff of /MITgcm/pkg/bulk_force/bulkf_readparms.F

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

revision 1.2 by edhill, Thu Oct 9 04:19:19 2003 UTC revision 1.3 by jmc, Sun Nov 23 01:36:55 2003 UTC
# Line 5  C $Name$ Line 5  C $Name$
5    
6        SUBROUTINE BULKF_READPARMS( myThid )        SUBROUTINE BULKF_READPARMS( myThid )
7  C     /==========================================================\  C     /==========================================================\
8  C     | SUBROUTINE BULKF_READPARMS                                 |  C     | SUBROUTINE BULKF_READPARMS                               |
9  C     | o Routine to initialize BULKF variables and constants.     |  C     | o Routine to initialize BULKF variables and constants.   |
10  C     |==========================================================|  C     |==========================================================|
11  C     | Initialize BULKF    parameters, read in data.rbc          |  C     | Initialize BULKF    parameters, read in data.blk         |
12  C     \==========================================================/  C     \==========================================================/
13        IMPLICIT NONE        IMPLICIT NONE
14    
# Line 16  C     === Global variables === Line 16  C     === Global variables ===
16  #include "SIZE.h"  #include "SIZE.h"
17  #include "EEPARAMS.h"  #include "EEPARAMS.h"
18  #include "PARAMS.h"  #include "PARAMS.h"
19  #include "GRID.h"  #include "BULKF_PARAMS.h"
 cswdblk  
 #ifdef ALLOW_BULK_FORCE  
20  #include "BULKF.h"  #include "BULKF.h"
21  #ifdef CONSERV_BULKF  #ifdef CONSERV_BULKF
22  #include "BULKF_CONSERV.h"  #include "BULKF_CONSERV.h"
23  #endif  #endif
 #endif  
 cswdblk  
24    
25  C     === Routine arguments ===  C     === Routine arguments ===
26        INTEGER myThid        INTEGER myThid
27    
28  #ifdef ALLOW_BULK_FORCE  #ifdef ALLOW_BULK_FORCE
29    C     === Local variables ===
30    C     msgBuf      - Informational/error meesage buffer
31    C     iUnit       - Work variable for IO unit number
32          CHARACTER*(MAX_LEN_MBUF) msgBuf
33          INTEGER iUnit
34    
35  C--   Bulk Formula parameter  C--   Bulk Formula parameter
36          NAMELIST /BULKF_CONST/
37         &  rhoa, rhofw,
38         &  cpair, cpwv,
39         &  Lvap, Lfresh,
40         &  Tf0kel,
41         &  cdrag_1, cdrag_2, cdrag_3,
42         &  stefan, xkar, Rvap,
43         &  p0,
44         &  humid_fac, saltsat, gamma_blk,
45         &  Lvap_ice, Rgas,
46         &  atm_emissivity, ocean_emissivity,
47         &  snow_emissivity, ice_emissivity,
48         &         blk_taveFreq
49    
50        NAMELIST /BULKF_PARM01/        NAMELIST /BULKF_PARM01/
51       &         AirTempFile, AirHumidityFile, RainFile,       &         AirTempFile, AirHumidityFile, RainFile,
52       &         SolarFile, LongwaveFile, UWindFile,       &         SolarFile, LongwaveFile, UWindFile,
# Line 45  c-    conserving qnet, empmr Line 60  c-    conserving qnet, empmr
60  #endif  #endif
61    
62    
 C     === Local variables ===  
 C     msgBuf      - Informational/error meesage buffer  
 C     iUnit       - Work variable for IO unit number  
       CHARACTER*(MAX_LEN_MBUF) msgBuf  
       INTEGER iUnit  
   
63        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
64    
65        WRITE(msgBuf,'(A)') ' BULKF_READPARMS: opening data.blk'        WRITE(msgBuf,'(A)') ' BULKF_READPARMS: opening data.blk'
# Line 64  C     iUnit       - Work variable for IO Line 73  C     iUnit       - Work variable for IO
73       I                          myThid )       I                          myThid )
74    
75  C--   Default values  C--   Default values
76    C-    Physical constant :
77          rhoa   = 1.3 _d 0
78          rhofw  = rhoConstFresh
79          cpair  = atm_Cp
80          cpwv   = 1.81 _d 3
81          Lvap   = 2.5 _d 6
82          Lfresh = 3.34 _d 5
83          Tf0kel = celsius2K
84          cdrag_1= 0.0027000 _d 0
85          cdrag_2= 0.0001420 _d 0
86          cdrag_3= 0.0000764 _d 0
87          stefan = 5.67 _d -8
88          xkar   = 0.4  _d 0
89          Rvap   = 461. _d 0
90          p0     = atm_Po / 100.
91          humid_fac =  0.606 _d 0
92          saltsat   =  0.980 _d 0
93          gamma_blk =  0.010 _d 0
94          Lvap_ice  = 2.83 _d 6
95          Rgas   = atm_Rd
96          atm_emissivity  = .90 _d 0
97          ocean_emissivity= .985 _d 0
98          snow_emissivity = .98 _d 0
99          ice_emissivity  = .98 _d 0
100    
101    C-    bulk-forcing parameters:
102          blk_taveFreq = taveFreq
103    
104    C-    Input data files names :
105        AirTempFile=' '        AirTempFile=' '
106        AirHumidityFile=' '        AirHumidityFile=' '
107        RainFile=' '        RainFile=' '
# Line 81  C--   Default values Line 119  C--   Default values
119        readsurface=.TRUE.        readsurface=.TRUE.
120    
121  C--   Read parameters from open data file  C--   Read parameters from open data file
122        READ(UNIT=iUnit,NML=BULKF_PARM01)        READ(UNIT=iUnit,NML=BULKF_CONST)
123          WRITE(msgBuf,'(A)') ' BULKF_READPARMS: read BULKF_CONST'
124          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
125         &                    SQUEEZE_RIGHT , 1)
126    
127          READ(UNIT=iUnit,NML=BULKF_PARM01)
128        WRITE(msgBuf,'(A)') ' BULKF_READPARMS: read BULKF_PARM01'        WRITE(msgBuf,'(A)') ' BULKF_READPARMS: read BULKF_PARM01'
129        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
130       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
# Line 99  c -- default Line 140  c -- default
140    
141  #endif /* CONSERV_BULKF */  #endif /* CONSERV_BULKF */
142    
   
143  C--   Close the open data file  C--   Close the open data file
144        CLOSE(iUnit)        CLOSE(iUnit)
145    
146    C-    Define other constants (from previous ones):
147          Qcoef  = 6.11 _d 0 * 0.622 _d 0 / p0
148          Sha    = Rgas / .286 _d 0
149    
150    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
151          iUnit = standardMessageUnit
152    c     iUnit=88
153    c     OPEN(iUnit,file='bulkf_check_params',status='unknown')
154          WRITE(iUnit,*) 'BlkF: rhoa     =',rhoa
155          WRITE(iUnit,*) 'BlkF: rhofw    =',rhofw
156          WRITE(iUnit,*) 'BlkF: cpair    =',cpair
157          WRITE(iUnit,*) 'BlkF: cpwv     =',cpwv
158          WRITE(iUnit,*) 'BlkF: Lvap     =',Lvap
159          WRITE(iUnit,*) 'BlkF: Lfresh   =',Lfresh
160          WRITE(iUnit,*) 'BlkF: Tf0kel   =',Tf0kel
161          WRITE(iUnit,*) 'BlkF: cdrag_1  =',cdrag_1
162          WRITE(iUnit,*) 'BlkF: cdrag_2  =',cdrag_2
163          WRITE(iUnit,*) 'BlkF: cdrag_3  =',cdrag_3
164          WRITE(iUnit,*) 'BlkF: stefan   =',stefan
165          WRITE(iUnit,*) 'BlkF: xkar     =',xkar
166          WRITE(iUnit,*) 'BlkF: Rvap     =',Rvap
167          WRITE(iUnit,*) 'BlkF: p0       =',p0
168          WRITE(iUnit,*) 'BlkF: Qcoef    =',Qcoef
169          WRITE(iUnit,*) 'BlkF: humid_fac=',humid_fac
170          WRITE(iUnit,*) 'BlkF: saltsat  =',saltsat
171          WRITE(iUnit,*) 'BlkF: gamma_blk=',gamma_blk
172          WRITE(iUnit,*) 'BlkF: Lvap_ice =',Lvap_ice
173          WRITE(iUnit,*) 'BlkF: Rgas     =',Rgas
174          WRITE(iUnit,*) 'BlkF: Sha      =',Sha
175          WRITE(iUnit,*) 'BlkF: atm_emissivity  =',atm_emissivity
176          WRITE(iUnit,*) 'BlkF: ocean_emissivity=',ocean_emissivity
177          WRITE(iUnit,*) 'BlkF: snow_emissivity =',snow_emissivity
178          WRITE(iUnit,*) 'BlkF: ice_emissivity  =',ice_emissivity
179          WRITE(iUnit,*) 'BlkF: blk_taveFreq=',blk_taveFreq
180          IF (iUnit.EQ.88) CLOSE(iUnit)
181    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
182    
183        _END_MASTER(myThid)        _END_MASTER(myThid)
184    
185  C--   Everyone else must wait for the parameters to be loaded  C--   Everyone else must wait for the parameters to be loaded
186        _BARRIER        _BARRIER
187    
   
188  #endif /* ALLOW_BULK_FORCE */  #endif /* ALLOW_BULK_FORCE */
189    
190        return        RETURN
191        end        END

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22