! This module replaces grid/fxy_new.h MODULE lmdz_fxy_new USE comconst_mod, ONLY: pi USE serre_mod, ONLY: pxo, pyo, alphax, alphay, transx, transy IMPLICIT NONE; PRIVATE PUBLIC fx, fxprim, fy, fyprim INCLUDE "dimensions.h" INCLUDE "paramet.h" CONTAINS REAL FUNCTION ripx(ri) REAL, INTENT(IN) :: ri ripx = (ri - 1.0) * 2. * pi / REAL(iim) END FUNCTION ripx REAL FUNCTION fx(ri) REAL, INTENT(IN) :: ri fx = ripx(ri) + transx + alphax * SIN(ripx(ri) + transx - pxo) - pi END FUNCTION fx REAL FUNCTION fxprim(ri) REAL, INTENT(IN) :: ri fxprim = 2. * pi / REAL(iim) * (1. + alphax * COS(ripx(ri) + transx - pxo)) END FUNCTION fxprim REAL FUNCTION bigy(rj) REAL, INTENT(IN) :: rj bigy = 2. * (REAL(jjp1) - rj) * pi / jjm END FUNCTION bigy REAL FUNCTION fy(rj) REAL, INTENT(IN) :: rj fy = (bigy(rj) + transy + alphay * SIN(bigy(rj) + transy - pyo)) / 2. - pi / 2. END FUNCTION fy REAL FUNCTION fyprim(rj) REAL, INTENT(IN) :: rj fyprim = (pi / jjm) * (1. + alphay * COS(bigy(rj) + transy - pyo)) END FUNCTION fyprim END MODULE lmdz_fxy_new