/[MITgcm]/MITgcm/model/src/find_alpha.F
ViewVC logotype

Diff of /MITgcm/model/src/find_alpha.F

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

revision 1.9 by mlosch, Thu Sep 5 20:49:33 2002 UTC revision 1.10 by mlosch, Wed Sep 18 16:30:34 2002 UTC
# Line 8  CBOP Line 8  CBOP
8  C     !ROUTINE: FIND_ALPHA  C     !ROUTINE: FIND_ALPHA
9  C     !INTERFACE:  C     !INTERFACE:
10        SUBROUTINE FIND_ALPHA (        SUBROUTINE FIND_ALPHA (
11       I     bi, bj, iMin, iMax, jMin, jMax,  k, kRef, eqn,       I     bi, bj, iMin, iMax, jMin, jMax,  k, kRef,
12       O     alphaloc )       O     alphaloc )
13    
14  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
# Line 20  C     | Line 20  C     |
20  C     | k - is the Theta/Salt level                                C     | k - is the Theta/Salt level                              
21  C     | kRef - determines pressure reference level                  C     | kRef - determines pressure reference level                
22  C     |        (not used in 'LINEAR' mode)                          C     |        (not used in 'LINEAR' mode)                        
 C     | eqn - determines the eqn. of state: 'LINEAR' or 'POLY3'    
23  C     |                                                            C     |                                                          
24  C     | alphaloc - drho / dT (kg/m^3/C)                            C     | alphaloc - drho / dT (kg/m^3/C)                          
25  C     |                                                            C     |                                                          
# Line 42  c Arguments Line 41  c Arguments
41        integer bi,bj,iMin,iMax,jMin,jMax        integer bi,bj,iMin,iMax,jMin,jMax
42        integer k                 ! Level of Theta/Salt slice        integer k                 ! Level of Theta/Salt slice
43        integer kRef              ! Pressure reference level        integer kRef              ! Pressure reference level
       character*(*) eqn  
