Ignore:
Timestamp:
02/12/15 11:42:12 (9 years ago)
Author:
dumas
Message:

Mise en place de Hemin-40 avec nouveaux module climat : climat_forcage_mois_mod.f90, ablation_mod.f90, pdd_declar_mod.f90. Suppression de l'appel à lect-clim-act-hemin40_mod.f90

Location:
trunk/SOURCES/Hemin40_files
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/SOURCES/Hemin40_files/fake-routines-hemin40_mod.f90

    r4 r9  
    1616 
    1717use module3d_phy 
    18 use deform_declar 
    1918implicit none 
    2019 
     
    3938end subroutine track_change_T 
    4039 
     40!____________________________________________________ 
     41subroutine time_step_recul 
     42 
     43if (itracebug.eq.1)  call tracebug(' Entree dans routine fake time_step_recul') 
     44! quand on n'utilise pas le recul 
     45end subroutine time_step_recul 
     46 
    4147end module fake_nor 
    4248! 
  • trunk/SOURCES/Hemin40_files/lect-hemin40_mod.f90

    r4 r9  
    1 !> \file lect-hemin40_mod.f90 
    2 !! Module de lecture de la topography a 40 km 
    3 !< 
    4  
    5 !> \namespace  dragging_calc_beta 
    6 !! Module de lecture de la topography a 40 km 
    7 !! \author ... 
    8 !! \date ... 
    9 !! @note Used module 
    10 !! @note   - use module3D_phy 
    11 !< 
    12  
    131module lect_topo_hemin40 
    142 
    153  use module3D_phy 
    164   
    17     character(len=35) :: FILE1 ! CHARACTER(LEN=30) :: FILE1, FILE2,  FILE3 
    18     character(len=35) :: FILE2 
     5    character(len=50) :: FILE1 ! CHARACTER(LEN=30) :: FILE1, FILE2,  FILE3 
     6    character(len=50) :: FILE2 
    197    character(len=80) :: filin 
    20 real,dimension(nx,ny) ::  xcc , ycc        !< coordeonnes en m 
    21 real, dimension(nx,ny,5) :: bidon          !< pour l'appel a courbure 
     8    real, dimension(nx,ny,5) :: bidon          ! pour l'appel a courbure 
    229 
    2310contains 
     
    2512subroutine input_topo 
    2613 
     14namelist/topo_file/file1,file2 
     15rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
     16read(num_param,topo_file) 
     17! formats pour les ecritures dans 42 
     18428 format(A) 
     19write(num_rep_42,428)'!___________________________________________________________'  
     20write(num_rep_42,428) '&topo_file                                  ! nom du bloc ' 
     21write(num_rep_42,*) 
     22write(num_rep_42,*) 'file1 = ', file1 
     23write(num_rep_42,*) 'file2 = ', file2 
     24write(num_rep_42,*)'/'  
     25write(num_rep_42,428) '! file1 : topo de depart' 
     26write(num_rep_42,428) '! file2 : topo de reference'              
     27write(num_rep_42,*) 
     28 
    2729!====================================== La reponse est 42 =========== 
    28  write(42,*) 
    29  write(42,*)' Fichiers en entree' 
    30  write(42,*)'----------------------' 
     30! write(42,*) 
     31! write(42,*)' Fichiers en entree' 
     32! write(42,*)'----------------------' 
    3133!====================================================================  
    3234 
    33  
    34       file1=TRIM(DIRNAMEINP)//'topo-21k.g40'     ! topo LGM ICE_5G (1=topo de depart) 
     35! dans param : 
     36!      file1=TRIM(DIRNAMEINP)//'topo-21k.g40'     ! topo LGM ICE_5G (1=topo de depart) 
    3537!      file1=TRIM(DIRNAMEINP)//'hemin2.g40' 
    36       file2=TRIM(DIRNAMEINP)//'hemin2.g40'       ! topo actuelle 
    37       write(42,*) 'topo de depart', file1 
    38       write(42,*) 'topo reference', file2 
     38!      file2=TRIM(DIRNAMEINP)//'hemin2.g40'       ! topo actuelle 
     39!      write(42,*) 'topo de depart', file1 
     40!      write(42,*) 'topo reference', file2 
    3941 
    4042       
     
    4547!     lecture de la topo actuelle 
    4648!     --------------------------- 
    47      open (20,file=file2) 
     49     open (20,file=TRIM(DIRNAMEINP)//file2,status='old') 
    4850        
    4951     read(20,'(A80)') TITRE 
     
    5254         do J=1,ny  
    5355          do I=1,nx 
    54              read (20,*)  S0(I,J),H0(I,J),Bsoc0(I,J) 
     56             read (20,*)  S0(I,J),H0(I,J),BSOC0(I,J) 
    5557             S0(i,j)=max(S0(i,j),0.) 
    5658          end do 
     
    6163!     lecture de la topo de depart 
    6264!     --------------------------- 
    63      open (20,file=file1) 
     65     open (20,file=TRIM(DIRNAMEINP)//file1,status='old') 
    6466!         open (20,file='../INPUT-DATA/hemin.g50') 
    6567     read(20,'(A80)') TITRE 
     
    7274        end do 
    7375     close(20) 
    74       
     76 
     77! calcul des courbures du socle 
     78 
     79     call courbure(nx,ny,dx,Bsoc,bidon(:,:,1),bidon(:,:,2),bidon(:,:,3), & 
     80          bidon(:,:,4),socle_cry,bidon(:,:,5)) 
     81     socle_cry(:,:)=socle_cry(:,:)*dx*dx 
     82 
    7583! lecture des coordonnées geographiques 
    7684 
     
    8088! les longitudes sont comprises entre -180 et +180 (negative a l'Ouest de 
    8189! Greenwich et positive a l'Est) 
    82        open(unit=2004,file=filin,iostat=ios) 
    83            do k=1,nx*ny 
    84            read(2004,*) i,j,XCC(i,j),YCC(i,j),XLONG(i,j),YLAT(i,j) 
    85            enddo 
    86        close(2004) 
    87 write(42,*) 'fichier grille: ', filin 
     90    open(unit=2004,file=filin,iostat=ios) 
     91    do k=1,nx*ny 
     92       read(2004,*) i,j,XCC(i,j),YCC(i,j),XLONG(i,j),YLAT(i,j) 
     93    enddo 
     94    close(2004) 
     95    write(42,*) 'fichier grille: ', filin 
    8896               
    89       xmin=xcc(1,1)/1000. 
    90       ymin=ycc(1,1)/1000. 
    91       xmax=xcc(nx,ny)/1000. 
    92       ymax=ycc(nx,ny)/1000. 
     97    xmin=xcc(1,1)/1000. 
     98    ymin=ycc(1,1)/1000. 
     99    xmax=xcc(nx,ny)/1000. 
     100    ymax=ycc(nx,ny)/1000. 
     101                          
     102! lecture du flux geothermique de Shapiro 
     103    open(88,file=TRIM(DIRNAMEINP)//'ijphi_hemin40.dat') 
    93104 
    94 ! appel a la routine de calcul de courbure 
    95       call courbure(nx,ny,dx,Bsoc,bidon(:,:,1),bidon(:,:,2),bidon(:,:,3), & 
    96            bidon(:,:,4),socle_cry,bidon(:,:,5)) 
     105    write(42,*) 'flux geothermique Shapiro : ',TRIM(DIRNAMEINP)//'ijphi_hemin40.dat' 
    97106 
    98       socle_cry(:,:)=socle_cry(:,:)*dx*dx 
    99  
    100  
    101                         
    102 ! lecture du flux geothermique de Shapiro 
    103       open(88,file=TRIM(DIRNAMEINP)//'ijphi_hemin40.dat') 
    104  
    105       write(42,*) 'flux geothermique Shapiro : ',TRIM(DIRNAMEINP)//'ijphi_hemin40.dat' 
    106  
    107       do k=1,nx*ny 
    108          read(88,*) i,j,ghf(i,j) 
     107    do k=1,nx*ny 
     108       read(88,*) i,j,ghf(i,j) 
    109109!        print*, i,j,ghf(i,j) 
    110       end do 
    111       close(88) 
     110    end do 
     111    close(88) 
    112112! pour passer les flux des mW/m2 au J/m2/an       
    113       ghf(:,:)=-SECYEAR/1000.*ghf(:,:) 
     113    ghf(:,:)=-SECYEAR/1000.*ghf(:,:) 
    114114!     write(42,*) 'flux geothermique fixe : 55 mW/m2'  
    115115!     ghf(:,:)=-SECYEAR/1000.*55. !B6norcg2 
    116116 
    117 print*,'lect topo' 
    118 print*,'shb',S(101,91),H(101,91),B(101,91) 
    119 print*,'shb0',S0(101,91),H0(101,91),Bsoc0(101,91) 
     117! print*,'lect topo' 
     118! print*,'shb',S(101,91),H(101,91),B(101,91) 
     119! print*,'shb0',S0(101,91),H0(101,91),BSOC0(101,91) 
    120120!    Initialisation du Masque 
    121121!------------------------------------------------ 
  • trunk/SOURCES/Hemin40_files/module_choix-hemin40-0.4.f90

    r4 r9  
    4040 
    4141!--------------Lecture climat ref ------------------ 
     42! Le climat de ref si necessaire est maintenant lu par le module de climat directement 
    4243!use lect_clim_act_anteis 
    43  use lect_clim_act_hemin40 ! pour l'hemisphere nord et l'eurasie 
     44!use lect_clim_act_hemin40 ! pour l'hemisphere nord et l'eurasie 
    4445! use  climat_heino 
    4546 
    4647!--------------Lecture climat forcage--------------- 
    4748 
    48 !use climat_perturb_mod 
    49  use climat_forcage_mod 
     49!use climat_perturb_mod ! pour simule climat equilibre type Loveclim 
     50!use climat_forcage_stat_mois_mod  ! climat constant mensuel GCMs 
     51!use climat_forcage_mod ! pour cycle force GCM avec index 
     52use climat_forcage_mois_mod ! forcage mensuel GCM 1 Snapshot 
     53! use climat_forcage_insolation_mod ! methode JB multi-snapshots mensuelle mais pour un etat stationnaire avec correction topo GCM => GRISLI 
    5054!use climat_synthes_mod 
    5155!use climat_profil_mod 
    5256!use climat_regions_delta 
    5357 
     58use ablation_mod ! calcul de l'ablation (PDD ou autre methode) 
     59 
    5460! pas de lacs proglaciaires 
    5561use no_lakes 
    5662 
     63! suivi des traceurs ou pas ? 
     64!use tracer_mod  ! probablement pas compatible avec Hemin-40 actuellement 
     65use notracer_mod 
     66 
    5767!--------------Choix isostasie---------------------- 
    58  use isostasie_mod  ! module permettant de calculer la deflexion isostasique 
    59 ! USE NOISOSTASIE_MOD ! module pour ne pas avoir d'isostasie 
     68use isostasie_mod    ! module permettant de calculer la deflexion isostasique 
     69!use noisostasie_mod ! module pour ne pas avoir d'isostasie 
    6070 
    6171 
    6272!--------------Module Physique--------------------- 
    63 use deformation_mod  ! module concernant les lois de deformation 
     73!use deformation_mod         ! module concernant les lois de deformation 
     74use deformation_mod_2lois   ! module concernant les lois de deformation 
    6475 
    6576!--------------Module propritete thermique de la glace 
    66 use  prop_thermiques_ice 
     77use prop_thermiques_ice 
    6778! use prop_therm_ice_heino 
    6879 
     
    7182 
    7283! sliding- dragging 
    73 ! use module sliding_vitbal 
     84!use module sliding_vitbal 
    7485use sliding_Bindschadler 
    75 ! use sliding_dragging_heino    ! loi de glissement heino : mis dans diffusiv :  
     86!use sliding_dragging_heino    ! loi de glissement heino : mis dans diffusiv :  
    7687 
    7788 
    7889!use dragging_vitbil 
    79 ! use dragging_hwatstream 
     90!use dragging_hwatstream 
    8091use dragging_hwat_contmaj 
    81  
    8292!use dragging_hwat_cont 
    8393 
    84 !use dragging_hwat_contmaj 
     94!------------ spinup ----------------------------------- 
     95use no_spinup           ! spinup=0 
     96!use spinup_vitbil         ! plusieurs variantes de spinup : inclue le dragging 
     97                          ! enlever le use dragging dans ce cas là 
    8598 
    8699! use eq_elliptique_mod ! ancienne version (remplimat-5) 
     
    93106! choix resolution de la conservation de la masse 
    94107!----------------------------------------------- 
    95 use equat_adv_diff_2D          ! conservation masse avec advection-diffusion 
     108!use equat_adv_diff_2D          ! conservation masse avec advection-diffusion 
     109use equat_adv_diff_2D_vect      ! le vecteur est maintenant dans l'appel 
    96110 
    97111 
    98112!--------------Fusion basale------------------------ 
    99113!use bmelt_ant_regions ! pour l'Antarctique avec régions 
    100  use bmelt_nor_regions ! pour le nord avec régions 
     114use bmelt_nor_regions ! pour le nord avec régions 
    101115!use bmelt_nor_depth   ! pour le nord avec profondeur d'eau 
    102116 
     
    105119! use fake_heino 
    106120! use fake_ant 
    107  use fake_nor 
     121use fake_nor 
    108122!-------------- Outputs----------------------------- 
    109123! 
     
    113127 
    114128!-----Suivi temporel 
    115  use output_hemin40_mod 
     129use output_hemin40_mod 
    116130! use output_antarcti_mod 
    117131! use output_heino 
Note: See TracChangeset for help on using the changeset viewer.