Changeset 9 for trunk/SOURCES/Hemin40_files/lect-hemin40_mod.f90
- Timestamp:
- 02/12/15 11:42:12 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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 !------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.