Ignore:
Timestamp:
Jan 19, 2026, 4:27:07 PM (8 weeks ago)
Author:
Sebastien Nguyen
Message:

update branch with modifications to compile and run with ICOSA_LMDZ

Location:
LMDZ6/branches/ICOLMDZISO_SN/libf
Files:
2 added
2 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/ICOLMDZISO_SN/libf/phylmd/inifis_mod.f90

    r5285 r6036  
    7878  END IF
    7979
     80  CALL init_isotopes
     81
    8082  END SUBROUTINE inifis
     83
     84
     85  SUBROUTINE init_isotopes
     86  USE infotrac_phy,ONLY : niso, nzone, ntraciso=>ntiso
     87  USE isotrac_mod, ONLY: iso_traceurs_init
     88  USE isotopes_mod, ONLY: iso_init
     89  USE isotopes_verif_mod, ONLY: iso_verif_init
     90IMPLICIT NONE
     91
     92 ! C Risi: vérifier compatibilité des options isotopiques entre
     93 ! dyn3dmem et physiq
     94#ifdef ISO
     95    write(*,*) 'ok_isotopes,ntraciso,niso=',niso>0,ntraciso,niso
     96    IF(niso  <= 0) CALL abort_physic('init_isotopes','options iso incompatibles',1)
     97#ifdef ISOTRAC
     98    IF(nzone <= 0) CALL abort_physic('init_isotopes','options isotrac incompatibles',1)
     99#else
     100    IF(nzone  > 0) CALL abort_physic('init_isotopes','options isotrac incompatibles',1)
     101#endif
     102#else
     103    if(niso   > 0) CALL abort_physic('init_isotopes','options iso incompatibles',1)
     104#endif
     105
     106#ifdef ISO
     107        ! initialisations isotopiques
     108#ifdef ISOVERIF
     109           write(*,*) 'ok_isotopes=',niso > 0
     110#endif
     111        if (niso > 0) call iso_init()
     112#ifdef ISOTRAC
     113IF(nzone > 0) then
     114        call iso_traceurs_init()
     115endif
     116#endif
     117#ifdef ISOVERIF
     118        call iso_verif_init()
     119#endif
     120#endif
     121
     122  END SUBROUTINE init_isotopes 
    81123 
    82124END MODULE inifis_mod
  • LMDZ6/branches/ICOLMDZISO_SN/libf/phylmdiso/isotopes_mod.F90

    r5756 r6036  
    143143!$OMP THREADPRIVATE(lat_nucl, lon_nucl, zmin_nucl, zmax_nucl, HTO_nucl)
    144144 
     145   LOGICAL, SAVE :: using_iso = .FALSE.   !--- TRUE isotope version is used
     146!$OMP THREADPRIVATE(using_iso)
    145147 
    146148CONTAINS
     
    165167   INTEGER :: iessai
    166168
     169   using_iso=.TRUE.
     170   
    167171   modname = 'iso_init'
    168172   CALL msg('219: entree', modname)
  • LMDZ6/branches/ICOLMDZISO_SN/libf/phylmdiso/isotopes_routines_mod.F90

    r5927 r6036  
    1 #ifdef ISO
    21! $Id$
    32MODULE isotopes_routines_mod
     
    1297212971USE yoethf_mod_h
    1297312972        USE yomcst_mod_h
    12974 USE dimensions_mod, ONLY: iim, jjm, llm, ndm
     12973!USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    1297512974implicit none
    1297612975
     
    1446114460
    1446214461USE yoethf_mod_h
    14463         USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    14464 USE paramet_mod_h
     14462!USE dimensions_mod, ONLY: iim, jjm, llm, ndm
     14463!USE paramet_mod_h
    1446514464USE yomcst_mod_h
    1446614465
     
    1602416023      !end verif
    1602516024
     16025#ifdef ISOHTO
    1602616026        ! pour le tritium: initialisation des tableaux d'essais nucléaires:
    1602716027        if (iso_HTO.gt.0) then
    1602816028          CALL table_tritium_nucl()
    1602916029        endif
     16030#endif
    1603016031
    1603116032      RETURN
     
    1662816629
    1662916630
    16630 !#ifdef ISOHTO
     16631#ifdef ISOHTO
    1663116632!===================================================================
    1663216633!
     
    1852118522      end subroutine calcul_prod_nucl_HTO
    1852218523
    18523 !#endif
     18524#endif
    1852418525!===================================================================
    1852518526!
     
    1899318994
    1899418995END MODULE isotopes_routines_mod
    18995 #endif
  • LMDZ6/branches/ICOLMDZISO_SN/libf/phylmdiso/isotopes_verif_mod.F90

    r5774 r6036  
    1 
    2 #ifdef ISOVERIF
    31! $Id: $
    42
     
    43294327END MODULE isotopes_verif_mod
    43304328
    4331 #endif         
    4332 ! endif ISOVERIF
    4333 
  • LMDZ6/branches/ICOLMDZISO_SN/libf/phylmdiso/isotrac_mod.F90

    r5754 r6036  
    1 #ifdef ISO
    2 #ifdef ISOTRAC
    3 
    41MODULE isotrac_mod
    52  USE infotrac_phy, ONLY: niso, ntiso, nzone, delPhase
     
    161158   modname = 'iso_traceurs_init'
    162159   lerr = iso_eau == 0
    163    IF(lerr) CALL abort_physics(TRIM(modname)//' 18', 'isotrac does not work without H216O isotope', 1)
     160   IF(lerr) CALL abort_physic(TRIM(modname)//' 18', 'isotrac does not work without H216O isotope', 1)
    164161
    165162   !--- Initialize
     
    677674
    678675END MODULE isotrac_mod
    679 #endif
    680 #endif
  • LMDZ6/branches/ICOLMDZISO_SN/libf/phylmdiso/physiq_mod.F90

    r5927 r6036  
    168168        & modif_ratqs,essai_convergence,iso_init,ridicule_rain,tnat, &
    169169        & ridicule,ridicule_snow
    170     USE isotopes_routines_mod, ONLY: iso_tritium,dispatch,together
     170    USE isotopes_routines_mod, ONLY: dispatch,together
     171#ifdef ISOHTO
     172    USE isotopes_routines_mod, ONLY: iso_tritium
     173#endif
    171174#ifdef ISOVERIF
    172175    USE isotopes_verif_mod, ONLY: errmax,errmaxrel, &
     
    17751778       itapwk = 0
    17761779
    1777 ! C Risi: vérifier compatibilité des options isotopiques entre
    1778 ! dyn3dmem et physiq
    1779 #ifdef ISO
    1780        WRITE(*,*) 'physiq 1846a: ok_isotopes,ntraciso,niso=',niso>0,ntraciso,niso
    1781        IF (niso  <= 0) CALL abort_physic('physiq 1756','options iso incompatibles',1)
    1782 #ifdef ISOTRAC
    1783        IF (nzone <= 0) CALL abort_physic('physiq 1758','options isotrac incompatibles',1)
    1784 #else
    1785        IF (nzone  > 0) CALL abort_physic('physiq 1762','options isotrac incompatibles',1)
    1786 #endif
    1787 #else
    1788        IF (niso   > 0) CALL abort_physic('physiq 1772','options iso incompatibles',1)
    1789 #endif
    1790 
    1791 #ifdef ISO
    1792     ! initialisations isotopiques
    1793 #ifdef ISOVERIF
    1794        WRITE(*,*) 'physiq 1366: call iso_init'
    1795        WRITE(*,*) 'ok_isotopes=',niso > 0
    1796 #endif
    1797        IF (niso > 0) CALL iso_init()
    1798 #ifdef ISOTRAC
    1799        IF (nzone > 0) THEN
    1800          WRITE(*,*) 'physiq 1416: call iso_traceurs_init'
    1801          CALL iso_traceurs_init()
    1802        ENDIF
    1803 #endif
     1780
     1781!!ym for displaced in iniphysic for early initialization
     1782
     1783!! C Risi: vérifier compatibilité des options isotopiques entre
     1784!! dyn3dmem et physiq
     1785!#ifdef ISO
     1786!    write(*,*) 'physiq 1846a: ok_isotopes,ntraciso,niso=',niso>0,ntraciso,niso
     1787!    IF(niso  <= 0) CALL abort_physic('physiq 1756','options iso incompatibles',1)
     1788!#ifdef ISOTRAC
     1789!    IF(nzone <= 0) CALL abort_physic('physiq 1758','options isotrac incompatibles',1)
     1790!#else
     1791!    IF(nzone  > 0) CALL abort_physic('physiq 1762','options isotrac incompatibles',1)
     1792!#endif
     1793!#else
     1794!    if(niso   > 0) CALL abort_physic('physiq 1772','options iso incompatibles',1)
     1795!#endif
     1796!
     1797!#ifdef ISO
     1798!        ! initialisations isotopiques
     1799!#ifdef ISOVERIF
     1800!           write(*,*) 'physiq 1366: call iso_init'
     1801!           write(*,*) 'ok_isotopes=',niso > 0
     1802!#endif
     1803!        if (niso > 0) call iso_init()
     1804!#ifdef ISOTRAC
     1805!IF(nzone > 0) then
     1806!        write(*,*) 'physiq 1416: call iso_traceurs_init'
     1807!        call iso_traceurs_init()
     1808!endif
     1809!#endif
    18041810!write(*,*) 'gcm 265: ntraciso=',ntraciso
    1805 #ifdef ISOVERIF
    1806        WRITE(*,*) 'physiq 1421: call iso_verif_init'
    1807        CALL iso_verif_init()
    1808 #endif
    1809 #endif
     1811!#ifdef ISOVERIF
     1812!        write(*,*) 'physiq 1421: call iso_verif_init'
     1813!        call iso_verif_init()
     1814!#endif
     1815!#endif
     1816
    18101817
    18111818       ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    20702077IF (CPPKEY_REPROBUS) THEN
    20712078#ifdef ISO
    2072        CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
     2079       CALL abort_physic("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
    20732080#else
    20742081       CALL strataer_init
     
    20792086IF (CPPKEY_STRATAER) THEN
    20802087#ifdef ISO
    2081        CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
     2088       CALL abort_physic("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
    20822089#else
    20832090       CALL strataer_init
     
    59986005IF (CPPKEY_STRATAER) THEN
    59996006#ifdef ISO
    6000        CALL abort_gcm("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
     6007       CALL abort_physic("physiq_mod", "StratAer isn't ISO-compatible for now, 07/24",1)
    60016008#endif
    60026009       !--compute stratospheric mask
     
    70207027     &     'physiq 5595: avant appel tritium',ntraciso,klon,klev)
    70217028#endif
     7029#ifdef ISOHTO
    70227030        call iso_tritium(paprs,pplay, &
    70237031     &           zphi,phys_tstep, &
     
    70267034     &           d_xt_decroiss, &
    70277035     &           xt_seri)
     7036#endif
    70287037#ifdef ISOVERIF
    70297038      call iso_verif_noNaN_vect2D(xt_seri, &
     
    76817690
    76827691! close xios physiq context (call LMDZ)
    7683           IF (is_omp_master) CALL xios_context_finalize
     7692          IF (is_omp_master .and. grid_type==unstructured) CALL xios_context_finalize
    76847693       ENDIF
    76857694
Note: See TracChangeset for help on using the changeset viewer.