Changeset 3901 for LMDZ6/trunk/libf


Ignore:
Timestamp:
May 17, 2021, 4:05:36 PM (3 years ago)
Author:
evignon
Message:

Commission LMDZ-sisvat, deuxieme phase:

  • suppression du repertoire sisvat
  • nettoyage de certains scripts de la physique et des makefile
Location:
LMDZ6/trunk/libf/phylmd
Files:
4 edited

Legend:

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

    r3900 r3901  
    330330    ! Martin et Etienne
    331331    !Config Key  = landice_opt
    332     !Config Desc = which landice snow model (BULK, SISVAT or INLANDSIS)
     332    !Config Desc = which landice snow model (BULK, or INLANDSIS)
    333333    !Config Def  = 0
    334334    landice_opt_omp = 0
  • LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90

    r3900 r3901  
    519519
    520520! Martin
    521 ! sisvat
     521! inlandsis
    522522    REAL, DIMENSION(klon),       INTENT(OUT)        :: qsnow      ! snow water content
    523523    REAL, DIMENSION(klon),       INTENT(OUT)        :: snowhgt    ! snow height
  • LMDZ6/trunk/libf/phylmd/surf_landice_mod.F90

    r3900 r3901  
    3333    USE ioipsl_getin_p_mod, ONLY : getin_p
    3434
    35 #ifdef CPP_SISVAT
    36     USE surf_sisvat_mod,  ONLY : surf_sisvat
    37 #endif
    3835
    3936#ifdef CPP_INLANDSIS
     
    179176!****************************************************************************************
    180177!  landice_opt = 0 : soil_model, calcul_flux, fonte_neige, ... 
    181 !  landice_opt = 1  : prepare and call SISVAT snow model
    182 !  landice_opt = 2  : prepare and call INLANDSIS snow model
     178!  landice_opt = 1  : prepare and call INterace Lmdz SISvat (INLANDSIS)
    183179!****************************************************************************************
    184180
    185181
    186182    IF (landice_opt .EQ. 1) THEN
    187    
    188 !****************************************************************************************
    189 ! CALL to SISVAT interface
    190 !****************************************************************************************
    191 
    192 #ifdef CPP_SISVAT
    193        ! Prepare for calling SISVAT
    194        
    195        ! Calculate incoming flux for SW and LW interval: swdown, lwdown
    196        swdown(:)        = 0.0
    197        lwdown(:)        = 0.0
    198        DO i = 1, knon
    199           swdown(i)        = swnet(i)/(1-albedo(i))
    200           lwdown(i)        = lwdownm(i)
    201        END DO
    202        
    203        ! Set constants and compute some input for SISVAT
    204        snow_adv(:)      = 0.                          ! no snow blown in for now
    205        snow_cont_air(:) = 0.       
    206        alb_soil(:)      = albedo(:)
    207        pref             = 100000.                     ! = 1000 hPa
    208        DO i = 1, knon
    209           wind_velo(i)     = u1(i)**2 + v1(i)**2
    210           wind_velo(i)     = wind_velo(i)**0.5
    211           pexner(i)        = (p1lay(i)/pref)**(RD/RCPD)
    212           dens_air(i)      = p1lay(i)/RD/temp_air(i)  ! dry air density
    213           zsl_height(i)     = pphi1(i)/RG             
    214        END DO
    215 
    216 
    217        ! config: compute everything with SV but temperatures afterwards with soil/calculfluxs
    218        DO i = 1, knon
    219           tsoil0(i,:)=tsoil(i,:)
    220        END DO
    221            ! Martin
    222            PRINT*, 'on appelle surf_sisvat'
    223            ! Martin
    224        CALL surf_sisvat(knon, rlon, rlat, knindex, itime, dtime, debut, lafin, &
    225             rmu0, swdown, lwdown, pexner, ps, p1lay, &
    226             precip_rain, precip_snow, precip_snow_adv, snow_adv, &
    227             zsl_height, wind_velo, temp_air, dens_air, spechum, tsurf, &
    228             rugoro, snow_cont_air, alb_soil, slope, cloudf, &
    229             radsol, qsol, tsoil0, snow, snowhgt, qsnow, to_ice,sissnow, agesno, &
    230             AcoefH, AcoefQ, BcoefH, BcoefQ, cdragh, &
    231             run_off_lic, evap, fluxsens, fluxlat, dflux_s, dflux_l, &       
    232             tsurf_new, alb1, alb2, alb3, emis_new, z0m, qsurf)
    233        z0h(1:knon)=z0m(1:knon) ! en attendant mieux
    234        
    235        ! Suppose zero surface speed
    236        u0(:)            = 0.0
    237        v0(:)            = 0.0
    238        ! The calculation of heat/water fluxes, otherwise done by "CALL calcul_fluxs" is
    239        ! integrated in SISVAT, using the same method. It can be found in "sisvat.f", in the
    240        ! subroutine "SISVAT_TS2".
    241        ! u0, v0=0., dif_grnd=0. and beta=1 are assumed there!
    242        
    243        CALL calcul_flux_wind(knon, dtime, &
    244             u0, v0, u1, v1, gustiness, cdragm, &
    245             AcoefU, AcoefV, BcoefU, BcoefV, &
    246             p1lay, temp_air, &
    247             flux_u1, flux_v1)
    248 #else
    249        abort_message='Pb de coherence: landice_opt = 1 mais CPP_SISVAT = .false.'
    250        CALL abort_physic(modname,abort_message,1)
    251 #endif
    252 
    253 !****************************************************************************************
     183
     184!****************************************************************************************   
    254185! CALL to INLANDSIS interface
    255186!****************************************************************************************
    256 
    257     ELSE IF (landice_opt .EQ. 2) THEN
    258187#ifdef CPP_INLANDSIS
    259188
     
    330259
    331260#else
    332        abort_message='Pb de coherence: landice_opt = 2 mais CPP_INLANDSIS = .false.'
     261       abort_message='Pb de coherence: landice_opt = 1 mais CPP_INLANDSIS = .false.'
    333262       CALL abort_physic(modname,abort_message,1)
    334263#endif
     
    480409       alb_dir(1:knon,6)=alb2(1:knon)
    481410
    482        IF ((landice_opt .EQ.2) .AND. (iflag_albcalc .EQ. 2)) THEN
     411       IF ((landice_opt .EQ. 1) .AND. (iflag_albcalc .EQ. 2)) THEN
    483412       alb_dir(1:knon,1)=alb6(1:knon,1)
    484413       alb_dir(1:knon,2)=alb6(1:knon,2)
  • LMDZ6/trunk/libf/phylmd/surface_data.F90

    r3900 r3901  
    3030  !===============
    3131 
    32    ! 1 for coupling with SISVAT, 2 for coupling with INLANDSIS and number of subtimesteps for INLANDSIS
    33    INTEGER, SAVE          :: landice_opt      ! 1 for coupling with SISVAT, 2 for coupling with INLANDSIS
     32   ! 1 for coupling with INLANDSIS
     33   INTEGER, SAVE          :: landice_opt   ! 1 for coupling with INLANDSIS
    3434  !$OMP THREADPRIVATE(landice_opt)
    3535
Note: See TracChangeset for help on using the changeset viewer.