Changeset 93 for trunk/SOURCES
- Timestamp:
- 11/28/16 16:03:50 (8 years ago)
- Location:
- trunk/SOURCES
- Files:
-
- 2 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/3D-physique-gen_mod.f90
r66 r93 35 35 integer :: NZZ !< Total number of vertical grid points 36 36 integer :: err !< pour l'allocation des tableaux 37 integer :: Igrdline !< si 1 fixe la position en jouant sur la fusion shelf37 integer :: igrdline !< si 1 fixe la position en jouant sur la fusion shelf 38 38 integer :: i_resolmeca !< defini le type d'association SIA-L1 39 39 integer :: iter_beta !< pour la determination du frottement … … 45 45 integer :: ISYNCHRO !< synchronisation pas de temps dt et dtt 46 46 integer :: LOIGLISS !< permet de choisir la loi de glissement 47 integer :: Schoof !< 0 : pas de flux de Schoof , 1 : flux de Schoof a la grounding line 47 48 !integer :: NYEAR !< number of months in 1 year, st. dev. for temp *) 48 49 integer :: NTMAX !< … … 298 299 integer,dimension(nx,ny) :: i_Hp !< 1 if H is prescribed on this node, else 0 299 300 integer,dimension(nx,ny) :: i_Hp0 !< i_hp mask reference value does not change with time 301 integer, dimension(nx,ny) :: imx_diag !< masque pour eq elliptique 302 integer, dimension(nx,ny) :: imy_diag !< masque pour eq elliptique 300 303 integer,dimension(nx,ny) :: MK_gl0 !< mask grounding line initial 301 304 integer,dimension(nx,ny) :: MK_flot0 !< mask float initial -
trunk/SOURCES/ANT15-LBq_files/module_choix_antar15_LBq.f90
r68 r93 121 121 ! enlever le use dragging dans ce cas là 122 122 123 123 use furst_schoof_mod ! module pour calcul flux gr line 124 124 125 125 ! module concernant l'eq. elliptique (pour les streams et shelves) -
trunk/SOURCES/Ant40_files/module_choix-antar40-0.4.f90
r68 r93 98 98 ! enlever le use dragging dans ce cas là 99 99 100 use furst_schoof_mod ! module pour calcul flux gr line 101 100 102 ! use eq_elliptique_mod ! ancienne version (remplimat-5) 101 103 use eq_ellip_sgbsv_mod ! nouvelle version juillet 2008 -
trunk/SOURCES/Draggings_modules/dragging_prescr_beta_nolin_mod.f90
r70 r93 169 169 betamy_file = trim(dirnameinp)//trim(betamy_file) 170 170 betamax = beta_limgz 171 betamax2d(:,:) = betamax 172 171 betamax_2d(:,:)=betamax 173 172 174 173 ! read the beta value on centered and staggered grids -
trunk/SOURCES/GrIce2sea_files/module_choix_GrIce2sea.f90
r25 r93 117 117 ! enlever le use dragging dans ce cas là 118 118 119 119 use furst_schoof_mod ! module pour calcul flux gr line 120 120 121 121 ! module concernant l'eq. elliptique (pour les streams et shelves) 122 123 122 ! use eq_elliptique_mod ! ancienne version (remplimat-5) 124 123 use eq_ellip_sgbsv_mod ! nouvelle version juillet 2008 -
trunk/SOURCES/Hemin15_files/module_choix-hemin15.f90
r29 r93 97 97 ! enlever le use dragging dans ce cas là 98 98 99 use furst_schoof_mod ! module pour calcul flux gr line 100 99 101 ! use eq_elliptique_mod ! ancienne version (remplimat-5) 100 102 use eq_ellip_sgbsv_mod ! nouvelle version juillet 2008 -
trunk/SOURCES/Hemin40_files/module_choix-hemin40-0.4.f90
r86 r93 100 100 ! enlever le use dragging dans ce cas là 101 101 102 use furst_schoof_mod ! module pour calcul flux gr line 103 102 104 ! use eq_elliptique_mod ! ancienne version (remplimat-5) 103 105 use eq_ellip_sgbsv_mod ! nouvelle version juillet 2008 -
trunk/SOURCES/Makefile.grisli.inc
r92 r93 76 76 calving_frange.o no_calving.o no_lakes.o \ 77 77 out_profile_mod.o printtable_mod.o mix-SIA-L1_mod.o \ 78 furst_schoof_mod.o \ 78 79 relaxation_water_diffusion.o \ 79 80 prescribe-H-i2s_mod.o \ … … 94 95 calving_frange.o no_calving.o no_lakes.o \ 95 96 out_profile_mod.o printtable_mod.o mix-SIA-L1_mod.o \ 97 furst_schoof_mod.o \ 96 98 relaxation_water_diffusion.o \ 97 99 prescribe-H-i2s_mod.o \ … … 175 177 176 178 177 #Liste_ANT15-LBq = lect-Ant_clim_Acc-T_gen_dat.o output_anta_mod-0.4.o \ 178 # dragging-vit_bil_LBq_gen_mod.o dragging_LGM_mod.o dragging_plastic_LGM_mod.o \ 179 # dragging_prescr_beta_mod.o dragging_prescr_beta_buoyency_mod.o dragging_prescr_beta_nolin_mod.o \ 179 #Liste_ANT15-LBq = output_anta_mod-0.4.o \ 180 # dragging_prescr_beta_mod.o dragging_prescr_beta_nolin_mod.o \ 180 181 # fake-routines-ant_mod.o beta_iter_vitbil_mod.o \ 181 182 # lect-Ant_gen2010_dat.o module_choix_antar15_LBq.o \ 182 183 # massb-ant_perturb_Tparam.o track_ant40_mod.o 183 184 185 186 # lect-Ant_clim_Acc-T_gen_dat.o dragging-vit_bil_LBq_gen_mod.o dragging_LGM_mod.o 187 # dragging_plastic_LGM_mod.o dragging_prescr_beta_buoyency_mod.o\ 188 189 184 190 Liste_ANT15-LBq = output_anta_mod-0.4.o \ 191 dragging_prescr_beta_mod.o \ 192 dragging_prescr_beta_nolin_mod.o \ 185 193 lect-Ant_gen2010_dat.o \ 186 194 lect-anteis_mod.o \ 187 195 bmelt-ant-regions_mod.o \ 188 196 fake-routines-ant_mod.o \ 197 beta_iter_vitbil_mod.o \ 189 198 module_choix_antar15_LBq.o \ 199 massb-ant_perturb_Tparam.o \ 190 200 track_ant40_mod.o \ 191 201 … … 200 210 201 211 Liste_hemin40 = output_hemin40_mod.o \ 202 lect-hemin40_mod.o lect-clim-act-hemin40_mod.o\212 lect-hemin40_mod.o \ 203 213 bmelt-hemin40-regions_mod.o bmelt-hemin40-depth_mod.o \ 204 214 fake-routines-hemin40_mod.o \ … … 451 461 Recul_ice2sea : $(Dim_ANT15-LBq) $(mod_dim_communs) \ 452 462 $(toy_recul) \ 453 $(mod_communs _RGL) \454 $(mod_clim_ perturb) \455 $(mod_ tracers) \463 $(mod_communs) \ 464 $(mod_clim_tof) \ 465 $(mod_no_tracers) \ 456 466 $(mod_ell) $(Liste_ANT15-LBq) \ 457 467 $(diagnoshelf) \ 458 468 $(Liste_Netcdf) \ 459 $(routines_communes)steps_time_loop.o $(routine_elliptiques) 460 461 $(LK) -o ../bin/recul_gl $(Dim_ANT15-LBq) $(mod_dim_communs) \ 469 $(routines_communes) steps_time_loop.o \ 470 $(routine_elliptiques) \ 471 $(Liste_BLAS) 472 473 $(LK) -o ../bin/recul_gl \ 474 $(Dim_ANT15-LBq) $(mod_dim_communs) \ 462 475 $(toy_recul) \ 463 $(mod_communs_RGL) \ 464 $(mod_clim_perturb) \ 465 $(mod_tracers) \ 466 $(mod_ell) \ 467 $(Liste_ANT15-LBq) \ 468 $(diagnoshelf) $(Liste_Netcdf) \ 469 $(routines_communes) steps_time_loop.o $(routine_elliptiques) $(NCDF_LIB) $(MKL_LIB) 476 $(mod_communs) \ 477 $(mod_clim_tof) \ 478 $(mod_no_tracers) \ 479 $(mod_ell) $(Liste_ANT15-LBq) \ 480 $(diagnoshelf) \ 481 $(Liste_Netcdf) \ 482 $(routines_communes) steps_time_loop.o \ 483 $(routine_elliptiques) $(NCDF_LIB) $(MKL_LIB) $(Liste_BLAS) 470 484 471 485 -
trunk/SOURCES/New-remplimat/diagno-L2_mod.f90
r72 r93 13 13 real, dimension(nx,ny) :: uyb1 14 14 15 integer, dimension(nx,ny) :: imx_diag 16 integer, dimension(nx,ny) :: imy_diag 15 !cdc transfere dans module3d pour compatibilite avec furst_schoof_mod 16 !cdc integer, dimension(nx,ny) :: imx_diag 17 !cdc integer, dimension(nx,ny) :: imy_diag 17 18 18 19 integer :: nxd1,nxd2 ! domaine selon x Dans l'appel rempli_L2 … … 125 126 126 127 call imx_imy_nx_ny ! pour rempli_L2 : calcule les masques imx et imy qui 128 129 !cdc debug Schoof !!!!!!!!!!!! 130 !~ do j=1,ny 131 !~ do i=1,nx 132 !~ write(578,*) uxbar(i,j) 133 !~ write(579,*) uybar(i,j) 134 !~ enddo 135 !~ enddo 136 137 if (Schoof.eq.1) then ! flux grounding line Schoof 138 call interpol_glflux ! calcul flux GL + interpolation sur voisins 139 endif 140 141 !~ do j=1,ny 142 !~ do i=1,nx 143 !~ write(588,*) uxbar(i,j) 144 !~ write(589,*) uybar(i,j) 145 !~ enddo 146 !~ enddo 147 !~ print*,'ecriteure termineee !!!!!!' 148 !~ read(*,*) 149 127 150 ! donnent les cas de conditions aux limites 128 151 ! -
trunk/SOURCES/Snowball_files/module_choix-snowball.f90
r57 r93 99 99 ! enlever le use dragging dans ce cas là 100 100 101 use furst_schoof_mod ! module pour calcul flux gr line 102 101 103 ! use eq_elliptique_mod ! ancienne version (remplimat-5) 102 104 use eq_ellip_sgbsv_mod ! nouvelle version juillet 2008 -
trunk/SOURCES/climat-perturb_mod-0.4.f90
r65 r93 14 14 15 15 use module3d_phy,only:nx,ny,S,S0,Tann,Tjuly,precip,acc,Ylat,num_forc,num_param,num_rep_42,dirforcage,dirnameinp,tafor,time,sealevel,coefbmshelf 16 use netcdf 17 use io_netcdf_grisli 16 18 17 19 implicit none … … 41 43 !! Routine qui permet d'initialiser les variations temporelles des variables climatiques 42 44 !> 43 subroutine input_clim !routine qui permet d'initialiser les variations temporelles des variables climatiques 45 46 subroutine input_clim 44 47 45 48 implicit none 49 character(len=100) :: precip_file ! fichier precipitations 50 character(len=100) :: temp_annual_file ! fichier temperature annuelle 51 real :: coef_dens ! pour corriger si donnees en eq. eau 52 logical :: temp_param ! si utilisation de temperature parametree 53 real*8, dimension(:,:), pointer :: data_2D => null() ! donnees lues dans le netcdf 54 55 46 56 character(len=8) :: control !label to check clim. forc. file (filin) is usable 47 57 character(len=80):: filin 48 58 integer :: err !< pour l'allocation des tableaux 49 integer :: i 59 integer :: i,j 60 61 namelist/climat_acc_T_gen/precip_file,coef_dens,temp_annual_file 62 63 428 format(A) 64 rewind(num_param) ! pour revenir au debut du fichier param_list.dat 65 read(num_param,climat_acc_T_gen) 66 67 write(num_rep_42,428)'!___________________________________________________________' 68 write(num_rep_42,428)'! module lect_clim_acc_T_ant_gen ' 69 write(num_rep_42,climat_acc_T_gen) 70 write(num_rep_42,428)'!___________________________________________________________' 71 72 73 ! precipitation 74 precip_file = trim(dirnameinp)//trim(precip_file) 75 76 call Read_ncdf_var('precip',trim(precip_file),data_2D) 77 precip(:,:)=data_2D(:,:) 78 !call lect_datfile(nx,ny,precip,1,precip_file) 79 80 precip(:,:)=precip(:,:)*coef_dens 81 acc(:,:)=precip(:,:) 82 83 if ((trim(temp_annual_file).eq.'no').or.(trim(temp_annual_file).eq.'NO')) then 84 temp_param=.true. 85 else 86 temp_param=.false. 87 end if 88 89 ! temperature en surface 90 91 test_param: if (.not.temp_param) then 92 temp_annual_file = trim(dirnameinp)//trim(temp_annual_file) 93 94 95 call Read_ncdf_var('Tann',trim(temp_annual_file),data_2D) 96 Tann(:,:)=data_2D(:,:) 97 ! call lect_input(3,'Tann',1,Tann,temp_annual_file,trim(dirnameinp)//trim(runname)//'.nc') 98 !call lect_datfile(nx,ny,Tann,1,temp_annual_file) ! temperature annuelle 99 100 else ! parametrisation de Fortuin pour la temperature annuelle. 101 102 do j=1,ny 103 do i=1,nx 104 105 7 if (s0(i,j).le.200.) then ! shelfs 106 tann(i,j)=49.642-0.943*abs(ylat(i,j)) 107 else if ((s0(i,j).gt.200.).and.(s0(i,j).lt.1500.)) then ! pente 108 tann(i,j)=36.689-0.005102*s0(i,j)-0.725*abs(ylat(i,j)) 109 else if (s0(i,j).ge.1500.) then ! plateau 110 tann(i,j)=7.405-0.014285*s0(i,j)-0.180*abs(ylat(i,j)) 111 endif 112 end do 113 end do 114 end if test_param 115 116 ta0(:,:)=tann(:,:) 117 118 119 ! pour la temperature d'ete, idem parametrisation huybrechts 120 do j=1,ny 121 do i=1,nx 122 123 tjuly(i,j)=tann(i,j)-17.65+0.00222*s0(i,j)& 124 +0.40802*abs(ylat(i,j)) 125 end do 126 end do 127 128 129 130 50 131 51 132 ! Lecture du forcage … … 138 219 139 220 140 !!!!!!!! ATTENTION AJOUTE POUR TEST MAIS A REMETTRE AU PROPRE PLUS TARD C. DUMAS !!!!!!!!!! 141 !!!!!!!! ancien input_climat_ref de lect_clim_act_anteis 142 ! accumulation de Philippe 143 filin='accumHUY40km.dat' 144 call lect_eis(nx,ny,precip,filin,DIRNAMEINP) 145 !====================================== La reponse est 42 =========== 146 write(num_rep_42,*) 'fichier accum : ', filin 147 148 ! cas particulier de Vostok 149 ivo=101 150 jvo=62 151 do j=jvo-1,jvo+1 152 do i=ivo-1,ivo+1 153 precip(i,j)=0.02 ! valeur plus faible a Vostok. 154 end do 155 end do 156 acc(:,:)=precip(:,:) 157 158 ! temperature en surface : 159 ! parametrisation de Fortuin pour la temperature annuelle. 160 do j=1,ny 161 do i=1,nx 162 163 if (s0(i,j).le.200.) then ! shelfs 164 tann(i,j)=49.642-0.943*abs(ylat(i,j)) 165 else if ((s0(i,j).gt.200.).and.(s0(i,j).lt.1500.)) then ! pente 166 tann(i,j)=36.689-0.005102*s0(i,j)-0.725*abs(ylat(i,j)) 167 else if (s0(i,j).ge.1500.) then ! plateau 168 tann(i,j)=7.405-0.014285*s0(i,j)-0.180*abs(ylat(i,j)) 169 endif 170 171 ta0(i,j)=tann(i,j) 172 ! pour la temperature d'ete, idem parametrisation huybrechts 173 tjuly(i,j)=tann(i,j)-17.65+0.00222*s0(i,j)& 174 +0.40802*abs(ylat(i,j)) 175 end do 176 end do 177 !!!!!!!! FIN MODIF TEMPORAIRE !!!!!!!!!! 178 221 !cdc Commente pour être compatible avec lecture fichiers Cat Schoofing 222 223 !~ !!!!!!!! ATTENTION AJOUTE POUR TEST MAIS A REMETTRE AU PROPRE PLUS TARD C. DUMAS !!!!!!!!!! 224 !~ !!!!!!!! ancien input_climat_ref de lect_clim_act_anteis 225 !~ ! accumulation de Philippe 226 !~ filin='accumHUY40km.dat' 227 !~ call lect_eis(nx,ny,precip,filin,DIRNAMEINP) 228 !~ !====================================== La reponse est 42 =========== 229 !~ write(num_rep_42,*) 'fichier accum : ', filin 230 231 !~ ! cas particulier de Vostok 232 !~ ivo=101 233 !~ jvo=62 234 !~ do j=jvo-1,jvo+1 235 !~ do i=ivo-1,ivo+1 236 !~ precip(i,j)=0.02 ! valeur plus faible a Vostok. 237 !~ end do 238 !~ end do 239 !~ acc(:,:)=precip(:,:) 240 241 !~ ! temperature en surface : 242 !~ ! parametrisation de Fortuin pour la temperature annuelle. 243 !~ do j=1,ny 244 !~ do i=1,nx 245 246 !~ if (s0(i,j).le.200.) then ! shelfs 247 !~ tann(i,j)=49.642-0.943*abs(ylat(i,j)) 248 !~ else if ((s0(i,j).gt.200.).and.(s0(i,j).lt.1500.)) then ! pente 249 !~ tann(i,j)=36.689-0.005102*s0(i,j)-0.725*abs(ylat(i,j)) 250 !~ else if (s0(i,j).ge.1500.) then ! plateau 251 !~ tann(i,j)=7.405-0.014285*s0(i,j)-0.180*abs(ylat(i,j)) 252 !~ endif 253 254 !~ ta0(i,j)=tann(i,j) 255 !~ ! pour la temperature d'ete, idem parametrisation huybrechts 256 !~ tjuly(i,j)=tann(i,j)-17.65+0.00222*s0(i,j)& 257 !~ +0.40802*abs(ylat(i,j)) 258 !~ end do 259 !~ end do 260 !~ !!!!!!!! FIN MODIF TEMPORAIRE !!!!!!!!!! 261 !cdc fin Commente pour être compatible avec lecture fichiers Cat Schoofing 179 262 180 263 return -
trunk/SOURCES/deformation_mod_2lois.f90
r73 r93 115 115 write(num_rep_42,*)'! loi de deformation 1 module deformation_mod_2lois' 116 116 write(num_rep_42,*) 117 write(num_rep_42, loidef_1)117 write(num_rep_42,*) 118 118 write(num_rep_42,*)'! exposant (glen), temperature de transition (ttrans)' 119 119 write(num_rep_42,*)'! enhancement factor (sf)' … … 142 142 write(num_rep_42,*)'! loi de deformation 2 module deformation_mod_2lois' 143 143 write(num_rep_42,*) 144 write(num_rep_42, loidef_2)144 write(num_rep_42,*) 145 145 write(num_rep_42,*)'! exposant (glen), temperature de transition (ttrans)' 146 146 write(num_rep_42,*)'! enhancement factor (sf)' -
trunk/SOURCES/initial-0.3.f90
r68 r93 117 117 call initial_heino ! a mettre avant les init sliding et deformation 118 118 119 call init_furst_schoof ! initialisation furst schoof gr line 119 120 120 121 call init_diagno ! initialisation de la resolution equation elliptique vitesses -
trunk/SOURCES/initial-phy-2.f90
r22 r93 11 11 !! 12 12 !< 13 subroutine initial_phy ()13 subroutine initial_phy 14 14 15 15 ! ************************************************** … … 27 27 28 28 namelist/runpar/runname,icompteur,iout,reprcptr,itracebug,num_tracebug,comment_run 29 namelist/grdline/igrdline 29 namelist/grdline/igrdline,Schoof 30 30 namelist/timesteps/dtmin,dtmax,dtt,testdiag,tbegin,tend 31 31 … … 122 122 write(num_rep_42,*) 123 123 write(num_rep_42,*) 'igrdline = ',igrdline 124 write(num_rep_42,*) 'Schoof = ',Schoof 124 125 write(num_rep_42,*)'/' 125 write(num_rep_42,428)'! igrdline : 1 ligne d echouage fixée, sinon 0' 126 write(num_rep_42,428)'! igrdline : 1 ligne d echouage fixée, sinon 0' 127 write(num_rep_42,428)'! Schoof : 0 pas de Schoof, 1 flux de Schoof' 126 128 write(num_rep_42,*) 127 129
Note: See TracChangeset
for help on using the changeset viewer.