Changeset 100
- Timestamp:
- 04/12/17 13:57:18 (7 years ago)
- Location:
- trunk/SOURCES
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/Fichiers-parametres/hemin40_param_list.dat
r82 r100 20 20 21 21 igrdline = 0 22 Schoof = 0 22 23 / 23 24 ! igrdline : 1 ligne d echouage fixée, sinon 0 … … 167 168 &calving ! nom du bloc calving méthode Vincent 168 169 169 Hcoup = 200 ! tres petit quand shelves fixes sinon 250 170 ifrange = 4 171 meth_Hcoup = 0 172 / 173 174 ! Hcoup epaisseur de coupure 175 ! ifrange=0 -> pas de traitement particulier sur les bords' 176 ! ifrange=1 -> traitement de Vincent avec ice shelves frangeants' 170 Hcoup_plateau = 50 ! tres petit quand shelves fixes sinon 250 171 Hcoup_abysses = 300 ! tres petit quand shelves fixes sinon 250 172 prof_plateau = 50 ! tres petit quand shelves fixes sinon 250 173 prof_abysses = 1000 ! tres petit quand shelves fixes sinon 250 174 ifrange = 4 175 meth_Hcoup = 0 176 / 177 178 ! Hcoup epaisseurs de coupure pour les zones peu prodondes et profondes 179 ! Hcoup_plateau<Hcoup_abysses && prof_plateau<prof_abysse 180 ! prof profondeur delimitant les zones peu prodondes et profondes 181 ! ifrange=0 -> pas de traitement particulier sur les bords 182 ! ifrange=1 -> traitement de Vincent avec ice shelves frangeants 177 183 ! ifrange=2 -> ice shelves frangeant seulement si bm-bmelt positif 184 ! meth_hcoup pour faire eventuellement varier Hcoup avec le climat 178 185 !____________________________________________________________ 179 186 ! loi de deformation 1 module deformation_mod_2lois … … 226 233 ! tres petit par rapport aux valeurs standards ~ 1.e10 227 234 !___________________________________________________________ 235 236 ! furst_schoof 237 &furst_schoof 238 239 frot_coef = 0.6 !0.035 240 gr_select = 1 241 / 242 ! frot_coef = ',frot_coef 243 ! gr_select = ',gr_select 244 ! gr_select = 1 : Tsai , 2 : Schoof' 245 !___________________________________________________________ 228 246 229 247 ! glissement module sliding_Bindschadler … … 407 425 ! 408 426 !___________________________________________________________ 427 &drag_param_beta ! drag_beta_param_mod 428 429 beta_intercept = -2. !-0.08898 430 beta_slope = 0.95 !0.57570 431 betamax = 5.e5 ! maximum value of beta 432 betamin = 1 !10. ! minimum value of beta 433 coef_ile = 0.1 434 / 435 ! 436 !___________________________________________________________ 409 437 &spinup ! warning : 2 different modules 410 438 ispinup = 0 -
trunk/SOURCES/calving_frange.f90
r99 r100 21 21 real, dimension (nx,ny) :: hmhc ! hauteur au dessus de la coupure 22 22 real, dimension (nx,ny) :: bil_tot ! bilan surface et fond (bm-bmelt) 23 real :: hcoup ! epaiseur de coupure au temps time 24 real :: hcoup_max ! epaisseur max 25 real :: hcoup_min=100. ! epaisseur min 23 real, dimension (nx,ny) :: hcoup ! epaiseur de coupure au temps time 24 real :: hcoup_plateau ! coupure points peu profonds 25 real :: hcoup_abysses ! coupure points ocean profond 26 real :: prof_plateau ! profondeur max des points peu profonds 27 real :: prof_abysses ! profondeur min des points ocean profond 26 28 integer :: meth_hcoup ! pour avoir hcoup dépendant du coefbmshelf 27 29 integer :: ifrange ! 0 pas de traitement particulier pres du bord, 1 -> franges … … 36 38 subroutine init_calving 37 39 38 namelist/calving/Hcoup ,ifrange,meth_hcoup40 namelist/calving/Hcoup_plateau,Hcoup_abysses,prof_plateau,prof_abysses,ifrange,meth_hcoup 39 41 40 42 … … 55 57 write(num_rep_42,428) '&calving ! nom du bloc calving méthode Vincent ' 56 58 write(num_rep_42,*) 57 write(num_rep_42,*) 'Hcoup = ', Hcoup 58 write(num_rep_42,*) 'ifrange = ',ifrange 59 write(num_rep_42,*) 'Hcoup_plateau = ', Hcoup_plateau 60 write(num_rep_42,*) 'Hcoup_abysses = ', Hcoup_abysses 61 write(num_rep_42,*) 'prof_plateau = ', prof_plateau 62 write(num_rep_42,*) 'prof_abysses = ', prof_abysses 63 write(num_rep_42,*) 'ifrange = ', ifrange 59 64 write(num_rep_42,*) 'meth_hcoup = ', meth_hcoup 60 65 write(num_rep_42,*)'/' 61 66 62 write(num_rep_42,428) '! Hcoup epaisseur de coupure, le max si attache a coefbmshelf ' 67 write(num_rep_42,428) '! Hcoup epaisseurs de coupure pour les zones peu prodondes et profondes' 68 write(num_rep_42,428) '! Hcoup_plateau<Hcoup_abysses && prof_plateau<prof_abysses' 69 write(num_rep_42,428) '! prof profondeur delimitant les zones peu prodondes et profondes' 63 70 write(num_rep_42,428) '! ifrange=0 -> pas de traitement particulier sur les bords' 64 71 write(num_rep_42,428) '! ifrange=1 -> traitement de Vincent avec ice shelves frangeants partout' 65 72 write(num_rep_42,428) '! ifrange=2 -> ice shelves frangeants seulement si bm-bmelt positif' 66 73 write(num_rep_42,*) '! meth_hcoup pour faire eventuellement varier Hcoup avec le climat' 67 write(num_rep_42,*) '! Hcoup_min=',Hcoup_min 74 write(num_rep_42,*) '! Hcoup_plateau=',Hcoup_plateau 75 write(num_rep_42,*) '! Hcoup_abysses=',Hcoup_abysses 76 write(num_rep_42,*) '! prof_plateau=',prof_plateau 77 write(num_rep_42,*) '! prof_abysses=',prof_abysses 68 78 write(num_rep_42,*) 69 79 70 Hcoup_max=Hcoup 80 81 ! afq -- coupure depend de la profondeur: 82 ! 83 ! hcoup prof_abysses 84 ! ^ v 85 ! | _______ hcoup_abysses 86 ! | / 87 ! | / 88 ! | / 89 ! | / 90 ! | hcoup_plateau _______/ 91 ! ^ 92 ! prof_plateau 93 94 Hcoup(:,:) = min ( max( & 95 (-(Bsoc0(:,:)-sealevel) - prof_plateau)/(prof_abysses-prof_plateau) & 96 *(hcoup_abysses-hcoup_plateau)+hcoup_plateau & 97 , hcoup_plateau), hcoup_abysses ) 98 99 if (meth_hcoup.eq.1) then 100 Hcoup(:,:)=coefbmshelf*Hcoup(:,:) 101 Hcoup(:,:)=min( max(Hcoup (:,:),Hcoup_plateau),Hcoup_abysses) 102 else if (meth_hcoup.eq.2) then 103 Hcoup(:,:)=coefbmshelf*Hcoup(:,:) 104 Hcoup(:,:)=max(Hcoup(:,:),Hcoup_plateau) 105 endif 106 71 107 72 108 end subroutine init_calving … … 83 119 bil_tot(:,:)=0.5*(bm(:,:)-bmelt(:,:)) 84 120 85 ! coupure 86 if (meth_hcoup.eq.0) then 87 Hcoup=Hcoup_max88 else if (meth_hcoup.eq.1) then 89 Hcoup=coefbmshelf*Hcoup_max 90 Hcoup=min(Hcoup,Hcoup_max) 91 Hcoup =max(Hcoup,Hcoup_min)92 121 Hcoup(:,:) = min ( max( & 122 (-(Bsoc(:,:)-sealevel) - prof_plateau)/(prof_abysses-prof_plateau) & 123 *(hcoup_abysses-hcoup_plateau)+hcoup_plateau & 124 , hcoup_plateau), hcoup_abysses ) 125 126 if (meth_hcoup.eq.1) then 127 Hcoup(:,:)=coefbmshelf*Hcoup(:,:) 128 Hcoup(:,:)=min( max(Hcoup (:,:),Hcoup_plateau),Hcoup_abysses) 93 129 else if (meth_hcoup.eq.2) then 94 Hcoup =coefbmshelf*Hcoup_max95 Hcoup =max(Hcoup,Hcoup_min)130 Hcoup(:,:)=coefbmshelf*Hcoup(:,:) 131 Hcoup(:,:)=max(Hcoup(:,:),Hcoup_plateau) 96 132 endif 97 133 98 134 ! hauteur au dessus de la coupure 99 hmhc(:,:)=H(:,:)-Hcoup 135 hmhc(:,:)=H(:,:)-Hcoup(:,:) 100 136 101 137 ! coupure de l'ice shelf … … 108 144 109 145 110 ifext: if((flot(i,j)).and.(h(i,j).le.hcoup )) then146 ifext: if((flot(i,j)).and.(h(i,j).le.hcoup(i,j))) then 111 147 ! ifext: pour les noeuds flottants avec h < hcoup 112 148
Note: See TracChangeset
for help on using the changeset viewer.