Ignore:
Timestamp:
Apr 8, 2022, 4:47:04 PM (3 years ago)
Author:
dcugnet
Message:

Remove solsym, ok_isotopes (=niso>0), ok_isotrac (=nzone>0)

Location:
LMDZ6/trunk/libf/phylmd
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/infotrac_phy.F90

    r4120 r4124  
    1515   PUBLIC :: tracers, type_trac                            !--- Full tracers database, tracers type keyword
    1616   PUBLIC :: nqtot,   nbtr,   nqo,   nqCO2,   nqtottr      !--- Main dimensions
    17    PUBLIC :: conv_flg, pbl_flg, solsym                     !--- Convection & boundary layer activation keys
     17   PUBLIC :: conv_flg, pbl_flg                             !--- Convection & boundary layer activation keys
    1818
    1919   !=== FOR ISOTOPES: General
     
    3333
    3434   PUBLIC :: ntraciso, ntraceurs_zone, indnum_fn_num, use_iso, index_trac, iqiso
    35    PUBLIC :: niso_possibles, ok_isotrac, ok_isotopes, ok_iso_verif
     35   PUBLIC :: niso_possibles, ok_iso_verif
    3636
    3737   INTERFACE isoSelect; MODULE PROCEDURE isoSelectByIndex, isoSelectByName; END INTERFACE isoSelect
     
    132132   INTEGER,          SAVE,    ALLOCATABLE ::conv_flg(:),  &     !--- Convection     activation ; needed for INCA        (nbtr)
    133133                                             pbl_flg(:)         !--- Boundary layer activation ; needed for INCA        (nbtr)
    134    CHARACTER(LEN=8), SAVE,    ALLOCATABLE ::  solsym(:)
    135 !$OMP THREADPRIVATE(conv_flg, pbl_flg, solsym)
     134!$OMP THREADPRIVATE(conv_flg, pbl_flg)
    136135
    137136   !--- Aliases for older names + quantities to be removed             (will be replaced by:)
     
    142141   INTEGER, SAVE :: niso_possibles                              !--- suppressed (use effective niso instead)
    143142!$OMP THREADPRIVATE(niso_possibles)
    144    LOGICAL, SAVE :: ok_isotopes, ok_iso_verif, ok_isotrac       !--- -> niso>0, isoCheck, nzone>0
    145 !$OMP THREADPRIVATE(ok_isotopes, ok_iso_verif, ok_isotrac)
     143   LOGICAL, SAVE :: ok_iso_verif                                !--- -> isoCheck
     144!$OMP THREADPRIVATE(ok_iso_verif)
    146145   LOGICAL, SAVE, ALLOCATABLE :: use_iso(:)                     !--- suppressed
    147146!$OMP THREADPRIVATE             (use_iso)
     
    159158CONTAINS
    160159
    161 SUBROUTINE init_infotrac_phy(type_trac_, tracers_, isotopes_, nqtottr_, nqCO2_, pbl_flg_, conv_flg_, solsym_)
     160SUBROUTINE init_infotrac_phy(type_trac_, tracers_, isotopes_, nqtottr_, nqCO2_, pbl_flg_, conv_flg_)
    162161
    163162   USE print_control_mod, ONLY: prt_level, lunout
     
    171170   INTEGER,         INTENT(IN) :: conv_flg_(:)
    172171   INTEGER,         INTENT(IN) ::  pbl_flg_(:)
    173    CHARACTER(LEN=*),INTENT(IN) ::   solsym_(:)
    174172
    175173   INTEGER :: iq, ixt
     
    186184   pbl_flg   =  pbl_flg_
    187185   conv_flg  = conv_flg_
    188    solsym    = solsym_
    189186   nqtot     = SIZE(tracers_)
    190187   nqo       = COUNT(delPhase(tracers%name)=='H2O' .AND. tracers%iGeneration==0)
     
    230227   iqiso          => iqTraPha
    231228   index_trac     => itZonIso
    232    ok_isotopes    = niso  > 0
    233    ok_isotrac     = nzone > 0
    234229   ok_iso_verif   = isoCheck
    235230   niso_possibles = SIZE(tnom_iso)
  • LMDZ6/trunk/libf/phylmd/phytrac_mod.F90

    r4089 r4124  
    124124    USE phys_cal_mod, only : hour
    125125    USE dimphy
    126     USE infotrac_phy, ONLY: nbtr, nqCO2, type_trac, conv_flg, solsym, pbl_flg
     126    USE infotrac_phy, ONLY: nbtr, nqCO2, type_trac, conv_flg, pbl_flg
     127    USE strings_mod,  ONLY: int2str
    127128    USE mod_grid_phy_lmdz
    128129    USE mod_phys_lmdz_para
     
    753754          END DO
    754755
    755           CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,'convection it = '//solsym(it))
     756          CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,'convection it = '//TRIM(int2str(it)))
    756757
    757758       END DO ! nbtr
     
    955956                ENDDO
    956957             ENDDO
    957              CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,'lsc scav it = '//solsym(it))
     958             CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,'lsc scav it = '//TRIM(int2str(it)))
    958959             ENDIF
    959960
  • LMDZ6/trunk/libf/phylmd/rrtm/readaerosol_optic_rrtm.F90

    r3630 r4124  
    2020       load_tmp8,load_tmp9,load_tmp10
    2121
    22   USE infotrac_phy
     22  USE infotrac_phy, ONLY: tracers, nqtot, nbtr
    2323  USE YOMCST
    2424
     
    9191  integer :: id_ASBCM, id_ASPOMM, id_ASSO4M, id_ASMSAM, id_CSSO4M, id_CSMSAM, id_SSSSM
    9292  integer :: id_CSSSM, id_ASSSM, id_CIDUSTM, id_AIBCM, id_AIPOMM, id_ASNO3M, id_CSNO3M, id_CINO3M
    93   INTEGER :: k, i
     93  INTEGER :: k, i, iq, itr
    9494
    9595  !--air density
     
    107107     !--convert to ug m-3 unit for consistency with offline fields
    108108     !
    109      DO i=1,nbtr
    110         SELECT CASE(trim(solsym(i)))
    111            CASE ("ASBCM")
    112               id_ASBCM = i
    113            CASE ("ASPOMM")
    114               id_ASPOMM = i
    115            CASE ("ASSO4M")
    116               id_ASSO4M = i
    117            CASE ("ASMSAM")
    118               id_ASMSAM = i
    119            CASE ("CSSO4M")
    120               id_CSSO4M = i
    121            CASE ("CSMSAM")
    122               id_CSMSAM = i
    123            CASE ("SSSSM")
    124               id_SSSSM = i
    125            CASE ("CSSSM")
    126               id_CSSSM = i
    127            CASE ("ASSSM")
    128               id_ASSSM = i
    129            CASE ("CIDUSTM")
    130               id_CIDUSTM = i
    131            CASE ("AIBCM")
    132               id_AIBCM = i
    133            CASE ("AIPOMM")
    134               id_AIPOMM = i
    135            CASE ("ASNO3M")
    136               id_ASNO3M = i
    137            CASE ("CSNO3M")
    138               id_CSNO3M = i
    139            CASE ("CINO3M")
    140               id_CINO3M = i
    141            END SELECT
    142      ENDDO
     109     itr = 0
     110     DO iq = 1,nqtot
     111        IF(.NOT. tracers(iq)%isInPhysics) CYCLE
     112        itr = itr+1
     113        SELECT CASE(trim(tracers(iq)%name))
     114           CASE ("ASBCM");  id_ASBCM  = itr
     115           CASE ("ASPOMM"); id_ASPOMM = itr
     116           CASE ("ASSO4M"); id_ASSO4M = itr
     117           CASE ("ASMSAM"); id_ASMSAM = itr
     118           CASE ("CSSO4M"); id_CSSO4M = itr
     119           CASE ("CSMSAM"); id_CSMSAM = itr
     120           CASE ("SSSSM");  id_SSSSM  = itr
     121           CASE ("CSSSM");  id_CSSSM  = itr
     122           CASE ("ASSSM");  id_ASSSM  = itr
     123           CASE ("CIDUSTM");id_CIDUSTM= itr
     124           CASE ("AIBCM");  id_AIBCM  = itr
     125           CASE ("AIPOMM"); id_AIPOMM = itr
     126           CASE ("ASNO3M"); id_ASNO3M = itr
     127           CASE ("CSNO3M"); id_CSNO3M = itr
     128           CASE ("CINO3M"); id_CINO3M = itr
     129        END SELECT
     130     END DO
    143131
    144132     bcsol(:,:)        =   tr_seri(:,:,id_ASBCM)                         *zrho(:,:)*1.e9  ! ASBCM
  • LMDZ6/trunk/libf/phylmd/traclmdz_mod.F90

    r4071 r4124  
    311311   
    312312    USE dimphy
    313     USE infotrac_phy, ONLY: nbtr, pbl_flg, solsym
     313    USE infotrac_phy, ONLY: nbtr, pbl_flg
     314    USE strings_mod,  ONLY: int2str
    314315    USE regr_pr_comb_coefoz_m, ONLY: regr_pr_comb_coefoz
    315316    USE o3_chem_m, ONLY: o3_chem
     
    551552
    552553    DO it=1,nbtr
    553        WRITE(solsym(it),'(i2)') it
    554     END DO
    555 
    556     DO it=1,nbtr
    557554       IF(radio(it)) then     
    558555          DO k = 1, klev
     
    561558             END DO
    562559          END DO
    563           CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,'puits rn it='//solsym(it))
     560          CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,'puits rn it='//TRIM(int2str(it)))
    564561       END IF
    565562    END DO
  • LMDZ6/trunk/libf/phylmd/tracreprobus_mod.F90

    r4050 r4124  
    1212
    1313    USE dimphy
    14     USE infotrac_phy, ONLY: nbtr, solsym
     14    USE infotrac_phy, ONLY: nbtr
    1515#ifdef REPROBUS
    1616    USE CHEM_REP, ONLY : pdt_rep, &  ! pas de temps reprobus
     
    119119       
    120120    END DO
    121    
    122 
    123     !
    124     DO it=1,nbtr
    125        WRITE(solsym(it),'(i2)') it
    126     END DO
    127121#endif
    128122  END SUBROUTINE tracreprobus
Note: See TracChangeset for help on using the changeset viewer.