Changeset 32


Ignore:
Timestamp:
12/17/15 18:21:50 (8 years ago)
Author:
dumas
Message:

Recuperation des differences avec le code couplé iLOVECLIM. Makefile et programme principale ne sont pas encore adaptés

Location:
branches/iLoveclim
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • branches/iLoveclim

  • branches/iLoveclim/SOURCES/3D-physique-gen_mod.f90

    r11 r32  
    137137  real ::  SECYEAR                      !< for relation an/seconds 
    138138  !real ::  S22                          ! ct for PDD calculation 
    139   real ::  sealevel                     !< niveau des mers  
     139  real,target ::  sealevel                     !< niveau des mers  
    140140  ! real ::  SIGMA                        ! variabilite Tday 
    141141  real ::  SURF                         !<  
     
    235235  integer,dimension(nx,ny) :: IBASE     !< type de base (froide, temperee) 
    236236 
    237   real,dimension(nx,ny) :: ACC          !< Accumulation  'o' 
     237  real,dimension(nx,ny),target :: ACC          !< Accumulation  'o' 
    238238  real,dimension(nx,ny) :: ABL          !< Ablation  'o'  negative quand perte 
    239239  real,dimension(nx,ny) :: ABLBORD      !< Ablation dans les zones non englacees 
     
    251251  !hassine 
    252252  real, dimension(nx,ny) :: beta_centre !< beta on major node (average) 
     253  real (kind = 8),dimension(nx,ny),target :: calvin_GRIS ! calving flux[m3/s] given to CLIO 
    253254  real, dimension(nx,ny) :: coef_drag   !< coefficient de la loi de friction non lineaire : depend de la valeur de alpha_drag 
    254255                                        !< si alpha_drag = 1, coef_drag = drag_centre   
    255256  ! 
    256   real,dimension(nx,ny) :: BM           !< mass balance   'o' 
     257  real,dimension(nx,ny),target :: BM           !< mass balance   'o' 
    257258  real,dimension(nx,ny) :: BMELT        !< basal melting  'o' 
    258259  real,dimension(nx,ny) :: CORRBMELT    !< correction du basal melting  'o' 
     
    287288  real,dimension(nx,ny) :: GHF          !< geothermal heat flux J/m2/a 'o' 
    288289  real,dimension(nx,ny) :: GHF0         !< geothermal heat flux J/m2/a 'o' 
    289   real,dimension(nx,ny) :: H            !< ice thickness  'o' 
     290  real,dimension(nx,ny),target :: H            !< ice thickness  'o' 
    290291  real,dimension(nx,ny) :: H0           !< initial ice thickness, must be initialized before init_iso 
    291292 
     
    321322  real,dimension(nx,ny) :: NEFFMX       !< pression effective '>' 
    322323  real,dimension(nx,ny) :: NEFFMY       !< pression effective '^' 
     324  real(kind=8),dimension(nx,ny),target :: RUNOF_OC ! Ablation at the ice shelf that is given to CLIO 
    323325  real,dimension(nx,ny) :: TOBMX        !< cisaillement basal '>' 
    324326  real,dimension(nx,ny) :: TOBMY        !< cisaillement basal '^' 
    325327  real,dimension(nx,ny) :: SW           !< for bedrock isostasy 
    326   real,dimension(nx,ny) :: S            !< altitude of ice sheet surface 
     328  real,dimension(nx,ny),target :: S            !< altitude of ice sheet surface 
    327329  real,dimension(nx,ny) :: S_sealev     !< altitude of ice sheet surface for sea 
    328330  !< level calculation (present ice sheet) 
     
    336338  real,dimension(nx,ny) :: S0           !< altitude actuelle de la surface 
    337339  real,dimension(nx,ny) :: slv          !< niveau de flottaison (sealevel et lakes) 
    338   real,dimension(nx,ny) :: TJULY        !< Ground air temperature July 
    339   real,dimension(nx,ny) :: TANN         !< Ground air temperature annual 
    340   real,dimension(nx,ny,12) :: Tmois        !< Ground air temperature monthly 
     340  real,dimension(nx,ny),target :: TJULY        !< Ground air temperature July 
     341  real,dimension(nx,ny),target :: TANN         !< Ground air temperature annual 
     342  real,dimension(nx,ny,12),target :: Tmois     !< Ground air temperature monthly 
     343  real,dimension(nx,ny,12),target :: Pmois     !< Liquid precipitation  monthly 
    341344  real,dimension(nx,ny) :: TSHELF       !< temperature des shelfs pour viscosite 
    342345  real,dimension(nx,ny) :: TJ0          !< initial air temperature at sea level July 
     
    484487  integer :: num_cptr      = 30   !< Id of cptr 
    485488  integer :: num_debug     = 33   !< Id of ritz debug 
    486   integer :: num_ritz      = 35  !< Id of ritz 
     489  integer :: num_ritz      = 3535 !< Id of ritz 
    487490  integer :: num_templlib  = 36   !< Id of ritz templlib 
    488491  integer :: num_rep_42    = 42   !< Id of reponse 
  • branches/iLoveclim/SOURCES/Hemin40_files/module_choix-hemin40-0.4.f90

    r25 r32  
    4747!--------------Module climat --------------- 
    4848!use climat_forcage_mois_mod ! forcage mensuel GCM 1 Snapshot Fev 2015 
    49 use climat_Grice2sea_years_mod ! forcage avec SMB type MAR Fev2015 
     49!use climat_Grice2sea_years_mod ! forcage avec SMB type MAR Fev2015 
     50use climat_coupl_atm_mod ! couplage iLOVECLIM 
    5051 
    5152! Anciens modules pas encore valides 
     
    5859!!!!!!use climat_regions_delta 
    5960 
    60 !use ablation_mod ! calcul de l'ablation (PDD ou autre methode) 
    61 use no_ablation  ! pas de calcul de l'ablation => lecture fichier SMB (necessaire avec climat_Grice2sea_years_mod) 
     61use ablation_mod ! calcul de l'ablation (PDD ou autre methode) 
     62!use no_ablation  ! pas de calcul de l'ablation => lecture fichier SMB (necessaire avec climat_Grice2sea_years_mod) 
    6263 
    6364! pas de lacs proglaciaires 
  • branches/iLoveclim/SOURCES/Hemin40_files/paradim-hemin40_mod.f90

    r10 r32  
    1515 
    1616  character(len=7), parameter :: geoplace='hemin40'    ! geoplace 
    17   character(len=20), parameter  :: dirnameinp='../../INPUT/HEMIN40/' ! input directory 
    18   character(len=20), parameter  :: dirforcage='../../INPUT/Forcage/' ! input directory 
     17  character(len=31), parameter  :: dirnameinp='inputdata/grisli/INPUT/HEMIN40/' ! input directory 
     18  character(len=31), parameter  :: dirforcage='inputdata/grisli/INPUT/Forcage/' ! input directory 
    1919 
    2020! dimensionnement grilles 
  • branches/iLoveclim/SOURCES/Netcdf-routines/io_netcdf_GRISLI.f90

    r10 r32  
    9797    implicit none 
    9898    ! open(22,file='../SOURCES/Fichiers-parametres/netcdf_type.dat') 
    99     open(22,file=trim(dirsource)//'/Fichiers-parametres/netcdf_type.dat') 
     99    !open(22,file=trim(dirsource)//'/Fichiers-parametres/netcdf_type.dat') 
     100    open(22,file=trim(dirsource)//'/netcdf_type.dat') 
     101 
    100102    read(22,'(i3)') ncdf_type 
    101103    close(22) 
  • branches/iLoveclim/SOURCES/Netcdf-routines/sortie_netcdf_GRISLI_mod.0.2-hassine.f90

    r31 r32  
    178178    !------------------------------------ 
    179179    ! open(num_file,file='../'//trim(dirsource)//'/Fichiers-parametres/'//geoplace//'_TEMPS-NETCDF.dat') 
    180     open(num_file,file=trim(dirsource)//'/Fichiers-parametres/'//geoplace//'_TEMPS-NETCDF.dat',status='old') 
    181  
     180    ! open(num_file,file=trim(dirsource)//'/Fichiers-parametres/'//geoplace//'_TEMPS-NETCDF.dat',status='old') 
     181    open(num_file,file=trim(dirsource)//'/'//geoplace//'_TEMPS-NETCDF.dat',status='old') 
    182182 
    183183    ! passe les commentaires qui se terminent par une ligne de ~~~ 
     
    236236 
    237237    ! open(num_file,file='../'//trim(dirsource)//'/Fichiers-parametres/'//geoplace//'_LISTE-VAR-NETCDF.dat') 
    238     open(num_file,file=trim(dirsource)//'/Fichiers-parametres/'//geoplace//'_LISTE-VAR-NETCDF.dat') 
     238    ! open(num_file,file=trim(dirsource)//'/Fichiers-parametres/'//geoplace//'_LISTE-VAR-NETCDF.dat') 
     239    open(num_file,file=trim(dirsource)//'/'//geoplace//'_LISTE-VAR-NETCDF.dat') 
    239240 
    240241    !saute les commentaires 
     
    297298 
    298299    !open(num_file,file='../'//trim(dirsource)//'/Netcdf-routines/Description_Variables.dat') 
    299     open(num_file,file=trim(dirsource)//'/Netcdf-routines/Description_Variables.dat') 
     300    !open(num_file,file=trim(dirsource)//'/Netcdf-routines/Description_Variables.dat') 
     301    open(num_file,file=trim(dirsource)//'/Description_Variables.dat') 
    300302 
    301303    do     !saut des commentaires et des variables 1D 
     
    405407    end do predef 
    406408 
     409    !aurel, tend in GRISLI is updated by Loveclim 
     410    ifin = 0 ! tend in here should be tend_loveclim 
     411 
    407412    ! boucle sur les numeros de variables  
    408413    boucle_var: do i=1,ntab 
     
    659664    logical :: fait  
    660665 
    661  
    662666    ! instructions 
    663     if (itracebug.eq.1)  call tracebug(' Entree dans routine  sortie_netcdf_cat')       
     667    if (itracebug.eq.1)  call tracebug(' Entree dans routine  sortie_netcdf_cat')     
    664668 
    665669 
     
    11861190 
    11871191             ! open(72,file='../'//trim(dirsource)//'/Netcdf-routines/Description_Variables.dat') 
    1188              open(72,file=trim(dirsource)//'/Netcdf-routines/Description_Variables.dat') 
     1192             !open(72,file=trim(dirsource)//'/Netcdf-routines/Description_Variables.dat') 
     1193             open(72,file=trim(dirsource)//'/Description_Variables.dat') 
    11891194 
    11901195             do  
  • branches/iLoveclim/SOURCES/ablation_mod.f90

    r31 r32  
    3232  REAL, dimension(nx,ny) :: PDDCT                ! ct for PDD calculation  
    3333  REAL, dimension(nx,ny) :: PDDCT2               ! ct for PDD calculation 
    34   integer :: methode_abl=0                       ! selection methode pdd (0) ou van den Berg 2008 (1) 
     34  integer,target :: methode_abl                ! selection methode pdd ou van den Berg 2008 
    3535 
    3636contains 
  • branches/iLoveclim/SOURCES/initial-0.3.f90

    r31 r32  
    5959  if (icompteur.ne.0) then ! reprise  d un fichier cptr 
    6060     call read_recovery(icompteur) 
    61      time = tbegin 
     61!dcdmr --- GRISLI - LOVECLIM 
     62!     time = tbegin 
     63!dcdmr --- GRISLI - LOVECLIM 
    6264     call sortie_ncdf_cat 
    6365!  else if (icompteur.eq.2) then ! reprise d'un fichier cptr mais sans la topo 
  • branches/iLoveclim/SOURCES/initial-phy-2.f90

    r22 r32  
    3434  !-------------------------------------------------------------- 
    3535  ! dirsource='SOURCES' 
    36   dirsource='../../SOURCES' 
     36!dcdmr --- GRISLI - LOVECLIM 
     37!  dirsource='../../SOURCES' 
     38  dirsource='inputdata/grisli' 
    3739  ! filin='../'//trim(dirsource)//'/Fichiers-parametres/'//trim(geoplace)//'_param_list.dat' 
    38   filin=trim(geoplace)//'_param_list.dat' 
    39  
     40!  filin=trim(geoplace)//'_param_list.dat' 
     41  filin='./'//trim(dirsource)//'/'//trim(geoplace)//'_param_list.dat' 
     42!dcdmr --- GRISLI - LOVECLIM 
    4043  open(num_param,file=filin)  
    4144 
     
    5154  !------------------------------------- 
    5255428 format(A)             ! formats pour les ecritures dans 42 
    53  
    54   ! filin='../Param/param'//runname 
    55   filin='param'//runname 
     56!dcdmr --- GRISLI - LOVECLIM 
     57!  filin='param'//runname 
     58  filin='restartdata/param'//runname 
     59!dcdmr --- GRISLI - LOVECLIM 
    5660  open(num_rep_42,file=filin) 
    5761 
     
    140144  read(num_param,timesteps) 
    141145 
     146  write(*,*) "Le temps dans initial-phy-2.F90", time, tbegin 
     147 
    142148! dmr&aurel ##  namelist/timesteps/dtmin,dtmax,dtt,testdiag,tbegin,tend 
    143149  write(num_rep_42,428)'!___________________________________________________________'   
  • branches/iLoveclim/SOURCES/main3D-0.4-40km.f90

    r24 r32  
    100100!< 
    101101 
    102 program main3D 
     102subroutine ISM_NORD 
    103103 
    104104  USE module3D_phy 
     
    112112  use resolmeca_SIA_L1 
    113113!  use track_debug  
     114!dcdmr --- GRISLI - LOVECLIM 
     115  use input_timerCplGRIS 
     116!dcdmr --- GRISLI - LOVECLIM 
    114117 
    115118  implicit none 
    116119 
    117120 
    118  
    119   integer :: m 
    120  
    121   ! good luck 
    122  
    123   call grisli_init  ! Initializations 
    124  
    125   time_loop: do nt=1,ntmax         !____________________________ debut boucle temporelle 
    126  
    127      if (time.ge.tend) exit 
    128      if (time.gt.10) itracebug = 0 
    129      call step_time_loop() 
    130  
     121!dcdmr --- GRISLI - LOVECLIM 
     122!cdc appel d'initial au premier passage dans grisli 
     123! pour demarrer avec climat initialise 
     124  if (time.eq.tbegin) call grisli_init  ! Initializations 
     125! mab: timCplGRISyr corresponds to a certain amout of DAYS   
     126  TEND = real(TIME) + real(timCplGRISyr) 
     127 
     128  PRINT*,'******* Appel de GRISLI Nord *******' 
     129  PRINT*,'TIME = ',TIME,' TEND = ',TEND 
     130 
     131  time_loop: DO WHILE (time.LT.tend)  !____________________________ debut boucle temporelle 
     132     call step_time_loop 
     133     nt= nt+1   !cdc ajoute pour incrementer nt 
     134     IF (nt.gt.ntmax) exit 
    131135  end do time_loop 
     136 
    132137  if (itracebug.eq.1)  call tracebug('dans main avant call out_recovery ') 
    133138  call out_recovery(iout) 
    134139 
    135   write(6,*) "end of the run at time = ",time 
    136   write(6,*) "_____________________________________________________________________" 
    137  
    138 end program main3D 
     140!  write(6,*) "end of the run at time = ",time 
     141!  write(6,*) "_____________________________________________________________________" 
     142 
     143end subroutine ISM_NORD 
    139144 
    140145 
     
    177182  marine=.true. 
    178183  !     ----------------------------------fin des modifs run les plus usuelles 
    179   ! DIRNAMEOUT='../RESULTATS/' 
    180   DIRNAMEOUT='./' 
     184  ! DIRNAMEOUT='./' 
     185  DIRNAMEOUT='outputdata/ism/' 
    181186 
    182187  call initial  ! routine qui appel toutes les routines d'initialisation 
  • branches/iLoveclim/SOURCES/out_cptr_mod.f90

    r8 r32  
    463463        write(num_file1,*) 
    464464        write(num_file1,*) 'age de la glace' 
    465         tab1(:,:,:) = tdep(:,:,:) - time 
    466         write(num_file1,*) tab1(:,:,:)            ! note: on decide d'ecrire le temps 'relatif' 
     465        !tab1(:,:,:) = tdep(:,:,:) - time 
     466        write(num_file1,*) tdep(:,:,:) - time           ! note: on decide d'ecrire le temps 'relatif' 
    467467 
    468468        close(num_file1) 
  • branches/iLoveclim/SOURCES/out_horiz_mod.f90

    r10 r32  
    8888    !------------------------------------ 
    8989    ! open(num_dat,file='../'//trim(dirsource)//'/Fichiers-parametres/TEMPS-HZ.dat') 
    90     open(num_dat,file=trim(dirsource)//'/Fichiers-parametres/TEMPS-HZ.dat') 
     90    !open(num_dat,file=trim(dirsource)//'/Fichiers-parametres/TEMPS-HZ.dat') 
     91    open(num_dat,file=trim(dirsource)//'/TEMPS-HZ.dat') 
    9192 
    9293    ! passe les commentaires qui se terminent par une ligne de ~~~ 
     
    136137 
    137138    ! open(num_dat,file='../'//trim(dirsource)//'/Fichiers-parametres/LISTE-VAR-HZ.dat') 
    138     open(num_dat,file=trim(dirsource)//'/Fichiers-parametres/LISTE-VAR-HZ.dat') 
     139    !open(num_dat,file=trim(dirsource)//'/Fichiers-parametres/LISTE-VAR-HZ.dat') 
     140    open(num_dat,file=trim(dirsource)//'/LISTE-VAR-HZ.dat') 
     141 
    139142 
    140143    !saute les commentaires 
  • branches/iLoveclim/SOURCES/util_recovery.f90

    r31 r32  
    3535 
    3636    !open(num_file,file='../SOURCES/Fichiers-parametres/TEMPS-CPTR-NC.dat') 
    37     open(num_file,file=trim(dirsource)//'/Fichiers-parametres/TEMPS-CPTR-NC.dat') 
     37    !open(num_file,file=trim(dirsource)//'/Fichiers-parametres/TEMPS-CPTR-NC.dat') 
     38    open(num_file,file=trim(dirsource)//'/TEMPS-CPTR-NC.dat') 
    3839 
    3940    ! passe les commentaires qui se terminent par une ligne de ~~~ 
     
    8485    logic_out=.FALSE. 
    8586 
     87    ! aurel, dec15. en plus des id avec des "k" etc. on va rajouter 
     88    ! un identifiant "grestart" pour identifier ces .nc restarts 
     89    ! des autres 
     90     
    8691    if ((mod(abs(dble(TIME)),dble(DTOUT)).lt.dble(dtmin)).OR.   & 
    8792         (ABS(TIME+297000).LT.dtmin) .OR.   & 
     
    103108          write(ntime,'(i10)')  INT(abs(dble(tab_time(indice)))/dble(DTOUT))   
    104109          if (tab_time(indice) .Lt. 0) then 
    105              filin=runname//'-k'//trim(ADJUSTL(ntime)) 
     110             filin=runname//'-grestart-k'//trim(ADJUSTL(ntime)) 
    106111          else  
    107              filin=runname//'+k'//trim(ADJUSTL(ntime)) 
     112             filin=runname//'-grestart+k'//trim(ADJUSTL(ntime)) 
    108113          end if 
    109114 
     
    111116          if (TIME .ge. Tend) then 
    112117             time_out(1)=TIME 
    113              filin=runname//'_2' 
     118             filin=runname//'-grestart_2' 
    114119          else 
    115120             time_out(1)=TIME 
    116              filin=runname//'_1' 
     121             filin=runname//'-grestart_1' 
    117122          end if 
    118123       end if 
Note: See TracChangeset for help on using the changeset viewer.