Back to home page

MITgcm

 
 

    


File indexing completed on 2023-07-14 05:10:51 UTC

view on githubraw file Latest commit de57a2ec on 2023-07-13 16:55:13 UTC
bd6bef6276 Gael*0001 #include "SMOOTH_OPTIONS.h"
                0002 
9f5240b52a Jean*0003       SUBROUTINE SMOOTH3D(
                0004      &           fld_in, smoothOpNb, myThid )
bd6bef6276 Gael*0005 
                0006 C     *==========================================================*
                0007 C     | SUBROUTINE smooth3D
                0008 C     | o Routine that applies 3D spatial smoothing
                0009 C     *==========================================================*
                0010 
                0011       IMPLICIT NONE
                0012 #include "SIZE.h"
                0013 #include "EEPARAMS.h"
                0014 #include "GRID.h"
                0015 #include "PARAMS.h"
                0016 #include "SMOOTH.h"
                0017 
9f5240b52a Jean*0018       _RL fld_in(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0019       INTEGER smoothOpNb
                0020       INTEGER myThid
bd6bef6276 Gael*0021 
9f5240b52a Jean*0022       INTEGER nbt_in
de57a2ec4b Mart*0023       CHARACTER*(MAX_LEN_FNAM) fnamegeneric
f9d7cbfb72 Ou W*0024       INTEGER IL
bd6bef6276 Gael*0025 
f9d7cbfb72 Ou W*0026 c     == functions ==
                0027       INTEGER  ILNBLNK
                0028       EXTERNAL ILNBLNK
                0029 
                0030       IL = ILNBLNK( smoothDir )
                0031 
                0032 C read smoothing [i.e diffusion] operator:
                0033       WRITE(fnamegeneric,'(2A,I3.3)')
                0034      &      smoothDir(1:IL),
9f5240b52a Jean*0035      &      'smooth3Doperator', smoothOpNb
                0036       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0037      &           Nr, smooth3D_Kwx, 1, 1, myThid )
                0038       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0039      &           Nr, smooth3D_Kwy, 2, 1, myThid )
                0040       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0041      &           Nr, smooth3D_Kwz, 3, 1, myThid )
                0042       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0043      &           Nr, smooth3D_Kux, 4, 1, myThid )
                0044       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0045      &           Nr, smooth3D_Kvy, 5, 1, myThid )
                0046       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0047      &           Nr, smooth3D_Kuz, 6, 1, myThid )
                0048       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0049      &           Nr, smooth3D_Kvz, 7, 1, myThid )
                0050       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0051      &           Nr, smooth3D_Kuy, 8, 1, myThid )
                0052       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0053      &           Nr, smooth3D_Kvx, 9, 1, myThid )
                0054       CALL READ_REC_3D_RL( fnamegeneric, smoothprec,
                0055      &           Nr, smooth3D_kappaR, 10, 1, myThid )
                0056       CALL EXCH_XYZ_RL( smooth3D_Kwx, myThid )
                0057       CALL EXCH_XYZ_RL( smooth3D_Kwy, myThid )
                0058       CALL EXCH_XYZ_RL( smooth3D_Kwz, myThid )
                0059       CALL EXCH_XYZ_RL( smooth3D_Kux, myThid )
                0060       CALL EXCH_XYZ_RL( smooth3D_Kvy, myThid )
                0061       CALL EXCH_XYZ_RL( smooth3D_Kuz, myThid )
                0062       CALL EXCH_XYZ_RL( smooth3D_Kvz, myThid )
                0063       CALL EXCH_XYZ_RL( smooth3D_Kuy, myThid )
                0064       CALL EXCH_XYZ_RL( smooth3D_Kvx, myThid )
                0065       CALL EXCH_XYZ_RL( smooth3D_kappaR, myThid )
bd6bef6276 Gael*0066 
                0067 c do the smoothing:
9f5240b52a Jean*0068       nbt_in = smooth3Dnbt(smoothOpNb)
                0069       CALL smooth_diff3D( fld_in, nbt_in, myThid )
bd6bef6276 Gael*0070 
9f5240b52a Jean*0071       RETURN
                0072       END