Skip to content
Snippets Groups Projects
modi_gradient_u.F90 1.98 KiB
Newer Older
  • Learn to ignore specific revisions
  • !     ######spl
          MODULE MODI_GRADIENT_U
    !     ######################
    !
    INTERFACE
    !
    !     
    FUNCTION GX_U_M(KKA,KKU,KL,PA,PDXX,PDZZ,PDZX)      RESULT(PGX_U_M)
    INTEGER,              INTENT(IN)     :: KKA, KKU ! near ground and uppest atmosphere array indexes
    INTEGER,              INTENT(IN)     :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PA      ! variable at the U point
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDXX    ! metric coefficient dxx
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDZZ    ! metric coefficient dzz
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDZX    ! metric coefficient dzx
    !
    REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_U_M ! result mass point
    !
    END FUNCTION GX_U_M
    !
    !     
    FUNCTION GY_U_UV(KKA,KKU,KL,PA,PDYY,PDZZ,PDZY)      RESULT(PGY_U_UV)
    !
    INTEGER,              INTENT(IN)     :: KKA, KKU ! near ground and uppest atmosphere array indexes
    INTEGER,              INTENT(IN)     :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PA      ! variable at the U point
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDYY    ! metric coefficient dyy
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDZZ    ! metric coefficient dzz
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDZY    ! metric coefficient dzy
    !
    REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_U_UV ! result UV point
    !
    END FUNCTION GY_U_UV
    !
    !     
    FUNCTION GZ_U_UW(KKA,KKU,KL,PA,PDZZ)      RESULT(PGZ_U_UW)
    !
    INTEGER,              INTENT(IN)     :: KKA, KKU ! near ground and uppest atmosphere array indexes
    INTEGER,              INTENT(IN)     :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PA      ! variable at the U point
    REAL, DIMENSION(:,:,:),  INTENT(IN)  :: PDZZ    ! metric coefficient dzz
    !
    REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_U_UW ! result UW point
    !
    END FUNCTION GZ_U_UW
    !
    END INTERFACE
    !
    END MODULE MODI_GRADIENT_U