Ignore:
Timestamp:
Oct 28, 2024, 2:53:53 PM (7 hours ago)
Author:
abarral
Message:

Turn fxy*.h into modules
Fix clesphys_rrtm.h name

File:
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/grid/fxy_reg_mod_h.f90

    r5286 r5287  
    1 !
    2 ! $Header$
    3 !
    4 !-----------------------------------------------------------------------
    5 ! INCLUDE 'fxyprim.h'
    6 !
    7 !    ................................................................
    8 !    ................  Fonctions in line  ...........................
    9 !    ................................................................
    10 !
    11 REAL :: fy, fx, fxprim, fyprim
    12 REAL :: ri, rj
    13 !
    14 !
    15 fy    ( rj ) =    pi/REAL(jjm) * ( 0.5 * REAL(jjm) +  1. - rj  )
    16 fyprim( rj ) =    pi/REAL(jjm)
     1! This module replaces grid/fxy_reg.h
    172
    18 ! fy(rj)=ASIN(1.+2.*((1.-rj)/REAL(jjm)))
    19 ! fyprim(rj)=1./SQRT((rj-1.)*(jjm+1.-rj))
     3MODULE fxy_reg_mod_h
     4  USE comconst_mod, ONLY: pi
     5  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
     6  IMPLICIT NONE; PRIVATE
     7  PUBLIC fx, fxprim, fy, fyprim
    208
    21 fx    ( ri ) = 2.*pi/REAL(iim) * ( ri - 0.5*  REAL(iim) - 1. )
    22 ! fx    ( ri ) = 2.*pi/REAL(iim) * ( ri - 0.5* ( REAL(iim) + 1.) )
    23 fxprim( ri ) = 2.*pi/REAL(iim)
    24 !
    25 !
    26 !    La valeur de pi est passee par le common/const/ou /const2/ .
    27 !    Sinon, il faut la calculer avant d'appeler ces fonctions .
    28 !
    29 !   ----------------------------------------------------------------
    30 ! Fonctions a changer eventuellement, selon x(x) et y(y) choisis .
    31 !   -----------------------------------------------------------------
    32 !
    33 !    .....  ici, on a l'application particuliere suivante   ........
    34 !
    35 !            **************************************
    36 !            **     x = 2. * pi/iim *  X         **
    37 !            **     y =      pi/jjm *  Y         **
    38 !            **************************************
    39 !
    40 !   ..................................................................
    41 !   ..................................................................
    42 !
    43 !
    44 !
    45 !-----------------------------------------------------------------------
     9CONTAINS
     10
     11  REAL FUNCTION fx(ri)
     12    REAL, INTENT(IN) :: ri
     13    fx = 2. * pi / REAL(iim) * (ri - 0.5 * REAL(iim) - 1.)
     14  END FUNCTION fx
     15
     16  REAL FUNCTION fxprim(ri)
     17    REAL, INTENT(IN) :: ri
     18    fxprim = 2. * pi / REAL(iim)
     19  END FUNCTION fxprim
     20
     21  REAL FUNCTION fy(rj)
     22    REAL, INTENT(IN) :: rj
     23    fy = pi / REAL(jjm) * (0.5 * REAL(jjm) + 1. - rj)
     24  END FUNCTION fy
     25
     26  REAL FUNCTION fyprim(rj)
     27    REAL, INTENT(IN) :: rj
     28    fyprim = pi / REAL(jjm)
     29  END FUNCTION fyprim
     30END MODULE fxy_reg_mod_h
Note: See TracChangeset for help on using the changeset viewer.