44        _RL alphaloc(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL alphaloc(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
45    
46  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
# Line 126  C     abbreviations Line 124  C     abbreviations
124                 s1  = salt(i,j,k,bi,bj)                 s1  = salt(i,j,k,bi,bj)
125                 if ( s1 .lt. 0. _d 0 ) then                 if ( s1 .lt. 0. _d 0 ) then
126  C     issue a warning  C     issue a warning
127                    write(*,'(a,i3,a,i3,a,i3,a,e13.5)')                    write(*,'(a,i3,a,i3,a,i3,a,i3,a,i3,a,e13.5)')
128       &                 ' FIND_ALPHA: WARNING, salinity(',       &                 ' FIND_ALPHA: WARNING, salinity(',
129       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1
130                    s1 = 0. _d 0                    s1 = 0. _d 0
# Line 205  C     of sea water at p Line 203  C     of sea water at p
203        elseif ( equationOfState.eq.'MDJWF' ) then        elseif ( equationOfState.eq.'MDJWF' ) then
204    
205           CALL FIND_RHO( bi, bj, iMin, iMax, jMin, jMax,  k, kRef,           CALL FIND_RHO( bi, bj, iMin, iMax, jMin, jMax,  k, kRef,
206       &        eqn, theta, salt, rhoLoc, myThid )       &        theta, salt, rhoLoc, myThid )
207           CALL FIND_RHODEN( bi, bj, iMin, iMax, jMin, jMax, k, kRef,           CALL FIND_RHODEN( bi, bj, iMin, iMax, jMin, jMax, k, kRef,
208       &      theta, salt, rhoDen, myThid )       &      theta, salt, rhoDen, myThid )
209    
# Line 216  C     of sea water at p Line 214  C     of sea water at p
214                 s1  = salt(i,j,k,bi,bj)                 s1  = salt(i,j,k,bi,bj)
215                 if ( s1 .lt. 0. _d 0 ) then                 if ( s1 .lt. 0. _d 0 ) then
216  C     issue a warning  C     issue a warning
217                    write(*,'(a,i3,a,i3,a,i3,a,e13.5)')                    write(*,'(a,i3,a,i3,a,i3,a,i3,a,i3,a,e13.5)')
218       &                 ' FIND_ALPHA: WARNING, salinity(',       &                 ' FIND_ALPHA: WARNING, salinity(',
219       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1
220                    s1 = 0. _d 0                    s1 = 0. _d 0
# Line 255  C     issue a warning Line 253  C     issue a warning
253        end        end
254    
255        subroutine FIND_BETA (        subroutine FIND_BETA (
256       I     bi, bj, iMin, iMax, jMin, jMax,  k, kRef, eqn,       I     bi, bj, iMin, iMax, jMin, jMax,  k, kRef,
257       O     betaloc )       O     betaloc )
258  C     /==========================================================\  C     /==========================================================\
259  C     | o SUBROUTINE FIND_BETA                                   |  C     | o SUBROUTINE FIND_BETA                                   |
# Line 265  C     | Line 263  C     |
263  C     | k - is the Theta/Salt level                              |  C     | k - is the Theta/Salt level                              |
264  C     | kRef - determines pressure reference level               |  C     | kRef - determines pressure reference level               |
265  C     |        (not used in 'LINEAR' mode)                       |  C     |        (not used in 'LINEAR' mode)                       |
 C     | eqn - determines the eqn. of state: 'LINEAR' or 'POLY3'  |  
266  C     |                                                          |  C     |                                                          |
267  C     | betaloc - drho / dS (kg/m^3/PSU)                         |  C     | betaloc - drho / dS (kg/m^3/PSU)                         |
268  C     |                                                          |  C     |                                                          |
# Line 284  c Arguments Line 281  c Arguments
281        integer bi,bj,iMin,iMax,jMin,jMax        integer bi,bj,iMin,iMax,jMin,jMax
282        integer k                 ! Level of Theta/Salt slice        integer k                 ! Level of Theta/Salt slice
283        integer kRef              ! Pressure reference level        integer kRef              ! Pressure reference level
       character*(*) eqn  
284        _RL betaloc(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL betaloc(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
285    
286  c Local  c Local
# Line 365  C     abbreviations Line 361  C     abbreviations
361                 s1  = salt(i,j,k,bi,bj)                 s1  = salt(i,j,k,bi,bj)
362                 if ( s1 .lt. 0. _d 0 ) then                 if ( s1 .lt. 0. _d 0 ) then
363  C     issue a warning  C     issue a warning
364                    write(*,'(a,i3,a,i3,a,i3,a,e13.5)')                    write(*,'(a,i3,a,i3,a,i3,a,i3,a,i3,a,e13.5)')
365       &                 ' FIND_BETA: WARNING, salinity(',       &                 ' FIND_BETA: WARNING, salinity(',
366       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1
367                    s1 = 0. _d 0                    s1 = 0. _d 0
# Line 430  C     of sea water at p Line 426  C     of sea water at p
426        elseif ( equationOfState.eq.'MDJWF' ) then        elseif ( equationOfState.eq.'MDJWF' ) then
427    
428           CALL FIND_RHO( bi, bj, iMin, iMax, jMin, jMax,  k, kRef,           CALL FIND_RHO( bi, bj, iMin, iMax, jMin, jMax,  k, kRef,
429       &        eqn, theta, salt, rhoLoc, myThid )       &        theta, salt, rhoLoc, myThid )
430           CALL FIND_RHODEN( bi, bj, iMin, iMax, jMin, jMax, k, kRef,           CALL FIND_RHODEN( bi, bj, iMin, iMax, jMin, jMax, k, kRef,
431       &      theta, salt, rhoDen, myThid )       &      theta, salt, rhoDen, myThid )
432                    
# Line 441  C     of sea water at p Line 437  C     of sea water at p
437                 s1  = salt(i,j,k,bi,bj)                 s1  = salt(i,j,k,bi,bj)
438                 if ( s1 .lt. 0. _d 0 ) then                 if ( s1 .lt. 0. _d 0 ) then
439  C     issue a warning  C     issue a warning
440                    write(*,'(a,i3,a,i3,a,i3,a,e13.5)')                    write(*,'(a,i3,a,i3,a,i3,a,i3,a,i3,a,e13.5)')
441       &                 ' FIND_BETA: WARNING, salinity(',       &                 ' FIND_BETA: WARNING, salinity(',
442       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1       &                 i,',',j,',',k,',',bi,',',bj,') = ', s1
443                    s1 = 0. _d 0                    s1 = 0. _d 0

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22