Changeset 5309 for LMDZ6


Ignore:
Timestamp:
Nov 1, 2024, 12:39:44 PM (3 weeks ago)
Author:
abarral
Message:

Turn YOEGWD.h sisvat_weq into module

Location:
LMDZ6/trunk/libf
Files:
7 edited
3 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/acama_gwd_rando_m.f90

    r5285 r5309  
    2222
    2323!  ONLINE:
    24     USE yomcst_mod_h
     24USE yoegwd_mod_h
     25        USE yomcst_mod_h
    2526use dimphy, only: klon, klev
    2627    use assert_m, only: assert
     
    3334!   include "dimphy.h"
    3435!END DIFFERENCE
    35     include "YOEGWD.h"
    3636
    3737    ! 0. DECLARATIONS:
  • LMDZ6/trunk/libf/phylmd/conf_phys_m.f90

    r5305 r5309  
    2424       alp_offset)
    2525
    26 USE yomcst2_mod_h
     26USE yoegwd_mod_h
     27    USE yomcst2_mod_h
    2728        USE compbl_mod_h
    2829    USE alpale_mod
     
    4546    USE nuage_params_mod_h
    4647
    47     INCLUDE "YOEGWD.h"
    4848    !
    4949    ! Configuration de la "physique" de LMDZ a l'aide de la fonction
  • LMDZ6/trunk/libf/phylmd/flott_gwd_rando_m.f90

    r5285 r5309  
    2525      USE ioipsl_getin_p_mod, ONLY : getin_p
    2626      USE vertical_layers_mod, ONLY : presnivs
     27      USE yoegwd_mod_h
    2728      CHARACTER (LEN=20) :: modname='flott_gwd_rando'
    2829      CHARACTER (LEN=80) :: abort_message
    29 
    3030
    3131    ! OFFLINE:
     
    3333    ! include "dimphy.h"
    3434    ! END OF DIFFERENCE ONLINE-OFFLINE
    35     include "YOEGWD.h"
    3635
    3736    ! 0. DECLARATIONS:
  • LMDZ6/trunk/libf/phylmd/freinage.f90

    r5305 r5309  
    66
    77    !ONLINE:
    8 USE dimpft_mod_h
     8USE yoegwd_mod_h
     9    USE dimpft_mod_h
    910    USE compbl_mod_h
    1011        USE clesphys_mod_h
     
    1819
    1920
    20     include "YOEGWD.h"
    2121!FC
    2222
  • LMDZ6/trunk/libf/phylmd/hines_gwd.f90

    r5285 r5309  
    1313
    1414
    15   USE dimphy
     15USE yoegwd_mod_h
     16    USE dimphy
    1617  USE yomcst_mod_h
    1718IMPLICIT NONE
    1819
    19   include "YOEGWD.h"
    2020
    2121
  • LMDZ6/trunk/libf/phylmd/inlandsis/sisvat_weq_mod.f90

    r5308 r5309  
     1MODULE sisvat_weq_mod
     2  IMPLICIT NONE; PRIVATE
     3  PUBLIC sisvat_weq
     4
     5  LOGICAL :: logWEq
     6
     7CONTAINS
     8
     9  SUBROUTINE SISVAT_wEq(labWEq, istart)
     10
     11    ! +------------------------------------------------------------------------+
     12    ! | MAR          SISVAT_wEq                                22-09-2001  MAR |
     13    ! |   SubRoutine SISVAT_wEq computes the Snow/Ice  Water  Equivalent       |
     14    ! |                                                                        |
     15    ! |                                                                        |
     16    ! |   Preprocessing  Option: SISVAT IO (not always a standard preprocess.) |
     17    ! |   ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                     |
     18    ! |   FILE                 |      CONTENT                                  |
     19    ! |   ~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
     20    ! | # SISVAT_wEq.ve        | #ve: OUTPUT/Verification: Snow/Ice Water Eqv. |
     21    ! |                        |      unit 45, SubRoutine  SISVAT_wEq **ONLY** |
     22    ! +------------------------------------------------------------------------+
     23
     24    ! +--Global Variables
     25    ! +  ================
     26    USE VARphy
     27    USE VAR_SV
     28    USE VARxSV
     29
     30    IMPLICIT NONE
     31
     32    CHARACTER(LEN = 6) :: labWEq
     33    INTEGER :: istart
     34
     35    ! +--Local  Variables
     36    ! +  ================
     37
     38    INTEGER :: ikl, isn
     39    REAL :: SnoWEQ, IceWEQ
    140
    241
    3 subroutine SISVAT_wEq( labWEq ,istart)
     42    ! +--Switch Initialization
     43    ! +  =====================
    444
    5   ! +------------------------------------------------------------------------+
    6   ! | MAR          SISVAT_wEq                                22-09-2001  MAR |
    7   ! |   SubRoutine SISVAT_wEq computes the Snow/Ice  Water  Equivalent       |
    8   ! |                                                                        |
    9   ! |                                                                        |
    10   ! |   Preprocessing  Option: SISVAT IO (not always a standard preprocess.) |
    11   ! |   ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                     |
    12   ! |   FILE                 |      CONTENT                                  |
    13   ! |   ~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
    14   ! | # SISVAT_wEq.ve        | #ve: OUTPUT/Verification: Snow/Ice Water Eqv. |
    15   ! |                        |      unit 45, SubRoutine  SISVAT_wEq **ONLY** |
    16   ! +------------------------------------------------------------------------+
     45    IF (.NOT.logWEq)                                              THEN
     46      logWEq = .TRUE.
     47      open(unit = 45, status = 'unknown', file = 'SISVAT_wEq.ve')
     48      rewind    45
     49    END IF
    1750
    1851
     52    ! +--Snow Water Equivalent
     53    ! +  =====================
     54
     55    ikl = 1
     56    IF          (isnoSV(ikl)>iiceSV(ikl))                      THEN
     57      SnoWEQ = 0.
     58      DO isn = iiceSV(ikl) + 1, isnoSV(ikl)
     59        SnoWEQ = SnoWEQ + ro__SV(ikl, isn) * dzsnSV(ikl, isn)
     60      END DO
     61
     62    END IF
    1963
    2064
    21   ! +--Global Variables
    22   ! +  ================
     65    ! +--Ice  Water Equivalent
     66    ! +  =====================
     67    IF        (iiceSV(1)>0)                                    THEN
     68      IceWEQ = 0.
     69      DO isn = 1, iiceSV(ikl)
     70        IceWEQ = IceWEQ + ro__SV(ikl, isn) * dzsnSV(ikl, isn)
     71      END DO
    2372
    24   use VARphy
    25   use VAR_SV
    26   use VARxSV
     73    END IF
    2774
    28   IMPLICIT NONE
     75  END SUBROUTINE sisvat_weq
    2976
    30 
    31 
    32   character(len=6) :: labWEq
    33   integer :: istart
    34 
    35   logical :: logWEq
    36   common/SISVAT_wEq_L/logWEq
    37 
    38 
    39   ! +--Local  Variables
    40   ! +  ================
    41 
    42   integer :: ikl   ,isn
    43   real :: SnoWEQ,IceWEQ
    44 
    45 
    46   ! +--Switch Initialization
    47   ! +  =====================
    48 
    49   IF (.NOT.logWEq)                                              THEN
    50            logWEq = .true.
    51            open(unit=45,status='unknown',file='SISVAT_wEq.ve')
    52            rewind    45
    53   END IF
    54 
    55 
    56   ! +--Snow Water Equivalent
    57   ! +  =====================
    58 
    59        ikl   = 1
    60   IF          (isnoSV(ikl).gt.iiceSV(ikl))                      THEN
    61 
    62       SnoWEQ = 0.
    63     DO isn   = iiceSV(ikl)+1 ,isnoSV(ikl)
    64       SnoWEQ = SnoWEQ       + ro__SV(ikl,isn) * dzsnSV(ikl,isn)
    65     END DO
    66 
    67   END IF
    68 
    69 
    70   ! +--Ice  Water Equivalent
    71   ! +  =====================
    72 
    73   IF        (iiceSV(1).gt.0)                                    THEN
    74 
    75       IceWEQ = 0.
    76     DO isn   =             1 ,iiceSV(ikl)
    77       IceWEQ = IceWEQ       + ro__SV(ikl,isn) * dzsnSV(ikl,isn)
    78     END DO
    79 
    80   END IF
    81 
    82 
    83   ! +--OUTPUT
    84   ! +  ======
    85 
    86   !!      IF (istart.eq.1)                                              THEN
    87   !!        write(45,45)dahost,i___SV(lwriSV(1)),j___SV(lwriSV(1)),
    88   !!     .              n___SV(lwriSV(1))
    89   !! 45     format(a18,10('-'),'Pt.',3i4,60('-'))
    90   !!      END IF
    91 
    92   !!      write(45,450) labWEq,IceWEQ,iiceSV(ikl),SnoWEQ
    93   !!     .                    ,IceWEQ+SnoWEQ,isnoSV(ikl)
    94   !!     .                                  ,drr_SV(ikl)*dt__SV
    95   !!     .                                  ,dsn_SV(ikl)*dt__SV
    96   !!     .                                  ,BufsSV(ikl)
    97   !! 450  format(a6,3x,'  I+S =',f11.4,'(',i2,') +',f11.4,' =',
    98   !!     .                       f11.4,'(',i2,')',
    99   !!     .             '  drr =', f7.4,
    100   !!     .             '  dsn =', f7.4,
    101   !!     .             '  Buf =', f7.4)
    102 
    103   return
    104 end subroutine sisvat_weq
     77END MODULE sisvat_weq_mod
  • LMDZ6/trunk/libf/phylmd/orografi.f90

    r5285 r5309  
    122122  USE yomcst_mod_h
    123123  USE dimphy
     124  USE yoegwd_mod_h
    124125  IMPLICIT NONE
    125126
     
    168169
    169170  ! f.lott + m. miller    e.c.m.w.f.     22/11/94
    170   ! -----------------------------------------------------------------------
    171 
    172 
    173   include "YOEGWD.h"
    174171  ! -----------------------------------------------------------------------
    175172
     
    397394
    398395  ! -----------------------------------------------------------------------
    399   USE dimphy
     396USE yoegwd_mod_h
     397    USE dimphy
    400398  USE yomcst_mod_h
    401399IMPLICIT NONE
     
    403401
    404402
    405   include "YOEGWD.h"
    406403
    407404  ! -----------------------------------------------------------------------
     
    843840
    844841  ! -----------------------------------------------------------------------
    845   USE dimphy
     842USE yoegwd_mod_h
     843    USE dimphy
    846844  USE yomcst_mod_h
    847845IMPLICIT NONE
    848846
    849   include "YOEGWD.h"
    850847
    851848  ! -----------------------------------------------------------------------
     
    969966  ! PASSAGE OF THE NEW GWDRAG TO I.F.S. (F. LOTT, 22/11/93)
    970967  ! -----------------------------------------------------------------------
    971   USE dimphy
     968USE yoegwd_mod_h
     969    USE dimphy
    972970  USE yomcst_mod_h
    973971IMPLICIT NONE
     
    977975
    978976
    979   include "YOEGWD.h"
    980977
    981978  ! -----------------------------------------------------------------------
     
    13131310  ! F.LOTT  LMD 22/11/95
    13141311
    1315   USE dimphy
     1312USE yoegwd_mod_h
     1313    USE dimphy
    13161314  USE yomcst_mod_h
    13171315IMPLICIT NONE
     
    13191317
    13201318
    1321   include "YOEGWD.h"
    13221319  ! -----------------------------------------------------------------------
    13231320
     
    15621559
    15631560SUBROUTINE sugwd(nlon, nlev, paprs, pplay)
    1564   USE dimphy
     1561USE yoegwd_mod_h
     1562    USE dimphy
    15651563  USE mod_phys_lmdz_para
    15661564  USE mod_grid_phy_lmdz
     
    16111609
    16121610  ! -----------------------------------------------------------------
    1613   include "YOEGWD.h"
    16141611  ! ----------------------------------------------------------------
    16151612
  • LMDZ6/trunk/libf/phylmd/orografi_strato.f90

    r5285 r5309  
    55  USE yomcst_mod_h
    66  USE dimphy
     7  USE yoegwd_mod_h
    78  IMPLICIT NONE
    89  ! ======================================================================
     
    6364
    6465  ! ======================================================================
    65   include "YOEGWD.h"
    6666
    6767  ! ARGUMENTS
     
    161161  USE yomcst_mod_h
    162162  USE dimphy
     163  USE yoegwd_mod_h
    163164  IMPLICIT NONE
    164165
     
    237238
    238239  ! f.lott + m. miller    e.c.m.w.f.     22/11/94
    239   ! -----------------------------------------------------------------------
    240 
    241 
    242   include "YOEGWD.h"
    243 
    244240  ! -----------------------------------------------------------------------
    245241
     
    543539
    544540  ! -----------------------------------------------------------------------
    545   USE dimphy
     541USE yoegwd_mod_h
     542    USE dimphy
    546543  USE yomcst_mod_h
    547544IMPLICIT NONE
     
    549546
    550547
    551   include "YOEGWD.h"
    552548
    553549  ! -----------------------------------------------------------------------
     
    997993
    998994  ! -----------------------------------------------------------------------
    999   USE dimphy
     995USE yoegwd_mod_h
     996    USE dimphy
    1000997  USE yomcst_mod_h
    1001998IMPLICIT NONE
    1002999
    10031000
    1004   include "YOEGWD.h"
    10051001
    10061002  ! -----------------------------------------------------------------------
     
    11151111  ! nstra.
    11161112
    1117   USE dimphy
     1113USE yoegwd_mod_h
     1114    USE dimphy
    11181115  USE yomcst_mod_h
    11191116IMPLICIT NONE
    11201117
    11211118
    1122   include "YOEGWD.h"
    11231119
    11241120  ! -----------------------------------------------------------------------
     
    12951291  USE yomcst_mod_h
    12961292  USE dimphy
     1293  USE yoegwd_mod_h
    12971294  IMPLICIT NONE
    12981295  ! ======================================================================
     
    13541351  ! ======================================================================
    13551352
    1356   include "YOEGWD.h"
    1357 
    13581353  ! ARGUMENTS
    13591354
     
    15071502  ! F.LOTT  LMD 22/11/95
    15081503
    1509   USE dimphy
     1504USE yoegwd_mod_h
     1505    USE dimphy
    15101506  USE yomcst_mod_h
    15111507IMPLICIT NONE
     
    15131509
    15141510
    1515   include "YOEGWD.h"
    15161511  ! -----------------------------------------------------------------------
    15171512
     
    18201815  ! LAST:  99-07-09     (FRANCOIS LOTT,LMD)
    18211816  ! ------------------------------------------------------------------
    1822   USE dimphy
     1817USE yoegwd_mod_h
     1818    USE dimphy
    18231819  USE mod_phys_lmdz_para
    18241820  USE mod_grid_phy_lmdz
     
    18271823
    18281824  ! -----------------------------------------------------------------
    1829   include "YOEGWD.h"
    18301825  ! ----------------------------------------------------------------
    18311826
  • LMDZ6/trunk/libf/phylmd/yoegwd_mod_h.f90

    r5308 r5309  
    1 !
    2 ! $Header$
    3 !
    4 !  ATTENTION : ce fichier include est compatible format fixe/format libre
    5 !                 veillez  n'utiliser que des ! pour les commentaires
    6 !                 et  bien positionner les & des lignes de continuation
    7 !                 (les placer en colonne 6 et en colonne 73)
    8 !     -----------------------------------------------------------------
    9 !*    *COMMON* *YOEGWD* - PARAMETERS FOR GRAVITY WAVE DRAG CALCULATIONS
    10 !     -----------------------------------------------------------------
    11 !
    12       integer NKTOPG,NSTRA
    13       real GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT
    14       real GHMAX,GRAHILO,GSIGCR,GSSEC,GTSEC,GVSEC
     1! PARAMETERS FOR GRAVITY WAVE DRAG CALCULATIONS
     2MODULE yoegwd_mod_h
     3  IMPLICIT NONE; PRIVATE
     4  PUBLIC GFRCRIT, GKWAKE, GRCRIT, GVCRIT, GKDRAG, GKLIFT, GHMAX, GRAHILO, GSIGCR, NKTOPG, NSTRA, GSSEC, GTSEC, GVSEC, &
     5          GWD_RANDO_RUWMAX, gwd_rando_sat, GWD_FRONT_RUWMAX, gwd_front_sat
    156
    16       REAL GWD_RANDO_RUWMAX
    17 !     Maximum Eliassen-Palm flux at launch level, in "FLOTT_GWD_rando"
     7  INTEGER NKTOPG, NSTRA
     8  REAL GFRCRIT, GKWAKE, GRCRIT, GVCRIT, GKDRAG, GKLIFT
     9  REAL GHMAX, GRAHILO, GSIGCR, GSSEC, GTSEC, GVSEC
    1810
    19       REAL GWD_RANDO_SAT ! saturation parameter in "FLOTT_GWD_rando"
    20 !     S_c in equation (12) of Lott (JGR, vol 118, page 8897, 2013)
     11  REAL GWD_RANDO_RUWMAX
     12  !     Maximum Eliassen-Palm flux at launch level, in "FLOTT_GWD_rando"
    2113
    22       REAL GWD_FRONT_RUWMAX,GWD_FRONT_SAT
    23 ! Same as GWD_RANDO params but for fronal GWs
     14  REAL GWD_RANDO_SAT ! saturation parameter in "FLOTT_GWD_rando"
     15  !     S_c in equation (12) of Lott (JGR, vol 118, page 8897, 2013)
    2416
     17  REAL GWD_FRONT_RUWMAX, GWD_FRONT_SAT
     18  ! Same as GWD_RANDO params but for fronal GWs
    2519
    26       COMMON/YOEGWD/ GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT,        &
    27      &     GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC,         &
    28      &     GWD_RANDO_RUWMAX, gwd_rando_sat,                             &
    29      &     GWD_FRONT_RUWMAX, gwd_front_sat
    30 
    31       save /YOEGWD/
    32 !$OMP THREADPRIVATE(/YOEGWD/)
     20  !$OMP THREADPRIVATE(GFRCRIT, GKWAKE, GRCRIT, GVCRIT, GKDRAG, GKLIFT, GHMAX, GRAHILO, GSIGCR, NKTOPG, NSTRA, GSSEC, GTSEC, GVSEC, &
     21  !$OMP          GWD_RANDO_RUWMAX, gwd_rando_sat, GWD_FRONT_RUWMAX, gwd_front_sat)
     22END MODULE yoegwd_mod_h
  • LMDZ6/trunk/libf/phylmdiso/yoegwd_mod_h.f90

    r5308 r5309  
    1 link ../phylmd/YOEGWD.h
     1link ../phylmd/yoegwd_mod_h.f90
Note: See TracChangeset for help on using the changeset viewer.