Ignore:
Timestamp:
Mar 26, 2025, 7:00:27 PM (8 months ago)
Author:
yann meurdesoif
Message:

Update ICOLMDZISO branch.
YM

Location:
LMDZ6/branches/ICOLMDZISO/libf/phylmd
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/ICOLMDZISO/libf/phylmd/create_etat0_unstruct_mod.F90

    r5204 r5592  
    9292  USE geometry_mod
    9393  USE ioipsl_getin_p_mod, ONLY: getin_p
     94 
     95  USE infotrac_phy, ONLY: niso
     96  USE isotopes_routines_mod, ONLY: phyisoetat0
     97  USE isotopes_mod, ONLY: iso_eau
     98  USE isotopes_verif_mod, ONLY: iso_verif_egalite_vect2D,iso_verif_egalite
    9499
    95100  IMPLICIT NONE
     
    112117    REAL,    DIMENSION(klon_mpi)             :: cell_area_mpi
    113118    REAL,    DIMENSION(klon_mpi,nbsrf)       :: pctsrf_mpi
     119#ifdef ISO
     120    REAL xtsnow(niso,klon, nbsrf)
     121    REAL xtrun_off_lic_0(niso,klon)
     122    REAL Rland_ice(niso,klon)
     123#endif
    114124
    115125    INCLUDE "compbl.h"
     
    306316    awake_s = 0.
    307317
     318
    308319    CALL fonte_neige_init(run_off_lic_0)
    309320    CALL pbl_surface_init( fder, snsrf, qsurf, tsoil )
     
    314325    END IF
    315326    ratqs_inter_ = 0.002
     327
     328
     329#ifdef ISO
     330        ! initialise les isotopes       
     331        write(*,*) 'phyetat0 1069'
     332         CALL phyisoetat0 (snow,run_off_lic_0, &
     333     &           xtsnow,xtrun_off_lic_0, &
     334     &           Rland_ice)
     335#ifdef ISOVERIF
     336      write(*,*) 'phyetat0 1074'
     337      if (iso_eau.gt.0) then
     338      call iso_verif_egalite_vect2D(  &
     339     &           xtsnow,snow, &
     340     &           'phyetat0 1101a',niso,klon,nbsrf)
     341        do i=1,klon 
     342              call iso_verif_egalite(Rland_ice(iso_eau,i),1.0, &
     343     &         'phyetat0 1101b')
     344         enddo
     345      endif
     346      write(*,*) 'phyetat0 1102'
     347#endif
     348#endif
     349
     350#ifdef ISO
     351   CALL fonte_neige_init_iso(xtrun_off_lic_0)
     352#endif
     353
     354
     355#ifdef ISO
     356  CALL pbl_surface_init_iso(xtsnow,Rland_ice)
     357#endif
    316358
    317359    CALL gather_omp(cell_area,cell_area_mpi)
  • LMDZ6/branches/ICOLMDZISO/libf/phylmd/fonte_neige_mod.F90

    r5022 r5592  
    170170    IF (error /= 0) THEN
    171171       abort_message='Pb allocation run_off_lic'
    172        CALL abort_gcm(modname,abort_message,1)
     172       CALL abort_physic(modname,abort_message,1)
    173173    ENDIF   
    174174   
     
    191191    IF (error /= 0) THEN
    192192       abort_message='Pb allocation xtrun_off_ter'
    193        CALL abort_gcm(modname,abort_message,1)
     193       CALL abort_physic(modname,abort_message,1)
    194194    ENDIF
    195195    xtrun_off_ter(:,:) = 0.
     
    198198    IF (error /= 0) THEN
    199199       abort_message='Pb allocation xtrun_off_lic'
    200        CALL abort_gcm(modname,abort_message,1)
     200       CALL abort_physic(modname,abort_message,1)
    201201    ENDIF
    202202    xtrun_off_lic(:,:) = 0.
     
    205205    IF (error /= 0) THEN
    206206       abort_message='Pb allocation fxtfonte_global'
    207        CALL abort_gcm(modname,abort_message,1)
     207       CALL abort_physic(modname,abort_message,1)
    208208    ENDIF
    209209    fxtfonte_global(:,:,:) = 0.0
     
    212212    IF (error /= 0) THEN
    213213       abort_message='Pb allocation fxtcalving_global'
    214        CALL abort_gcm(modname,abort_message,1)
     214       CALL abort_physic(modname,abort_message,1)
    215215    ENDIF
    216216    fxtcalving_global(:,:,:) = 0.0
     
    219219    IF (error /= 0) THEN
    220220       abort_message='Pb allocation xtrunofflic_global'
    221        CALL abort_gcm(modname,abort_message,1)
     221       CALL abort_physic(modname,abort_message,1)
    222222    ENDIF
    223223    xtrunofflic_global(:,:) = 0.0
  • LMDZ6/branches/ICOLMDZISO/libf/phylmd/infotrac_phy.F90

    r5200 r5592  
    464464#endif
    465465   CALL msg('end', modname)
    466 
     466   
    467467END SUBROUTINE init_infotrac_phy
    468468
  • LMDZ6/branches/ICOLMDZISO/libf/phylmd/inifis_mod.F90

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

    r5171 r5592  
    226226
    227227    ALLOCATE(xtsnow(niso,klon,nbsrf), stat=ierr)
    228     IF (ierr /= 0) CALL abort_gcm('pbl_surface_init', 'pb in allocation',1)
     228    IF (ierr /= 0) CALL abort_physic('pbl_surface_init', 'pb in allocation',1)
    229229
    230230    ALLOCATE(Rland_ice(niso,klon), stat=ierr)
    231     IF (ierr /= 0) CALL abort_gcm('pbl_surface_init', 'pb in allocation',1)
     231    IF (ierr /= 0) CALL abort_physic('pbl_surface_init', 'pb in allocation',1)
    232232
    233233    ALLOCATE(Roce(niso,klon), stat=ierr)
    234     IF (ierr /= 0) CALL abort_gcm('pbl_surface_init', 'pb in allocation',1)
     234    IF (ierr /= 0) CALL abort_physic('pbl_surface_init', 'pb in allocation',1)
    235235
    236236    xtsnow(:,:,:)  = xtsnow_rst(:,:,:)
     
    22652265       ELSE IF (iflag_split .ge. 1) THEN
    22662266#ifdef ISO
    2267         call abort_gcm('pbl_surface_mod 2149','isos pas encore dans iflag_split=1',1)
     2267        call abort_physic('pbl_surface_mod 2149','isos pas encore dans iflag_split=1',1)
    22682268#endif
    22692269
     
    27492749       IF (iflag_split .GE. 1) THEN
    27502750#ifdef ISO
    2751         call abort_gcm('pbl_surface_mod 2607','isos pas encore dans iflag_split=1',1)
     2751        call abort_physic('pbl_surface_mod 2607','isos pas encore dans iflag_split=1',1)
    27522752#endif
    27532753!
  • LMDZ6/branches/ICOLMDZISO/libf/phylmd/surf_land_mod.F90

    r5022 r5592  
    229229
    230230#ifdef ISO
    231       CALL abort_gcm('surf_land_mod 220','isos pas prevus dans orchidee',1)
     231      CALL abort_physic('surf_land_mod 220','isos pas prevus dans orchidee',1)
    232232#endif
    233233       ! temporary for keeping same results using lwdown_m instead of lwdown
  • LMDZ6/branches/ICOLMDZISO/libf/phylmd/surf_landice_mod.F90

    r5196 r5592  
    268268
    269269#ifdef ISO
    270         CALL abort_gcm('surf_landice 235','isotopes pas dans INLANDSIS',1)
     270        CALL abort_physic('surf_landice 235','isotopes pas dans INLANDSIS',1)
    271271#endif
    272272
Note: See TracChangeset for help on using the changeset viewer.