Changeset 9 for trunk/SOURCES/Hemin40_files
- Timestamp:
- 02/12/15 11:42:12 (9 years ago)
- Location:
- trunk/SOURCES/Hemin40_files
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/Hemin40_files/fake-routines-hemin40_mod.f90
r4 r9 16 16 17 17 use module3d_phy 18 use deform_declar19 18 implicit none 20 19 … … 39 38 end subroutine track_change_T 40 39 40 !____________________________________________________ 41 subroutine time_step_recul 42 43 if (itracebug.eq.1) call tracebug(' Entree dans routine fake time_step_recul') 44 ! quand on n'utilise pas le recul 45 end subroutine time_step_recul 46 41 47 end module fake_nor 42 48 ! -
trunk/SOURCES/Hemin40_files/lect-hemin40_mod.f90
r4 r9 1 !> \file lect-hemin40_mod.f902 !! Module de lecture de la topography a 40 km3 !<4 5 !> \namespace dragging_calc_beta6 !! Module de lecture de la topography a 40 km7 !! \author ...8 !! \date ...9 !! @note Used module10 !! @note - use module3D_phy11 !<12 13 1 module lect_topo_hemin40 14 2 15 3 use module3D_phy 16 4 17 character(len= 35) :: FILE1 ! CHARACTER(LEN=30) :: FILE1, FILE2, FILE318 character(len= 35) :: FILE25 character(len=50) :: FILE1 ! CHARACTER(LEN=30) :: FILE1, FILE2, FILE3 6 character(len=50) :: FILE2 19 7 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 22 9 23 10 contains … … 25 12 subroutine input_topo 26 13 14 namelist/topo_file/file1,file2 15 rewind(num_param) ! pour revenir au debut du fichier param_list.dat 16 read(num_param,topo_file) 17 ! formats pour les ecritures dans 42 18 428 format(A) 19 write(num_rep_42,428)'!___________________________________________________________' 20 write(num_rep_42,428) '&topo_file ! nom du bloc ' 21 write(num_rep_42,*) 22 write(num_rep_42,*) 'file1 = ', file1 23 write(num_rep_42,*) 'file2 = ', file2 24 write(num_rep_42,*)'/' 25 write(num_rep_42,428) '! file1 : topo de depart' 26 write(num_rep_42,428) '! file2 : topo de reference' 27 write(num_rep_42,*) 28 27 29 !====================================== 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,*)'----------------------' 31 33 !==================================================================== 32 34 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) 35 37 ! file1=TRIM(DIRNAMEINP)//'hemin2.g40' 36 file2=TRIM(DIRNAMEINP)//'hemin2.g40' ! topo actuelle37 write(42,*) 'topo de depart', file138 write(42,*) 'topo reference', file238 ! file2=TRIM(DIRNAMEINP)//'hemin2.g40' ! topo actuelle 39 ! write(42,*) 'topo de depart', file1 40 ! write(42,*) 'topo reference', file2 39 41 40 42 … … 45 47 ! lecture de la topo actuelle 46 48 ! --------------------------- 47 open (20,file= file2)49 open (20,file=TRIM(DIRNAMEINP)//file2,status='old') 48 50 49 51 read(20,'(A80)') TITRE … … 52 54 do J=1,ny 53 55 do I=1,nx 54 read (20,*) S0(I,J),H0(I,J),B soc0(I,J)56 read (20,*) S0(I,J),H0(I,J),BSOC0(I,J) 55 57 S0(i,j)=max(S0(i,j),0.) 56 58 end do … … 61 63 ! lecture de la topo de depart 62 64 ! --------------------------- 63 open (20,file= file1)65 open (20,file=TRIM(DIRNAMEINP)//file1,status='old') 64 66 ! open (20,file='../INPUT-DATA/hemin.g50') 65 67 read(20,'(A80)') TITRE … … 72 74 end do 73 75 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 75 83 ! lecture des coordonnées geographiques 76 84 … … 80 88 ! les longitudes sont comprises entre -180 et +180 (negative a l'Ouest de 81 89 ! Greenwich et positive a l'Est) 82 83 84 85 86 87 write(42,*) 'fichier grille: ', filin90 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 88 96 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') 93 104 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' 97 106 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) 109 109 ! print*, i,j,ghf(i,j) 110 111 110 end do 111 close(88) 112 112 ! pour passer les flux des mW/m2 au J/m2/an 113 113 ghf(:,:)=-SECYEAR/1000.*ghf(:,:) 114 114 ! write(42,*) 'flux geothermique fixe : 55 mW/m2' 115 115 ! ghf(:,:)=-SECYEAR/1000.*55. !B6norcg2 116 116 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) 120 120 ! Initialisation du Masque 121 121 !------------------------------------------------ -
trunk/SOURCES/Hemin40_files/module_choix-hemin40-0.4.f90
r4 r9 40 40 41 41 !--------------Lecture climat ref ------------------ 42 ! Le climat de ref si necessaire est maintenant lu par le module de climat directement 42 43 !use lect_clim_act_anteis 43 44 !use lect_clim_act_hemin40 ! pour l'hemisphere nord et l'eurasie 44 45 ! use climat_heino 45 46 46 47 !--------------Lecture climat forcage--------------- 47 48 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 52 use 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 50 54 !use climat_synthes_mod 51 55 !use climat_profil_mod 52 56 !use climat_regions_delta 53 57 58 use ablation_mod ! calcul de l'ablation (PDD ou autre methode) 59 54 60 ! pas de lacs proglaciaires 55 61 use no_lakes 56 62 63 ! suivi des traceurs ou pas ? 64 !use tracer_mod ! probablement pas compatible avec Hemin-40 actuellement 65 use notracer_mod 66 57 67 !--------------Choix isostasie---------------------- 58 use isostasie_mod! module permettant de calculer la deflexion isostasique59 ! USE NOISOSTASIE_MOD! module pour ne pas avoir d'isostasie68 use isostasie_mod ! module permettant de calculer la deflexion isostasique 69 !use noisostasie_mod ! module pour ne pas avoir d'isostasie 60 70 61 71 62 72 !--------------Module Physique--------------------- 63 use deformation_mod ! module concernant les lois de deformation 73 !use deformation_mod ! module concernant les lois de deformation 74 use deformation_mod_2lois ! module concernant les lois de deformation 64 75 65 76 !--------------Module propritete thermique de la glace 66 use 77 use prop_thermiques_ice 67 78 ! use prop_therm_ice_heino 68 79 … … 71 82 72 83 ! sliding- dragging 73 ! 84 !use module sliding_vitbal 74 85 use sliding_Bindschadler 75 ! 86 !use sliding_dragging_heino ! loi de glissement heino : mis dans diffusiv : 76 87 77 88 78 89 !use dragging_vitbil 79 ! 90 !use dragging_hwatstream 80 91 use dragging_hwat_contmaj 81 82 92 !use dragging_hwat_cont 83 93 84 !use dragging_hwat_contmaj 94 !------------ spinup ----------------------------------- 95 use no_spinup ! spinup=0 96 !use spinup_vitbil ! plusieurs variantes de spinup : inclue le dragging 97 ! enlever le use dragging dans ce cas là 85 98 86 99 ! use eq_elliptique_mod ! ancienne version (remplimat-5) … … 93 106 ! choix resolution de la conservation de la masse 94 107 !----------------------------------------------- 95 use equat_adv_diff_2D ! conservation masse avec advection-diffusion 108 !use equat_adv_diff_2D ! conservation masse avec advection-diffusion 109 use equat_adv_diff_2D_vect ! le vecteur est maintenant dans l'appel 96 110 97 111 98 112 !--------------Fusion basale------------------------ 99 113 !use bmelt_ant_regions ! pour l'Antarctique avec régions 100 114 use bmelt_nor_regions ! pour le nord avec régions 101 115 !use bmelt_nor_depth ! pour le nord avec profondeur d'eau 102 116 … … 105 119 ! use fake_heino 106 120 ! use fake_ant 107 121 use fake_nor 108 122 !-------------- Outputs----------------------------- 109 123 ! … … 113 127 114 128 !-----Suivi temporel 115 129 use output_hemin40_mod 116 130 ! use output_antarcti_mod 117 131 ! use output_heino
Note: See TracChangeset
for help on using the changeset viewer.