Ignore:
Timestamp:
Jan 29, 2026, 12:52:39 AM (7 weeks ago)
Author:
fhourdin
Message:

Travail pour la replayisation de la convection

Reunion de tous les anciens common devenus modules, dans lmdz_cv_ini.
Déplacement de presque toutes les routines d'initialisation dans lmdz_cv_ini.
Encapsulage de certains sous-programmes dans des modules.
Suppression de programmes inutilisés (cv3_crit et cv3_incp)
Reste :

  • à sortir des routines d'initialisation "_pre" de cv_driver et

cva_driver

  • à passer le variables argunement en intent(in/out/inout).

La convergence numérique a été testée pour
iflag_con=3/30/4
en 3D parallèle.
La compilation de la version isotopique fonctionne.

File:
1 edited

Legend:

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

    r6048 r6058  
    1515! called before cva_driver
    1616SUBROUTINE cva_driver_pre(nd, k_upper, iflag_con, iflag_ice_thermo, ok_conserv_q, delt)
    17 USE cv3_routines_mod, ONLY : cv3_routine_pre, cv3_param 
    18 USE cv_routines_mod, ONLY : cv_param
     17USE cv3_routines_mod, ONLY : cv3_routine_pre
     18USE lmdz_cv_ini, ONLY : cv_thermo,cv_flag,cv3_param, cv_param   ! A retirer apres replaysation
    1919USE ioipsl_getin_p_mod, ONLY : getin_p
    2020USE s2s
     
    3737    CALL getin_p("convection_no_compression",never_compress)
    3838    IF (s2s_gpu_activated()) never_compress = .TRUE.  ! for GPU, compression must be disabled
    39     CALL cv_flag(iflag_ice_thermo)
    40 
    41     ! -- set thermodynamical constants:
    42     ! (common cvthermo)
    43 
    44     CALL cv_thermo(iflag_con)
    45 
    46     ! -- set convect parameters
    47 
    48     ! includes microphysical parameters and parameters that
    49     ! control the rate of approach to quasi-equilibrium)
    50     ! (common cvparam)
    51 
    52     IF (iflag_con==3) THEN
    53       CALL cv3_param(nd, k_upper, delt)
    54     END IF
    55 
    56     IF (iflag_con==4) THEN
    57       CALL cv_param(nd)
    58     END IF
    59    
     39! Deplace dans lmdz_cv_ini    CALL cv_flag(iflag_ice_thermo)
     40! Deplace dans lmdz_cv_ini
     41! Deplace dans lmdz_cv_ini    ! -- set thermodynamical constants:
     42! Deplace dans lmdz_cv_ini    ! (common cvthermo)
     43! Deplace dans lmdz_cv_ini
     44! Deplace dans lmdz_cv_ini    CALL cv_thermo(iflag_con)
     45! Deplace dans lmdz_cv_ini
     46! Deplace dans lmdz_cv_ini    ! -- set convect parameters
     47! Deplace dans lmdz_cv_ini
     48! Deplace dans lmdz_cv_ini    ! includes microphysical parameters and parameters that
     49! Deplace dans lmdz_cv_ini    ! control the rate of approach to quasi-equilibrium)
     50! Deplace dans lmdz_cv_ini    ! (common cvparam)
     51! Deplace dans lmdz_cv_ini
     52! Deplace dans lmdz_cv_ini    IF (iflag_con==3) THEN
     53! Deplace dans lmdz_cv_ini      CALL cv3_param(nd, k_upper, delt)
     54! Deplace dans lmdz_cv_ini    END IF
     55! Deplace dans lmdz_cv_ini
     56! Deplace dans lmdz_cv_ini    IF (iflag_con==4) THEN
     57! Deplace dans lmdz_cv_ini      CALL cv_param(nd)
     58! Deplace dans lmdz_cv_ini    END IF
     59! Deplace dans lmdz_cv_ini   
    6060    CALL cv3_routine_pre(ok_conserv_q)
    6161  ENDIF
     
    112112! **************************************************************
    113113
    114   USE print_control_mod, ONLY: prt_level, lunout
    115   USE add_phys_tend_mod, ONLY: fl_cor_ebil
    116   USE cv3_routines_mod
    117   USE cv_routines_mod
     114   USE lmdz_cv_ini, ONLY: prt_level, lunout
     115  !!!USE lmdz_cv_ini, ONLY: fl_cor_ebil
     116  USE cv3_routines_mod, ONLY : cv3_prelim, cv3_feed, cv3_undilute1, cv3_trigger, cv3_undilute2, cv3_epmax_fn_cape, cv3_closure, cv3_mixing, cv3_unsat, cv3_yield, cv3_tracer, cv3_incrcount
     117  USE cv_routines_mod, ONLY : cv_prelim, cv_feed, cv_undilute1, cv_trigger, cv_compress, cv_undilute2, cv_closure, cv_mixing, cv_unsat, cv_yield, cv_uncompress
     118
    118119  USE cv3a_compress_mod, ONLY : cv3a_compress
    119120  USE cv3p_mixing_mod, ONLY   : cv3p_mixing
Note: See TracChangeset for help on using the changeset viewer.