Ignore:
Timestamp:
Jun 25, 2019, 4:50:13 PM (5 years ago)
Author:
Laurent Fairhead
Message:

Modifications needed for "real" calendar in 1D model
MPL/EM

Location:
LMDZ6/trunk/libf/phylmd/dyn1d
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/dyn1d/1DUTILS.h

    • Property svn:keywords set to Id
    r3513 r3540  
    22
    33!
    4 ! $Id: conf_unicol.F 1279 2010-08-04 17:20:56Z lahellec $
     4! $Id$
    55!
    66!
     
    826826      ENDDO
    827827
    828       modname = 'dyn1dredem'
    829       ierr = NF_OPEN(fichnom, NF_WRITE, nid)
    830       IF (ierr .NE. NF_NOERR) THEN
    831          abort_message="Pb. d ouverture "//fichnom
    832          CALL abort_gcm('Modele 1D',abort_message,1)
    833       ENDIF
     828!     modname = 'dyn1dredem'
     829!     ierr = NF_OPEN(fichnom, NF_WRITE, nid)
     830!     IF (ierr .NE. NF_NOERR) THEN
     831!        abort_message="Pb. d ouverture "//fichnom
     832!        CALL abort_gcm('Modele 1D',abort_message,1)
     833!     ENDIF
    834834
    835835      DO l=1,length
  • LMDZ6/trunk/libf/phylmd/dyn1d/lmdz1d.F90

    r3537 r3540  
    4646                          preff, aps, bps, pseudoalt, scaleheight
    4747   USE temps_mod, ONLY: annee_ref, calend, day_end, day_ini, day_ref, &
    48                         itau_dyn, itau_phy, start_time
     48                        itau_dyn, itau_phy, start_time, year_len
     49   USE phys_cal_mod, ONLY : year_len_phys_cal_mod => year_len
    4950
    5051      implicit none
     
    240241!  Initializations of boundary conditions
    241242!---------------------------------------------------------------------
    242       integer, parameter :: yd = 360
    243       real :: phy_nat (yd) = 0.0 ! 0=ocean libre,1=land,2=glacier,3=banquise
    244       real :: phy_alb (yd)  ! Albedo land only (old value condsurf_jyg=0.3)
    245       real :: phy_sst (yd)  ! SST (will not be used; cf read_tsurf1d.F)
    246       real :: phy_bil (yd) = 1.0 ! Ne sert que pour les slab_ocean
    247       real :: phy_rug (yd) ! Longueur rugosite utilisee sur land only
    248       real :: phy_ice (yd) = 0.0 ! Fraction de glace
    249       real :: phy_fter(yd) = 0.0 ! Fraction de terre
    250       real :: phy_foce(yd) = 0.0 ! Fraction de ocean
    251       real :: phy_fsic(yd) = 0.0 ! Fraction de glace
    252       real :: phy_flic(yd) = 0.0 ! Fraction de glace
     243      real, allocatable :: phy_nat (:)  ! 0=ocean libre,1=land,2=glacier,3=banquise
     244      real, allocatable :: phy_alb (:)  ! Albedo land only (old value condsurf_jyg=0.3)
     245      real, allocatable :: phy_sst (:)  ! SST (will not be used; cf read_tsurf1d.F)
     246      real, allocatable :: phy_bil (:)  ! Ne sert que pour les slab_ocean
     247      real, allocatable :: phy_rug (:) ! Longueur rugosite utilisee sur land only
     248      real, allocatable :: phy_ice (:) ! Fraction de glace
     249      real, allocatable :: phy_fter(:) ! Fraction de terre
     250      real, allocatable :: phy_foce(:) ! Fraction de ocean
     251      real, allocatable :: phy_fsic(:) ! Fraction de glace
     252      real, allocatable :: phy_flic(:) ! Fraction de glace
    253253
    254254!---------------------------------------------------------------------
     
    471471
    472472      call conf_gcm( 99, .TRUE. )
     473     
     474!-----------------------------------------------------------------------
     475      allocate( phy_nat (year_len))  ! 0=ocean libre,1=land,2=glacier,3=banquise
     476      phy_nat(:)=0.0
     477      allocate( phy_alb (year_len))  ! Albedo land only (old value condsurf_jyg=0.3)
     478      allocate( phy_sst (year_len))  ! SST (will not be used; cf read_tsurf1d.F)
     479      allocate( phy_bil (year_len))  ! Ne sert que pour les slab_ocean
     480      phy_bil(:)=1.0
     481      allocate( phy_rug (year_len)) ! Longueur rugosite utilisee sur land only
     482      allocate( phy_ice (year_len)) ! Fraction de glace
     483      phy_ice(:)=0.0
     484      allocate( phy_fter(year_len)) ! Fraction de terre
     485      phy_fter(:)=0.0
     486      allocate( phy_foce(year_len)) ! Fraction de ocean
     487      phy_foce(:)=0.0
     488      allocate( phy_fsic(year_len)) ! Fraction de glace
     489      phy_fsic(:)=0.0
     490      allocate( phy_flic(year_len)) ! Fraction de glace
     491      phy_flic(:)=0.0
    473492!-----------------------------------------------------------------------
    474493!   Choix du calendrier
     
    486505        write(*,*)'CALENDRIER CHOISI: Terrestre bissextile'
    487506      else if (calend == 'gregorian') then
     507        stop 'gregorian calend should not be used by normal user'
    488508        call ioconf_calendar('gregorian') ! not to be used by normal users
    489509        write(*,*)'CALENDRIER CHOISI: Gregorien'
     
    738758      rlon_rad(1)=xlon*rpi/180.
    739759
     760     ! iniphysiq will call iniaqua who needs year_len from phys_cal_mod
     761     year_len_phys_cal_mod=year_len
     762           
    740763     ! Ehouarn: iniphysiq requires arrays related to (3D) dynamics grid,
    741764     ! e.g. for cell boundaries, which are meaningless in 1D; so pad these
     
    936959!        phy_fter,phy_foce,phy_flic,phy_fsic)
    937960!------------------------------------------------------------------------
    938       do i=1,yd
     961      do i=1,year_len
    939962        phy_nat(i)  = nat_surf
    940963        phy_alb(i)  = albedo
Note: See TracChangeset for help on using the changeset viewer.