Back to home page

MITgcm

 
 

    


File indexing completed on 2022-01-06 06:13:23 UTC

view on githubraw file Latest commit 9f5240b5 on 2022-01-05 15:24:45 UTC
0c3d35c9cd Gael*0001 #include "SMOOTH_OPTIONS.h"
                0002 
9f5240b52a Jean*0003       SUBROUTINE SMOOTH_BASIC2D(
                0004      &           fld_in, mask_in, dist_in, nbt_in, myThid )
0c3d35c9cd Gael*0005 
                0006 C     *==========================================================*
                0007 C     | SUBROUTINE smooth_basic2D
                0008 C     | o this routine smoothes a 2D field isotropically (except for
7b8b86ab99 Timo*0009 C     |   the land mask) to a constant length scale. It mostly
0c3d35c9cd Gael*0010 C     |   calls smooth_diff2D.F.
                0011 C     *==========================================================*
                0012 
                0013       IMPLICIT NONE
                0014 #include "SIZE.h"
                0015 #include "EEPARAMS.h"
                0016 #include "GRID.h"
                0017 #include "PARAMS.h"
                0018 #include "SMOOTH.h"
                0019 
                0020       _RL fld_in(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
9f5240b52a Jean*0021       _RS mask_in(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0c3d35c9cd Gael*0022       _RL dist_in
9f5240b52a Jean*0023       INTEGER nbt_in
                0024       INTEGER myThid
0c3d35c9cd Gael*0025 
9f5240b52a Jean*0026       INTEGER i,j,bi,bj
0c3d35c9cd Gael*0027 
                0028       smooth2DtotTime=nbt_in*smooth2DdelTime
                0029 
                0030       DO bj=myByLo(myThid),myByHi(myThid)
                0031        DO bi=myBxLo(myThid),myBxHi(myThid)
                0032          DO j=1-OLy,sNy+OLy
                0033           DO i=1-OLx,sNx+OLx
9f5240b52a Jean*0034             smooth2D_Lx(i,j,bi,bj) = dist_in
                0035             smooth2D_Ly(i,j,bi,bj) = dist_in
0c3d35c9cd Gael*0036           ENDDO
                0037          ENDDO
                0038        ENDDO
                0039       ENDDO
                0040 
                0041       DO bj=myByLo(myThid),myByHi(myThid)
                0042        DO bi=myBxLo(myThid),myBxHi(myThid)
                0043          DO j=1-OLy,sNy+OLy
                0044           DO i=1-OLx,sNx+OLx
9f5240b52a Jean*0045             smooth2D_Kux(i,j,bi,bj) = smooth2D_Lx(i,j,bi,bj)*
                0046      &               smooth2D_Lx(i,j,bi,bj)/smooth2DtotTime/2
                0047             smooth2D_Kvy(i,j,bi,bj) = smooth2D_Ly(i,j,bi,bj)*
                0048      &               smooth2D_Ly(i,j,bi,bj)/smooth2DtotTime/2
0c3d35c9cd Gael*0049           ENDDO
                0050          ENDDO
                0051        ENDDO
                0052       ENDDO
                0053 
9f5240b52a Jean*0054       CALL EXCH_XY_RL( smooth2D_Kux , myThid )
                0055       CALL EXCH_XY_RL( smooth2D_Kvy , myThid )
0c3d35c9cd Gael*0056 
9f5240b52a Jean*0057       CALL SMOOTH_DIFF2D( fld_in, mask_in, nbt_in, myThid )
0c3d35c9cd Gael*0058 
9f5240b52a Jean*0059       CALL EXCH_XY_RL( fld_in , myThid )
7b8b86ab99 Timo*0060 
9f5240b52a Jean*0061       RETURN
                0062       END