Back to home page

MITgcm

 
 

    


File indexing completed on 2022-03-25 05:09:33 UTC

view on githubraw file Latest commit 7e00d7e8 on 2022-03-24 16:33:13 UTC
d067a44b7e Jean*0001 #include "CPP_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: INI_FFIELDS
                0005 C     !INTERFACE:
                0006       SUBROUTINE INI_FFIELDS( myThid )
                0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | SUBROUTINE INI_FFIELDS
                0011 C     | o Initialise to zero FFLIEDS.h arrays
                0012 C     *==========================================================*
                0013 C     | Sets all forcing fields to zero.
                0014 C     *==========================================================*
                0015 C     \ev
                0016 
                0017 C     !USES:
                0018       IMPLICIT NONE
                0019 C     === Global variables ===
                0020 #include "SIZE.h"
                0021 #include "EEPARAMS.h"
                0022 #include "PARAMS.h"
                0023 #include "FFIELDS.h"
                0024 
                0025 C     !INPUT/OUTPUT PARAMETERS:
                0026 C     == Routine arguments ==
                0027 C     myThid  :: my Thread Id number
                0028       INTEGER myThid
                0029 
                0030 C     !LOCAL VARIABLES:
                0031 C     == Local variables ==
                0032 C     bi,bj   :: Tile indices
                0033 C     i, j, k :: Loop counters
                0034       INTEGER bi, bj
                0035       INTEGER i, j, k
                0036 CEOP
                0037 
                0038 C--   Initialise all arrays in common blocks
                0039       DO bj = myByLo(myThid), myByHi(myThid)
                0040        DO bi = myBxLo(myThid), myBxHi(myThid)
                0041 
                0042 C-    2-D forcing fields
                0043         DO j=1-OLy,sNy+OLy
                0044          DO i=1-OLx,sNx+OLx
                0045           fu              (i,j,bi,bj) = 0. _d 0
                0046           fv              (i,j,bi,bj) = 0. _d 0
                0047           Qnet            (i,j,bi,bj) = 0. _d 0
                0048           Qsw             (i,j,bi,bj) = 0. _d 0
                0049           EmPmR           (i,j,bi,bj) = 0. _d 0
                0050           saltFlux        (i,j,bi,bj) = 0. _d 0
                0051           SST             (i,j,bi,bj) = 0. _d 0
                0052           SSS             (i,j,bi,bj) = 0. _d 0
614bfb3d2a Jean*0053           phiTide2d       (i,j,bi,bj) = 0. _d 0
d067a44b7e Jean*0054           pLoad           (i,j,bi,bj) = 0. _d 0
                0055           sIceLoad        (i,j,bi,bj) = 0. _d 0
                0056 #ifdef ALLOW_GEOTHERMAL_FLUX
                0057           geothermalFlux  (i,j,bi,bj) = 0. _d 0
                0058 #endif
                0059 #ifndef EXCLUDE_FFIELDS_LOAD
                0060 C-    Time reccord loaded from file:
                0061           taux0           (i,j,bi,bj) = 0. _d 0
                0062           taux1           (i,j,bi,bj) = 0. _d 0
                0063           tauy0           (i,j,bi,bj) = 0. _d 0
                0064           tauy1           (i,j,bi,bj) = 0. _d 0
                0065           Qnet0           (i,j,bi,bj) = 0. _d 0
                0066           Qnet1           (i,j,bi,bj) = 0. _d 0
                0067           EmPmR0          (i,j,bi,bj) = 0. _d 0
                0068           EmPmR1          (i,j,bi,bj) = 0. _d 0
                0069           saltFlux0       (i,j,bi,bj) = 0. _d 0
                0070           saltFlux1       (i,j,bi,bj) = 0. _d 0
                0071           SST0            (i,j,bi,bj) = 0. _d 0
                0072           SST1            (i,j,bi,bj) = 0. _d 0
                0073           SSS0            (i,j,bi,bj) = 0. _d 0
                0074           SSS1            (i,j,bi,bj) = 0. _d 0
                0075 #ifdef SHORTWAVE_HEATING
                0076           Qsw0            (i,j,bi,bj) = 0. _d 0
                0077           Qsw1            (i,j,bi,bj) = 0. _d 0
                0078 #endif
