/[MITgcm]/MITgcm/verification/hs94.cs-32x32x5/code/ini_theta.F
ViewVC logotype

Diff of /MITgcm/verification/hs94.cs-32x32x5/code/ini_theta.F

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

revision 1.3 by adcroft, Wed Jun 6 19:46:43 2001 UTC revision 1.5 by molod, Mon Jul 19 15:13:07 2004 UTC
# Line 35  CEndOfInterface Line 35  CEndOfInterface
35    
36  C     == Functions ==  C     == Functions ==
37        Real*8  PORT_RAND        Real*8  PORT_RAND
38          real *8 seed
39    
40  C     == Local variables ==  C     == Local variables ==
41  C     bi,bj  - Loop counters  C     bi,bj  - Loop counters
# Line 42  C     I,J,K Line 43  C     I,J,K
43        INTEGER bi, bj        INTEGER bi, bj
44        INTEGER I, J, K        INTEGER I, J, K
45        _RL     term1,term2,thetaLim,thetaEq        _RL     term1,term2,thetaLim,thetaEq
       _RL     thKappa  
46    
47        _BARRIER        _BARRIER
48    
49        J = 99+myBxLo(myThid)+nPx*myByLo(myThid)        J = 99+myBxLo(myThid)+nPx*myByLo(myThid)
50  c     CALL SRAND( J )  c     CALL SRAND( J )
51    c     seed = j
52    
53        IF ( hydrogThetaFile .EQ. ' ' ) THEN        IF ( hydrogThetaFile .EQ. ' ' ) THEN
54  C--    Initialise temperature field to Held & Saurez equilibrium theta  C--    Initialise temperature field to Held & Suarez equilibrium theta
55         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
56          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
57           DO K=1,Nr           DO K=1,Nr
58            Ro_SeaLevel=1. _d 5            thetaLim = 200. _d 0/((rC(K)/atm_po)**atm_kappa)
           thKappa = 2. _d 0/7. _d 0  
           thetaLim = 200. _d 0/((rC(K)/Ro_SeaLevel)**thKappa)  
59            DO J=1,sNy            DO J=1,sNy
60             DO I=1,sNx             DO I=1,sNx
61             term1=60. _d 0*(sin(yC(I,J,bi,bj)*deg2rad)**2)             term1=60. _d 0*(sin(yC(I,J,bi,bj)*deg2rad)**2)
62             term2=10. _d 0*log((rC(K)/Ro_SeaLevel))             term2=10. _d 0*log((rC(K)/atm_po))
63       &              *(cos(yC(I,J,bi,bj)*deg2rad)**2)       &              *(cos(yC(I,J,bi,bj)*deg2rad)**2)
64             thetaEq=315. _d 0-term1-term2             thetaEq=315. _d 0-term1-term2
65              theta(I,J,K,bi,bj) = MAX( thetaLim, thetaEq )              theta(I,J,K,bi,bj) = MAX( thetaLim, thetaEq )
66  c    &                          + 0.01*(RAND()-0.5)  c    &                          + 0.01*(RAND()-0.5)
67  c    &                          + 0.01*(PORT_RAND()-0.5)  c    &                          + 0.01*(PORT_RAND(seed)-0.5)
68  c           theta(I,J,K,bi,bj) = tRef(K)  c           theta(I,J,K,bi,bj) = tRef(K)
69             ENDDO             ENDDO
70            ENDDO            ENDDO
71           ENDDO           ENDDO
72          ENDDO          ENDDO
73         ENDDO         ENDDO
74    #ifdef ALLOW_ZONAL_FILT
75    C--   Zonal FFT filter initial conditions
76         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
77          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
78           DO K=1,Nr           DO K=1,Nr
79            DO J=1,sNy            DO J=1,sNy
 #ifdef ALLOW_ZONAL_FILT  
 C--   Zonal FFT filter initial conditions  
80             CALL ZONAL_FILTER(             CALL ZONAL_FILTER(
81       U      theta, hFacC,       U      theta, hFacC,
82       I      1, sNy, k, k, bi, bj, 1, myThid)       I      1, sNy, k, k, bi, bj, 1, myThid)
 #endif /* INCLUDE_LAT_CIRC_FFT_FILTER_CODE */  
83            ENDDO            ENDDO
84           ENDDO           ENDDO
85          ENDDO          ENDDO
86         ENDDO         ENDDO
87    #endif /* INCLUDE_LAT_CIRC_FFT_FILTER_CODE */
88        ELSE        ELSE
89         _BEGIN_MASTER( myThid )         _BEGIN_MASTER( myThid )
90         CALL READ_FLD_XYZ_RL( hydrogThetaFile, ' ', theta, 0, myThid )         CALL READ_FLD_XYZ_RL( hydrogThetaFile, ' ', theta, 0, myThid )

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

  ViewVC Help
Powered by ViewVC 1.1.22