Changeset 468
- Timestamp:
- 01/26/24 17:14:43 (4 months ago)
- Location:
- branches/GRISLIv3/SOURCES
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GRISLIv3/SOURCES/3D-physique-gen_mod.f90
r467 r468 225 225 226 226 ! ===================== Booleens ======================================== 227 logical :: SHELFY !<228 logical :: MARINE !<229 230 227 logical,dimension(nx,ny) :: FLOT !< vrai si flottant (test d'archimede) 'o' 231 228 logical,dimension(nx,ny) :: FLOTMX !< if flotting (one neighboord floats) '>' -
branches/GRISLIv3/SOURCES/conserv-mass-adv-diff_sept2009_mod.f90
r467 r468 20 20 use module3D_phy, only: V_limit,num_param,num_rep_42,dx1,mk0,i_Hp,Hp,H,uxbar,uybar,testdiag,& 21 21 dtmax,dt,dtmin,time,dtt,isynchro,diffmx,diffmy,sdx,sdy,hmx,hmy,flgzmx,flgzmy,flot,timemax,& 22 marine,dtdx2,dtdx,bm,bmelt,igrdline,ibmelt_inv,ice,ablbord,hdot22 dtdx2,dtdx,bm,bmelt,igrdline,ibmelt_inv,ice,ablbord,hdot 23 23 use geography, only: nx,ny,dx,geoplace 24 use runparam, only: itracebug,num_tracebug ,tgrounded24 use runparam, only: itracebug,num_tracebug 25 25 use reso_adv_diff_2D_vect, only: init_reso_adv_diff_2D,resol_adv_diff_2D_vect 26 26 ! use prescribe_H, only:prescribe_fixed_points,prescribe_paleo_gl_shelf,prescribe_present_H_gl,& … … 371 371 372 372 timemax=time 373 374 ! etait avant dans step375 if (time.lt.TGROUNDED) then376 MARINE=.false.377 else378 MARINE=.true.379 endif380 ! fin vient de step381 373 382 374 ! les variables dtdx et dtdx2 sont globales -
branches/GRISLIv3/SOURCES/flottab2-0.7.f90
r467 r468 104 104 105 105 use runparam, only:itracebug,nt 106 use module3D_phy, only: shelfy,igrdline,mk_init,flot,H,sealevel_2d,Bsoc,S,H,B,&106 use module3D_phy, only:igrdline,mk_init,flot,H,sealevel_2d,Bsoc,S,H,B,& 107 107 ice,front,& 108 108 iceberg,uxbar,uybar,mk,gzmx,gzmy,flotmx,flotmy,hmx,hmy,isynchro,ilemx,ilemy,& 109 flgzmx,flgzmy, marine,fbm,bm,bmelt,debug_3D,dt109 flgzmx,flgzmy,fbm,bm,bmelt,debug_3D,dt 110 110 use param_phy_mod, only:row,ro 111 111 use module_choix, only:mstream_dragging ! subroutine qui depend du dragging … … 120 120 121 121 if (itracebug.eq.1) call tracebug(' Entree dans routine flottab') 122 123 SHELFY = .FALSE.124 122 125 123 … … 235 233 236 234 if (flot(i,j)) then 237 shelfy = .true.238 239 235 surnet=H(i,j)*(1.-ro/row) 240 236 S(i,j)=surnet+sealevel_2d(i,j) !afq -- WARNING: est-ce qu'on veut vraiment mettre S a la valeur locale du niveau marin? … … 335 331 end do domain_y 336 332 !$OMP END DO 337 338 339 !-------------------------------------------------------------------------------------340 ! attention : pour expériences Heino341 ! gzmy(i,j)=gzmy_heino(i,j)342 ! shelfy=.true.343 ! shelfy=.false.344 !____________________________________________________________________________________345 346 333 347 334 !!$ … … 536 523 537 524 !$OMP WORKSHARE 538 flgzmx(:,:)=(marine.and.(flotmx(:,:).or.gzmx(:,:).or.ilemx(:,:))) & 539 .or.(.not.marine.and.flotmx(:,:)) 525 flgzmx(:,:)=(flotmx(:,:).or.gzmx(:,:).or.ilemx(:,:)) 540 526 where (hmx(:,:).eq.0.) 541 527 flgzmx(:,:) = .false. 542 528 endwhere 543 flgzmy(:,:)=(marine.and.(flotmy(:,:).or.gzmy(:,:).or.ilemy(:,:))) & 544 .or.(.not.marine.and.flotmy(:,:)) 529 flgzmy(:,:)=(flotmy(:,:).or.gzmy(:,:).or.ilemy(:,:)) 545 530 where (hmy(:,:).eq.0.) 546 531 flgzmy(:,:) = .false. -
branches/GRISLIv3/SOURCES/isostasie_mod-0.3.f90
r467 r468 33 33 34 34 use iso_declar,only: nlith,dt_iso,tausoc,dl,rl,lbloc,we,charge 35 use module3D_phy, only: icouple, marine,err,h0,bsoc0,sealevel_2d35 use module3D_phy, only: icouple,err,h0,bsoc0,sealevel_2d 36 36 use geography, only: geoplace,nx,ny,dx,dy 37 37 use param_phy_mod, only: ro,row,rog,rowg,romg … … 44 44 integer :: i,j 45 45 46 if (GEOPLACE.eq.'eismint') then 47 NBED=0 48 NLITH=0 49 else if (GEOPLACE(1:6).eq.'marine') then 50 NBED=1 51 NLITH=1 52 else if ((geoplace.eq.'anteis1').or.(geoplace.eq.'ant20km')) then 53 54 if (icouple.eq.2) then 55 NBED=0 56 NLITH=0 57 if (marine) then 58 NBED=1 59 NLITH=1 60 endif 61 else 62 NBED=1 63 NLITH=1 64 endif 65 else 66 NBED=1 67 ! switch sur la lithosphere 68 NLITH=1 69 endif 46 NBED=1 47 NLITH=1 70 48 71 49 ! temps de reaction en annees -
branches/GRISLIv3/SOURCES/main3D-0.4-40km.f90
r467 r468 131 131 subroutine grisli_init 132 132 133 USE module3D_phy, only: itemp,icouple,isynchro,icompteur,iglen, marine,num_sealevel, &133 USE module3D_phy, only: itemp,icouple,isynchro,icompteur,iglen,num_sealevel, & 134 134 num_ts_ritz,num_ic_vo,num_ic_by,num_ic_dm,num_ic_dc,num_ic_df, & 135 135 s,h,b,bsoc,flot,mk,mk0,uxbar,uybar,hwater,time,timemax,ndebug,ndebug_max 136 use runparam, only: nt,tbegin, tgrounded,dtprofile,dtcpt,dirnameout,runname,itracebug136 use runparam, only: nt,tbegin,dtprofile,dtcpt,dirnameout,runname,itracebug 137 137 use geography, only: nx,ny,geoplace 138 138 use deformation_mod_2lois, only:n1poly,n2poly … … 169 169 ! sortie profile tous les dtprofile 170 170 DTPROFILE=50000. 171 marine=.true.172 171 ! ----------------------------------fin des modifs run les plus usuelles 173 172 DIRNAMEOUT='../RESULTATS/' … … 207 206 if (iglob_ncdf .EQ. 1) call sortie_ncdf_cat 208 207 209 210 !cdc supprime pour initialisation propre211 !~ if (iter_beta.eq.0) then212 213 !~ if (itracebug.eq.1) call tracebug(' Avant appel routine icethick3')214 !~ call icethick3215 !~ debug_3D(:,:,88) = S(:,:)216 !~ if (itracebug.eq.1) call tracebug(' Apres appel routine icethick3')217 !~ end if218 219 220 ! Tgrounded, temps pendant lequel la calotte est terrestre221 tgrounded=tbegin-10.222 !if (tgrounded.le.tbegin) then223 marine=.true. ! Cas la calotte est terrestre224 !end if225 226 208 ! test vincent car certains H(i,j)=0 dans fichier de reprise 227 209 do j=1,ny … … 232 214 233 215 234 ! call firstoutput() ! ouverture fichier temporel et premieres ecritures235 236 216 call forclim ! initialisation BM et TS 237 217 call ablation … … 242 222 243 223 tcpt:if (ICOMPTEUR.eq.0) then 244 245 246 if ((GEOPLACE.ne.'eismint').and.(GEOPLACE(1:6).ne.'marine')) then247 ! ITEMP=1 => calcul de T lliboutry; ITEMP=2 => reprise d'un fichier cptr248 ! ITEMP=0 => on ne prend pas en compte T Lliboutry249 ! ITEMP=3 => on prend les temperatures d'un fichier cptr250 224 251 225 … … 285 259 call SIA_velocities() 286 260 endif 287 288 289 endif290 ! fin du test geoplace291 261 292 262 else ! tcpt on reprend un fichier compteur (ICOMPTEUR.eq.1) -
branches/GRISLIv3/SOURCES/runparam_mod.f90
r432 r468 25 25 integer :: itracebug !< si 1 fait une impression au début des routines 26 26 integer :: num_tracebug !< numero de l'unite itracebug 27 real tgrounded28 27 real dtsortie 29 28 real dtcpt -
branches/GRISLIv3/SOURCES/steps_time_loop.f90
r465 r468 166 166 subroutine step_thermomeca 167 167 168 use module3d_phy, only: ispinup,isynchro,timemax,time, marine,iglen,shelfy,icompteur,&168 use module3d_phy, only: ispinup,isynchro,timemax,time,iglen,icompteur,& 169 169 inv_beta,dtmin,flot,mk,mk0 170 170 use runparam, only: itracebug,nt,num_tracebug … … 196 196 ' nt=',nt 197 197 198 !--------------------------------------------------------------------199 ! lecture dans un petit fichier "runname.limit" au cas ou les200 ! parametres du run seraient changes201 !202 !--------------------------------------------------------------------203 204 ! call limit_file(nt,real(time),dt,tend,dtsortie,dtcpt,testdiag,dtt,runname)205 206 !if (time.lt.tgrounded) then207 ! marine=.false.208 !else209 marine=.true.210 !endif211 212 198 ! update the regions (floating, ice ...) 213 199 !------------------------------------------- … … 348 334 !------------- ------------------------------------------------------- 349 335 350 isync_2: if ( (shelfy).and.(marine).and.(isynchro.eq.1)) then336 isync_2: if (isynchro.eq.1) then 351 337 352 338 !les 3 lignes ci-dessous pour avoir les champs avant diagno (en cas de pb colineaire)
Note: See TracChangeset
for help on using the changeset viewer.