8d218e2b5b suya*0079 #ifdef ALLOW_GEOTHERMAL_FLUX
566c69081d Jean*0080           geothFlux0      (i,j,bi,bj) = 0. _d 0
                0081           geothFlux1      (i,j,bi,bj) = 0. _d 0
8d218e2b5b suya*0082 #endif
d067a44b7e Jean*0083 #ifdef ATMOSPHERIC_LOADING
                0084           pLoad0          (i,j,bi,bj) = 0. _d 0
                0085           pLoad1          (i,j,bi,bj) = 0. _d 0
                0086 #endif
                0087 #endif /* EXCLUDE_FFIELDS_LOAD */
                0088          ENDDO
                0089         ENDDO
                0090 #ifndef EXCLUDE_FFIELDS_LOAD
                0091         loadedRec(bi,bj) = 0
                0092 #endif /* EXCLUDE_FFIELDS_LOAD */
                0093 
                0094 C-    3-D forcing fields
                0095         DO k=1,Nr
                0096 #ifdef ALLOW_ADDFLUID
                0097          DO j=1-OLy,sNy+OLy
                0098           DO i=1-OLx,sNx+OLx
                0099            addMass(i,j,k,bi,bj) = 0. _d 0
                0100           ENDDO
                0101          ENDDO
                0102 #endif /* ALLOW_ADDFLUID */
                0103 #ifdef ALLOW_FRICTION_HEATING
                0104          DO j=1-OLy,sNy+OLy
                0105           DO i=1-OLx,sNx+OLx
                0106            frictionHeating(i,j,k,bi,bj) = 0. _d 0
                0107           ENDDO
                0108          ENDDO
                0109 #endif /* ALLOW_FRICTION_HEATING */
                0110 #ifdef ALLOW_EDDYPSI
                0111          DO j=1-OLy,sNy+OLy
                0112           DO i=1-OLx,sNx+OLx
fd6656ef94 Jean*0113            eddyPsiX  (i,j,k,bi,bj) = 0. _d 0
                0114            eddyPsiY  (i,j,k,bi,bj) = 0. _d 0
                0115            tauxEddy  (i,j,k,bi,bj) = 0. _d 0
                0116            tauyEddy  (i,j,k,bi,bj) = 0. _d 0
                0117            uEulerMean(i,j,k,bi,bj) = 0. _d 0
                0118            vEulerMean(i,j,k,bi,bj) = 0. _d 0
d067a44b7e Jean*0119           ENDDO
                0120          ENDDO
                0121 #endif /* ALLOW_EDDYPSI */
                0122         ENDDO
                0123 
                0124 C-    Intermediate surface forcing arrays
                0125         DO j=1-OLy,sNy+OLy
                0126          DO i=1-OLx,sNx+OLx
                0127           surfaceForcingU (i,j,bi,bj) = 0. _d 0
                0128           surfaceForcingV (i,j,bi,bj) = 0. _d 0
                0129           surfaceForcingT (i,j,bi,bj) = 0. _d 0
                0130           surfaceForcingS (i,j,bi,bj) = 0. _d 0
538310b333 Jean*0131           adjustColdSST_diag  (i,j,bi,bj) = 0. _d 0
d067a44b7e Jean*0132           lambdaThetaClimRelax(i,j,bi,bj) = 0. _d 0
                0133           lambdaSaltClimRelax (i,j,bi,bj) = 0. _d 0
7e00d7e8f9 Jean*0134 #ifdef ALLOW_BALANCE_FLUXES
                0135           weight2BalanceFlx(i,j,bi,bj) = 0. _d 0
                0136 #endif
df999eca2c Jean*0137           botDragU        (i,j,bi,bj) = 0. _d 0
                0138           botDragV        (i,j,bi,bj) = 0. _d 0
d067a44b7e Jean*0139          ENDDO
                0140         ENDDO
                0141 
                0142 C--   end bi,bj loops
                0143        ENDDO
                0144       ENDDO
                0145 
                0146       RETURN
                0147       END