Ignore:
Timestamp:
Jul 28, 2025, 7:23:15 PM (7 days ago)
Author:
aborella
Message:

Merge with trunk r5789

Location:
LMDZ6/branches/contrails
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails

  • LMDZ6/branches/contrails/libf/phylmdiso/isotrac_mod.F90

    r5199 r5791  
    44MODULE isotrac_mod
    55  USE infotrac_phy, ONLY: niso, ntiso, nzone, delPhase
    6   USE isotopes_mod, ONLY: ridicule, get_in
    7 
     6  USE isotopes_mod, ONLY: ridicule
     7  USE ioipsl_getin_p_mod, ONLY : getin_p
    88  IMPLICIT NONE
    99  SAVE
     
    148148   USE isotopes_mod, ONLY: iso_eau, ntracisoOR, initialisation_iso
    149149   USE dimphy,       ONLY: klon, klev
    150    USE  strings_mod, ONLY: int2str, strStack, strTail, strHead, strIdx, fmsg
     150   USE  strings_mod, ONLY: num2str, strStack, strTail, strHead, strIdx, maxlen
    151151
    152152   IMPLICIT NONE
     
    156156   INTEGER :: izone_pres, izone_lat
    157157   INTEGER :: nzone_opt
    158 
    159    IF(fmsg("traceurs_init 18: isotrac ne marche que si on met l'eau comme isotope", 'iso_traceurs_init', iso_eau==0)) STOP
     158   LOGICAL :: lerr
     159   CHARACTER(LEN=maxlen) :: modname
     160
     161   modname = 'iso_traceurs_init'
     162   lerr = iso_eau == 0
     163   IF(lerr) CALL abort_physics(TRIM(modname)//' 18', 'isotrac does not work without H216O isotope', 1)
    160164
    161165   !--- Initialize
     
    171175   ALLOCATE( boite_map(klon,klev))
    172176
    173    IF(initialisation_iso == 0) CALL get_in('initialisation_isotrac', initialisation_isotrac)
     177   IF(initialisation_iso == 0) CALL getin_p('initialisation_isotrac', initialisation_isotrac)
    174178
    175179   !--- Read tracing option
    176    CALL get_in('option_traceurs', option_traceurs)
     180   CALL getin_p('option_traceurs', option_traceurs)
    177181
    178182   !--- Genral case: no traceurs in ORCHIDEE
     
    214218      !========================================================================================================================
    215219         ! lire les use_bassin
    216          CALL get_in('use_bassin_Atlantic',   use_bassin_Atlantic)
    217          CALL get_in('use_bassin_Medit',      use_bassin_Medit)
    218          CALL get_in('use_bassin_Indian',     use_bassin_Indian)
    219          CALL get_in('use_bassin_Austral',    use_bassin_Austral)
    220          CALL get_in('use_bassin_Pacific',    use_bassin_Pacific)
    221          CALL get_in('use_bassin_MerArabie',  use_bassin_MerArabie)
    222          CALL get_in('use_bassin_BengalGolf', use_bassin_BengalGolf)
    223          CALL get_in('use_bassin_SouthIndian',use_bassin_SouthIndian)
    224          CALL get_in('use_bassin_Tropics',    use_bassin_Tropics)
    225          CALL get_in('use_bassin_Midlats',    use_bassin_Midlats)
    226          CALL get_in('use_bassin_HighLats',   use_bassin_HighLats)
     220         CALL getin_p('use_bassin_Atlantic',   use_bassin_Atlantic)
     221         CALL getin_p('use_bassin_Medit',      use_bassin_Medit)
     222         CALL getin_p('use_bassin_Indian',     use_bassin_Indian)
     223         CALL getin_p('use_bassin_Austral',    use_bassin_Austral)
     224         CALL getin_p('use_bassin_Pacific',    use_bassin_Pacific)
     225         CALL getin_p('use_bassin_MerArabie',  use_bassin_MerArabie)
     226         CALL getin_p('use_bassin_BengalGolf', use_bassin_BengalGolf)
     227         CALL getin_p('use_bassin_SouthIndian',use_bassin_SouthIndian)
     228         CALL getin_p('use_bassin_Tropics',    use_bassin_Tropics)
     229         CALL getin_p('use_bassin_Midlats',    use_bassin_Midlats)
     230         CALL getin_p('use_bassin_HighLats',   use_bassin_HighLats)
    227231         nzone_opt  =  2  +  COUNT([use_bassin_Atlantic, use_bassin_Medit,     use_bassin_Indian,     &
    228232            use_bassin_Austral,     use_bassin_Pacific,  use_bassin_MerArabie, use_bassin_BengalGolf, &
     
    291295         option_cond=0
    292296         DO izone=1,nzone_temp
    293             strtrac(izone) = 't'//TRIM(int2str(izone))
     297            strtrac(izone) = 't'//TRIM(num2str(izone))
    294298            WRITE(*,*) 'izone, strtrac=', izone, strtrac(izone)
    295299         END DO
     
    352356         ! 1 par defaut pour colorier a la fois condensat LS et condensat convectif.
    353357         ! Mais on peut mettre 2 si on ne veut que colorier que le condensat convectif.
    354          CALL get_in('option_cond',option_cond)
     358         CALL getin_p('option_cond',option_cond)
    355359         strtrac(izone_poubelle)='res'
    356360         strtrac(izone_cond)='con'
     
    435439         option_cond=0
    436440         DO izone=1,nzone_temp
    437             strtrac(izone) = 't'//TRIM(int2str(izone))
     441            strtrac(izone) = 't'//TRIM(num2str(izone))
    438442            WRITE(*,*) 'izone, strtrac = ', izone, strtrac(izone)
    439443         END DO
     
    470474            DO izone_lat=1,nzone_lat
    471475               izone=izone_lat+(izone_pres-1)*nzone_lat
    472                strtrac(izone) = 't'//TRIM(int2str(izone_pres))//TRIM(int2str(izone_lat))
     476               strtrac(izone) = 't'//TRIM(num2str(izone_pres))//TRIM(num2str(izone_lat))
    473477               write(*,*) 'izone_pres, izone_lat, izone, strtrac = ',izone_pres, izone_lat, izone, strtrac(izone)
    474478            END DO
     
    530534         izone_cond=nzone_temp+2
    531535         DO izone=1,nzone_temp
    532             strtrac(izone) = 't'//TRIM(int2str(izone))
     536            strtrac(izone) = 't'//TRIM(num2str(izone))
    533537            WRITE(*,*) 'izone, strtrac = ', izone, strtrac(izone)
    534538         END DO !do izone=1,nzone_temp
     
    576580         option_cond=1
    577581         DO izone=1,nzone_temp
    578             strtrac(izone) = 't'//TRIM(int2str(izone))
     582            strtrac(izone) = 't'//TRIM(num2str(izone))
    579583            WRITE(*,*) 'izone, strtrac = ', izone, strtrac(izone)
    580584         END DO
     
    586590      CASE(20)     !=== TRACING TROPICAL/EXTRATROPICAL/EXTRATROPICAL RECYCLING TO STUDY HUMIDITY AND SUBTROPICAL ISOTOPES CONTROL
    587591      !========================================================================================================================
    588          CALL get_in('lim_tag20', lim_tag20, 35.0)
     592         CALL getin_p('lim_tag20', lim_tag20, 35.0)
    589593         nzone_opt=3
    590594         izone_cont=1
     
    621625      CASE(22)     !=== TRACING WATER VAPOUR PROCESSED IN THE 3-LEVELS SCONVECTION ZONES BT, MT AND UT
    622626      !========================================================================================================================
    623          CALL get_in('lim_precip_tag22', lim_precip_tag22, 20.0)
     627         CALL getin_p('lim_precip_tag22', lim_precip_tag22, 20.0)
    624628         nzone_opt=3
    625629         izone_cont=1
     
    649653   IF(option_tmin == 1) THEN
    650654      seuil_tag_tmin = 0.01
    651       CALL get_in('seuil_tag_tmin',        seuil_tag_tmin,        0.01)
    652       CALL get_in('seuil_tag_tmin_ls',     seuil_tag_tmin_ls,     seuil_tag_tmin)
    653       CALL get_in('option_seuil_tag_tmin', option_seuil_tag_tmin, 1)
     655      CALL getin_p('seuil_tag_tmin',        seuil_tag_tmin,        0.01)
     656      CALL getin_p('seuil_tag_tmin_ls',     seuil_tag_tmin_ls,     seuil_tag_tmin)
     657      CALL getin_p('option_seuil_tag_tmin', option_seuil_tag_tmin, 1)
    654658   END IF
    655659
     
    659663#ifdef ISOVERIF
    660664   WRITE(*,*) 'traceurs_init 65: bilan de l''init:'
    661    WRITE(*,*) 'index_zone = '//TRIM(strStack(int2str(index_zone(1:ntiso))))
    662    WRITE(*,*) 'index_iso  = '//TRIM(strStack(int2str(index_iso (1:ntiso))))
     665   WRITE(*,*) 'index_zone = '//TRIM(strStack(num2str(index_zone(1:ntiso))))
     666   WRITE(*,*) 'index_iso  = '//TRIM(strStack(num2str(index_iso (1:ntiso))))
    663667   DO izone=1,nzone
    664       WRITE(*,*)'itZonIso('//TRIM(int2str(izone))//',:) = '//strStack(int2str(itZonIso(izone,:)))
     668      WRITE(*,*)'itZonIso('//TRIM(num2str(izone))//',:) = '//strStack(num2str(itZonIso(izone,:)))
    665669   END DO
    666670   DO izone=1,nzone
    667       WRITE(*,*)'strtrac('//TRIM(int2str(izone))//',:) = '//TRIM(strtrac(izone))
     671      WRITE(*,*)'strtrac('//TRIM(num2str(izone))//',:) = '//TRIM(strtrac(izone))
    668672   END DO
    669673   WRITE(*,*) 'ntracisoOR=',ntracisoOR
Note: See TracChangeset for help on using the changeset viewer.