- Timestamp:
- 04/02/15 11:44:24 (9 years ago)
- Location:
- trunk/SOURCES
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/Fichiers-parametres/GI2S_5T_param_list.dat
r4 r12 3 3 !___________________________________________________________ 4 4 &runpar ! nom du bloc parametres du run 5 runname = " GISCAM30" ! 8 caracteres5 runname = "DEBUG001" ! 8 caracteres 6 6 icompteur = 1 7 7 iout = 2 8 reprcptr = "../ Fichier-CPTR/GISCAM29_350ans.nc" ! "../Fichier-CPTR/GI2S_003_100ans-relax.nc"8 reprcptr = "../../Fichier-CPTR/GISCAM29_350ans.nc" ! "../Fichier-CPTR/GI2S_003_100ans-relax.nc" 9 9 itracebug = 0 10 10 num_tracebug = 163 11 comment_run = " idem 28 pour tester effet beta zones actuellement non englacees"11 comment_run = "Test sur base GISCAM36" 12 12 ! runname : nom de l experience (8 caracteres) 13 13 ! icompteur : reprise dans un fichier 0 -> non, 1 -> oui, 2 -> T et Hwat … … 25 25 ×teps ! bloc timestep 26 26 27 tend = 2 00.28 tbegin = 0!1.e10 ! si tbegin > 1.e9 on prend le temps du fichier cptr27 tend = 2200. 28 tbegin = 1995 !1.e10 ! si tbegin > 1.e9 on prend le temps du fichier cptr 29 29 dtmin = 1.e-3 30 30 dtmax = 1. !20. ! 1. ! 10. ! 0.1 … … 192 192 / 193 193 ! remarques : l'epaisseur n'est pas lue mais calculee a partir du masque 194 ! 194 195 195 !---------------------------------------------------------- 196 196 ! module lect_climref_Ice2sea 197 197 &clim_smb_T_gen 198 199 198 smb_file = 'smb_ERAI_MAR_highres_1989-2008mean.grd' !'smb_data_from_CISM_to_ice2sea.grd' ! smb (en kg/m2/an 200 coef_smb_unit = 1.0 989e-3 ! 1/910199 coef_smb_unit = 1.0893e-3 ! 1.0989e-3 ! 1.0989e-3 pour1/910 1.0893e-3 pour 1/918 (valeur habituelle) 201 200 temp_annual_file ='Tann-cism.grd' ! annual surface temperature 202 201 / … … 207 206 / 208 207 !---------------------------------------------------------- 208 ! module climat_Grice2sea_years_mod 209 209 &clim_snap 210 210 nb_snap = 200 … … 212 212 ecart_snap = 1. 213 213 file_smb_snap = 'smb_ECHAM5_A1B_MAR_highres_all_time.nc' 214 / 215 !---------------------------------------------------------- 214 massb = 1 ! 0=fixe, 1:interp snapshots, 2:snapshots+interp vert 215 / 216 !---------------------------------------------------------- 217 &grad_smb !routine init_grad_smb 218 file_grad_smb = 'GRISLI_gradients_MAR_00.txt' 219 / 220 !--------------------------------------------------------- 216 221 &bmelt_seuil ! module bmelt_seuil_prof 217 222 bm_grz = 50. !3 … … 228 233 beta_c_file = 'beta-GISCAM23_20ans.grd' ! 'beta_Fab_10avril12_bord.grd' ! 'beta_fab_comb_alpha_v4.grd' 229 234 beta_limgz = .5e6 ! -1.e12 pour plastic ? ! .5e6 en visqueux 230 beta_min = 1 !10. 235 beta_min = 1 !10. ! for grounded ice (Pa) 231 236 beta_mult = 1. ! coefficient multiplicateur 232 237 / -
trunk/SOURCES/Fichiers-parametres/LISTE-VAR-NETCDF.dat
r4 r12 114 114 Bm 115 115 10 116 1 1 -1116 1 1 1 117 117 ----------------------------------------------------------- 118 118 Acc 119 119 11 120 1 4 0120 1 4 1 121 121 ----------------------------------------------------------- 122 122 Abl 123 123 12 124 1 1 -1124 1 1 1 125 125 ----------------------------------------------------------- 126 126 Calv 127 127 13 128 0 1 -1128 0 1 1 129 129 ----------------------------------------------------------- 130 130 dHdt -
trunk/SOURCES/Fichiers-parametres/TEMPS-HZ.dat
r4 r12 17 17 1.e10 18 18 ------------------------------------------------------------------------------------------- 19 1 npredeft lecture de predef_tsort 20 200000 21 5010 22 5020 23 5050 24 5100 25 5200 26 5300 27 5400 28 5500 29 5600 30 5700 31 5800 32 5900 33 6000 34 6500 35 7000 36 7500 37 8000 38 100 39 150 40 200 41 250 42 300 43 350 44 400 45 450 46 500 47 300 48 400 49 3000 50 4000 19 3 npredeft lecture de predef_tsort 20 10. 21 100. 22 500. 51 23 -
trunk/SOURCES/Fichiers-parametres/hemin40_LISTE-VAR-NETCDF.dat
r9 r12 114 114 Bm 115 115 10 116 1 1 -1116 1 1 1 117 117 ----------------------------------------------------------- 118 118 Acc 119 119 11 120 1 4 0120 1 4 1 121 121 ----------------------------------------------------------- 122 122 Abl 123 123 12 124 1 1 -1124 1 1 1 125 125 ----------------------------------------------------------- 126 126 Calv 127 127 13 128 0 1 -1128 0 1 1 129 129 ----------------------------------------------------------- 130 130 dHdt -
trunk/SOURCES/GrIce2sea_files/climat_GrIce2sea_years_mod.f90
r11 r12 64 64 integer :: status !> pour la sortie test netcdf 65 65 66 integer :: massb 66 integer :: massb_time !< pour selectionner le type de calcul de smb 67 67 ! On a deux routines : celle avec un seul fichier (donnees observees) : massb_Ice2sea_fixe 68 68 ! Celle avec le bilan de masse sur plusieurs snapshots (annuels par ex.) entre lesquels on interpole. … … 108 108 bm(:,:) = tab(:,:) * coef_smb_unit 109 109 110 where ((H(:,:).lt.1.).and.(Bsoc(:,:).gt.0.))111 bm(:,:) = bm(:,:) - 5. ! pour faire un masque a l'exterieur du Groenland actuel112 end where110 ! where ((H(:,:).lt.1.).and.(Bsoc(:,:).gt.0.)) 111 ! bm(:,:) = bm(:,:) - 5. ! pour faire un masque a l'exterieur du Groenland actuel 112 ! end where 113 113 114 114 acc(:,:) = 0. … … 137 137 !lecture namelist 138 138 139 namelist/clim_snap/nb_snap,time_depart_snaps,ecart_snap,file_smb_snap,massb 139 namelist/clim_snap/nb_snap,time_depart_snaps,ecart_snap,file_smb_snap,massb_time 140 140 141 141 rewind(num_param) ! pour revenir au debut du fichier param_list.dat … … 146 146 read(num_param,clim_snap) 147 147 148 write(num_rep_42,428)'!________________________________________________________________ '149 write(num_rep_42,428)'! module climat_Grice2sea_years_mod '148 write(num_rep_42,428)'!_______________________________________________________________________' 149 write(num_rep_42,428)'! module climat_Grice2sea_years_mod ' 150 150 write(num_rep_42,clim_snap) 151 write(num_rep_42,428)'! nb_snap = nombre de snapshots '152 write(num_rep_42,428)'! time_depart_snaps = debut du forçage '153 write(num_rep_42,428)'! ecart_snap = ecart entre les snapshots '154 write(num_rep_42,428)'! file_smb_snap = fichier serie temp anomalie SMB de GCM '155 write(num_rep_42,428)'! massb = 0:fixe, 1:interp snapshots'156 write(num_rep_42,428)'!________________________________________________________________ '157 158 151 write(num_rep_42,428)'! nb_snap = nombre de snapshots ' 152 write(num_rep_42,428)'! time_depart_snaps = debut du forçage ' 153 write(num_rep_42,428)'! ecart_snap = ecart entre les snapshots ' 154 write(num_rep_42,428)'! file_smb_snap = fichier serie temp anomalie SMB de GCM ' 155 write(num_rep_42,428)'! massb_time = 0:fixe, 1:interp snapshots, 2:snapsh+interp vert ' 156 write(num_rep_42,428)'!_______________________________________________________________________' 157 158 if (massb_time == 1) then ! lecture des snapshots 159 159 ! allocation dynamique de time_snap 160 161 if (allocated(time_snap)) then 162 deallocate(time_snap,stat=err) 160 if (allocated(time_snap)) then 161 deallocate(time_snap,stat=err) 162 if (err/=0) then 163 print *,"Erreur à la desallocation de time_snap",err 164 stop 165 end if 166 end if 167 168 allocate(time_snap(nb_snap),stat=err) 163 169 if (err/=0) then 164 print *,"Erreur à la desallocation de time_snap",err 170 print *,"erreur a l'allocation du tableau time_snap ",err 171 print *,"nb_snap = ",nb_snap 165 172 stop 166 173 end if 167 end if168 169 170 allocate(time_snap(nb_snap),stat=err)171 if (err/=0) then172 print *,"erreur a l'allocation du tableau time_snap ",err173 print *,"nb_snap = ",nb_snap174 stop175 end if176 174 177 175 ! remplissage de time_snap 178 176 !write(6,*) 'time_snap' 179 do i=1,nb_snap180 time_snap(i) = time_depart_snaps + ecart_snap * (i-1)177 do i=1,nb_snap 178 time_snap(i) = time_depart_snaps + ecart_snap * (i-1) 181 179 ! write(6,*) i,time_snap(i) 182 end do 183 180 end do 184 181 185 182 ! allocation dynamique de smb_snap 186 187 if (allocated(smb_snap)) then 188 deallocate(smb_snap,stat=err) 183 if (allocated(smb_snap)) then 184 deallocate(smb_snap,stat=err) 185 if (err/=0) then 186 print *,"Erreur à la desallocation de smb_snap",err 187 stop 188 end if 189 end if 190 191 allocate(smb_snap(nx,ny,nb_snap),stat=err) 189 192 if (err/=0) then 190 print *,"Erreur à la desallocation de smb_snap",err 193 print *,"erreur a l'allocation du tableau smb_snap ",err 194 print *,"nx,ny,nb_snap = ",nx,',',ny,',',nb_snap 191 195 stop 192 196 end if 193 end if194 195 196 allocate(smb_snap(nx,ny,nb_snap),stat=err)197 if (err/=0) then198 print *,"erreur a l'allocation du tableau smb_snap ",err199 print *,"nx,ny,nb_snap = ",nx,',',ny,',',nb_snap200 stop201 end if202 203 197 204 198 ! lecture de smb_snap 205 206 file_smb_snap = trim(dirnameinp)//trim(file_smb_snap) 207 208 call Read_Ncdf_var('z',file_smb_snap,tab3D) 209 210 smb_snap (:,:,:) = Tab3D(:,:,:) * coef_smb_unit 199 file_smb_snap = trim(dirnameinp)//trim(file_smb_snap) 200 call Read_Ncdf_var('z',file_smb_snap,tab3D) 201 smb_snap (:,:,:) = Tab3D(:,:,:) * coef_smb_unit 211 202 212 203 ! ce sont des anomalies : ajoute les valeurs de reference 213 214 do k = 1,nb_snap 215 do j = 1,ny 216 do i = 1,nx 217 smb_snap (i,j,k) = smb_snap(i,j,k) + bm(i,j) 218 end do 219 end do 220 end do 204 do k = 1,nb_snap 205 do j = 1,ny 206 do i = 1,nx 207 smb_snap (i,j,k) = smb_snap(i,j,k) + bm(i,j) 208 end do 209 end do 210 end do 221 211 222 212 ! copie la valeur de reference dans bm_0 223 bm_0(:,:) = bm(:,:) 213 bm_0(:,:) = bm(:,:) 214 endif 224 215 225 216 ! ecriture de verification … … 279 270 ! appelle la routine de lecture des smb annuels 280 271 call input_clim 281 call init_grad_smb 272 if (massb_time == 1) then ! lecture gradients smb 273 call init_grad_smb 274 endif 282 275 283 276 return … … 297 290 implicit none 298 291 299 select case (massb )292 select case (massb_time) 300 293 case(0) 301 294 ! surface temperature et accumulation massb_Ice2sea_fixe … … 303 296 Tann (:,:) = Ta0 (:,:) + T_lapse_rate * (S(:,:)-S0(:,:)) 304 297 Ts(:,:) = Tann(:,:) 305 306 298 case(1) 307 299 call massb_Ice2sea_RCM … … 368 360 call grad_smb !-----------------------------> A faire 369 361 370 ! ajuste bm en fonction du temps et du gradient 371 bm(:,:) = bm_time(:,:) + grad_bm(:,:) *(S(:,:) - S_ref(:,:)) 372 373 write(6,897) time, time_prec, icum, i_moy 374 897 format('test temps smb ',2(f0.3,1x),2(i0,1x)) 362 if (massb_time == 1) then ! pas d'interpolation verticale 363 bm(:,:) = bm_time(:,:) 364 else if (massb_time == 2) then ! interpolation verticale 365 ! ajuste bm en fonction du temps et du gradient 366 bm(:,:) = bm_time(:,:) + grad_bm(:,:) *(S(:,:) - S_ref(:,:)) 367 write(6,897) time, time_prec, icum, i_moy 368 897 format('test temps smb ',2(f0.3,1x),2(i0,1x)) 369 endif 375 370 376 371 ! garde les 10 dernieres annees et calcule la moyenne -
trunk/SOURCES/Hemin40_files/module_choix-hemin40-0.4.f90
r9 r12 50 50 !use climat_forcage_stat_mois_mod ! climat constant mensuel GCMs 51 51 !use climat_forcage_mod ! pour cycle force GCM avec index 52 use climat_forcage_mois_mod ! forcage mensuel GCM 1 Snapshot 52 !!!use climat_forcage_mois_mod ! forcage mensuel GCM 1 Snapshot Fev 2015 53 53 ! use climat_forcage_insolation_mod ! methode JB multi-snapshots mensuelle mais pour un etat stationnaire avec correction topo GCM => GRISLI 54 54 !use climat_synthes_mod 55 55 !use climat_profil_mod 56 56 !use climat_regions_delta 57 use climat_Grice2sea_years_mod 57 58 58 use ablation_mod ! calcul de l'ablation (PDD ou autre methode) 59 !use ablation_mod ! calcul de l'ablation (PDD ou autre methode) 60 use no_ablation ! pas de calcul de l'ablation => lecture fichier SMB (necessaire avec climat_Grice2sea_years_mod) 59 61 60 62 ! pas de lacs proglaciaires -
trunk/SOURCES/Makefile.grisli.inc
r11 r12 197 197 module_choix-hudson-0.4.o track_hudson_mod.o 198 198 199 Liste_hemin40 = output_hemin40_mod -0.4.o \199 Liste_hemin40 = output_hemin40_mod.o \ 200 200 lect-hemin40_mod.o \ 201 201 bmelt-hemin40-regions_mod.o bmelt-hemin40-depth_mod.o \ … … 1219 1219 $(FT) Hemin40_files/geography-hemin40_mod.f90 1220 1220 1221 output_hemin40_mod -0.4.o : Hemin40_files/output_hemin40_mod-0.4.f901222 $(FT) Hemin40_files/output_hemin40_mod -0.4.f901221 output_hemin40_mod.o : Hemin40_files/output_hemin40_mod.f90 1222 $(FT) Hemin40_files/output_hemin40_mod.f90 1223 1223 1224 1224 lect-clim-act-hemin40_mod.o : Hemin40_files/lect-clim-act-hemin40_mod.f90 … … 1360 1360 1361 1361 proto_declar_3D_grisli_mod.o : Recul_force_grounding_line/proto_declar_3D_grisli_mod.f90 1362 $(FT) 1362 $(FT) Recul_force_grounding_line/proto_declar_3D_grisli_mod.f90 1363 1363 1364 1364 declar_proto_recul.o : Recul_force_grounding_line/declar_proto_recul.f90 1365 1365 $(FT) Recul_force_grounding_line/declar_proto_recul.f90 1366 1366 1367 proto_recul_mod.o : 1367 proto_recul_mod.o : Recul_force_grounding_line/proto_recul_mod.f90 1368 1368 $(FT) Recul_force_grounding_line/proto_recul_mod.f90 1369 1369 1370 declar_io_ncdf_proto_mod.o : 1370 declar_io_ncdf_proto_mod.o : Recul_force_grounding_line/declar_io_ncdf_proto_mod.f90 1371 1371 $(FT) Recul_force_grounding_line/declar_io_ncdf_proto_mod.f90 1372 1372
Note: See TracChangeset
for help on using the changeset viewer.