Changeset 465
- Timestamp:
- 01/26/24 10:24:00 (4 months ago)
- Location:
- branches/GRISLIv3/SOURCES
- Files:
-
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GRISLIv3/SOURCES/3D-physique-gen_mod.f90
r446 r465 26 26 ! **** integer declaration ************************************* 27 27 28 integer :: I,J !< I selon x, j selon y,29 integer :: k,l !< k vertical30 28 integer :: ispinup !< pour les differentes etapes du spinup 31 integer :: I1,J1,I_1,J_1,I2,J2 !<32 integer :: NI,NJ,NXX,NYY !< divers entiers de travail en general33 integer :: NZZ !< Total number of vertical grid points34 29 integer :: err !< pour l'allocation des tableaux 35 30 integer :: igrdline !< si 1 fixe la position en jouant sur la fusion shelf 36 31 integer :: ibmelt_inv !< si 1 inversion du bmelt (avec igrdline=1) 37 32 integer :: i_resolmeca !< defini le type d'association SIA-L1 38 !cdc integer :: iter_beta !< pour la determination du frottement plus utilise39 33 integer :: inv_beta !< 0 : run std, 1 : inversion du beta 40 34 integer :: ICOUPLE !< 41 integer :: IMARGIN !<42 35 integer :: ICOMPTEUR !< reprise fichier cptr 43 36 integer :: IOUT !< type de fichier de sortie pour reprise 44 37 integer :: iglen !< compteur pour la boucle flowlaw 45 38 integer :: ISYNCHRO !< synchronisation pas de temps dt et dtt 46 integer :: LOIGLISS !< permet de choisir la loi de glissement47 39 integer :: Schoof !< 0 : pas de flux de Schoof , 1 : flux de Schoof a la grounding line 48 !integer :: NYEAR !< number of months in 1 year, st. dev. for temp *)49 40 integer :: NTMAX !< 50 ! integer :: NDAY !< 51 integer :: NP !< 52 real :: NDISP !< sortie courte (temps) 53 !integer :: NTRACE !< sortie de traces 1=oui, 0=non 54 55 integer :: NICE !< 56 integer :: NINSTAB !< 57 integer :: NUMFUS !< 58 integer :: NUMMARG !< 59 integer :: BANDWD !< 60 integer :: TIMECG !< 61 integer :: IND !< 62 integer :: IFT !< 41 63 42 integer :: ITEMP !< 64 integer :: ITBOOST !<65 43 integer :: niter_nolin !< number of velocity iterations for non-linear dragging laws 66 ! integer :: NBLIG ! ??????????????????????????????67 44 integer :: ndebug !< pour faire des sorties de debug a plusieurs pas de temps 68 45 integer :: ndebug_max !< pour faire des sorties de debug a plusieurs pas de temps 69 !integer, dimension(NX,NY) :: LIGU !< numero de ligne de U dans remplidom70 !integer, dimension(NX,NY) :: LIGV !< numero de ligne de V dans remplidom71 72 integer :: itracer ! pour ecrire les recovery avec ou sans les tableaux traceurs73 46 74 47 ! ************ common des scalaires ************************* 75 real :: alpha_drag !< exposant non linearite, dragging dans la namelist76 real :: exp_alpha !< exposant dans la loi dragging77 78 79 real :: A1 !<80 real :: A2 !<81 real :: ALT !<82 real :: ATEST !<83 real :: ACOUP !<84 real :: BEDCT !<85 48 86 49 real :: coefbmshelf !< coef permettant de faire varier la fusion basale : 87 !< 3 dimensions pour les 3 bassins oceaniques de Climber??? 88 89 real :: CL !< specific latent heat of fusion of ice J/Kg 50 90 51 real :: DT !< pas de temps court 91 52 real :: DTT !< pas de temps long 92 53 real :: DTMIN !< pas de temps mini 93 !real :: DTP !< integrating step for positive degree days (degrees)94 !! Ne sert plus a rien avec param_phy_mod real :: DICE !< = RO/ROW95 real :: DA !< mantle diffusion96 54 real :: DX1 !< 1/dx 97 55 real :: DTDX !< dt/dx 98 56 real :: dtdx2 !< dt/dx**2 99 !! Ne sert plus a rien avec param_phy_mod real :: D00 !< = RO**3*G**3100 real :: DMX1 !<101 real :: DMY1 !<102 real :: DMX2 !<103 real :: DMY2 !<104 57 real :: DTMAX !< 105 real :: EW !<106 real :: FLU !<107 !! Ne sert plus a rien avec param_phy_mod real :: G !< gravite108 real :: GAMMA !<109 real :: GLACLOST !<110 real :: HMAX !< epasisseur de glace max111 real :: HMEAN !< epasisseur de glace moyenne112 real,parameter :: Hmin=1.001 !< Hmin pour etre considere comme point ice113 real :: HWATERMAX !< hauteur d'eau basale maximum dans le sediment114 real :: HWATSTREAM !< seuil min. d'eau basale (hwater) pour ice stream115 real :: HLIM !<116 real :: coefbmax !< fautcteur de normalisation pour l'influence de l'eau117 real :: ff !< coefficient de la loi de frottement solide118 real :: ff_stream !< coefficient de la loi de frottement solide pour les ice-streams119 real :: RGAS !< gas constant (J/mol/K)120 !! Ne sert plus a rien avec param_phy_mod real :: ROM !< density of mantle121 !! Ne sert plus a rien avec param_phy_mod real :: ROW !< densities of ocean water122 !! Ne sert plus a rien avec param_phy_mod real :: ROFRESH !< density of fresh water123 !! Ne sert plus a rien avec param_phy_mod real :: ROFRESHG !< = ROFRESH*G124 !! Ne sert plus a rien avec param_phy_mod real :: RO !< densities of ice125 !! Ne sert plus a rien avec param_phy_mod real :: ROG !< = RO*G (glace)126 !! Ne sert plus a rien avec param_phy_mod real :: ROWG !< = ROW*G (ocean)127 !! Ne sert plus a rien avec param_phy_mod real :: ROMG !< = ROM*G (asthenosphere)128 58 real :: SECYEAR !< for relation an/seconds 129 59 real :: sealevel !< niveau des mers, afq: now used as eustatic sea level 130 real :: SURF !<131 real :: STEP !<132 60 real (kind=kind(0.d0)) :: TIME !< temps : en double precision 133 61 real :: TAFOR !< temperature forcing : annual 134 62 real :: TESTDIAG !< for time step calculation (icethick) 135 63 real :: V_limit !< vitesse maxi (limitateur de flux pour conserv masse) 136 real :: TJF !<137 real :: TSF !<138 real :: TII !<139 real :: TJJ !<140 real :: TEVOL !<141 real :: UZ1 !<142 real :: UZ2 !<143 real :: UZ3 !<144 real :: VOL !<145 real :: VVX !<146 real :: VVY !<147 real :: WDOTMEAN !<148 real :: X1 !<149 real :: XLCENT !<150 real :: XDMIN !<151 real :: XC !<152 real :: YDMIN !<153 real :: YLATREF !<154 real :: YC !<155 real :: ZI !<156 real :: U !<157 real :: TTETA !<158 real :: LAMBDA !<159 real :: G1 !<160 real :: XI !<161 real :: XIS !<162 real :: ERFXI !<163 real :: ERFXIS !<164 real :: INTDAWS !<165 real :: WSP !<166 real :: gradsurf !<167 real :: U1 !<168 real :: U2 !<169 real :: KAP !<170 real :: G1NEW !<171 real :: neffgz !<172 real :: neffratio !<seuil (% de H) sur neffmxy pour passage en stream173 real :: toblim !<174 real :: moteurmax !<175 64 real :: betamax !< (Pa) frottement maxi sous les streams 176 real :: deltaacc !<177 65 real :: pvimin !< valeur de pvi pour les noeuds fictifs 178 real :: test_iter_diag !< test sur les vitesses pour iterations diagnostiques 179 real :: water_bilan !< bilan d'eau sur la calotte 66 180 67 181 68 ! ************** common des caracteres ************** … … 219 106 !hassine 220 107 real, dimension(nx,ny) :: beta_centre !< beta on major node (average) 221 real, dimension(nx,ny) :: coef_drag !< coefficient de la loi de friction non lineaire : depend de la valeur de alpha_drag222 !< si alpha_drag = 1, coef_drag = drag_centre223 108 real, dimension(nx,ny) :: betamax_2d !< (Pa) frottement maxi sous les streams 224 109 ! -
branches/GRISLIv3/SOURCES/Alps_files/output_alps_mod.f90
r356 r465 76 76 character(len=100),dimension(nvar) :: units 77 77 78 !ndisp sorite courte tous les ndisp79 NDISP=10080 78 81 79 … … 154 152 !------------------ 155 153 real :: smax 154 integer :: np 156 155 157 156 vol=0. -
branches/GRISLIv3/SOURCES/Ant16_files/bmelt-ant-regions-initmip_mod.f90
r446 r465 49 49 ! Elle est appelée par inputfile-vec-0.5.f90 50 50 51 integer :: i,j ! loop integers 51 52 real*8, dimension(:,:), pointer :: tab !< tableau 2d real pointer 52 53 real :: bmelt_dist0 … … 151 152 ! cette routine calcule la fusion basale proprement dite 152 153 154 integer :: i,j 153 155 integer :: ngr ! nombre de voisins flottants 154 156 real :: coef_talus ! pour ne pas changer la fusion au dessus de l'ocean profond -
branches/GRISLIv3/SOURCES/Ant40_files/bmelt-ant-regions-oce_mod.f90
r446 r465 49 49 subroutine init_bmelt 50 50 51 integer :: i,j,k ! loop integers 51 52 character(len=100) :: file_temp_oce1 ! fichier de ref (ctrl) contenant la carte des temperatures de l'ocean de subsurface 52 53 character(len=100) :: file_temp_oce2 ! 2eme fichier : c'est la difference qui permet de calculer la variation de fusion basale … … 302 303 ! cette routine calcule la fusion basale proprement dite 303 304 305 integer :: i,j ! loop integers 304 306 integer :: ngr ! nombre de voisins flottants 305 307 -
branches/GRISLIv3/SOURCES/Ant40_files/bmelt-ant-regions_mod.f90
r446 r465 50 50 ! Cette routine fait l'initialisation pour la fusion basale. 51 51 ! Elle est appelée par inputfile-vec-0.5.f90 52 52 53 integer :: i,j 53 54 real*8, dimension(:,:), pointer :: tab !< tableau 2d real pointer 54 55 … … 221 222 ! cette routine calcule la fusion basale proprement dite 222 223 224 integer :: i,j ! loop integers 223 225 integer :: ngr ! nombre de voisins flottants 224 226 real :: coef_talus ! pour ne pas changer la fusion au dessus de l'ocean profond -
branches/GRISLIv3/SOURCES/Ant40_files/lect-anteis_mod.f90
r446 r465 13 13 module lect_topo_anteis 14 14 15 use module3D_phy, only: num_rep_42,num_param, nxx,nyy,bsoc0,mk0,s0,h0,bsoc,s,h,flot,ghf,sealevel_2d, &15 use module3D_phy, only: num_rep_42,num_param,bsoc0,mk0,s0,h0,bsoc,s,h,flot,ghf,sealevel_2d, & 16 16 xcc,ycc,xlong,ylat,secyear 17 17 use runparam, only: xmin,ymin,xmax,ymax … … 68 68 ghf_fich=trim(dirnameinp)//trim(ghf_fich) 69 69 70 71 ! lecture adaptee aux fichiers intercomparaison EISMINT72 nxx=nx73 nyy=ny74 70 75 71 !!$! lecture de la topo actuelle -
branches/GRISLIv3/SOURCES/Ant40_files/module_choix-antar40-0.4.f90
r452 r465 40 40 !use climat_forcage_mois_mod ! forcage mensuel GCM 1 Snapshot Fev 2015 41 41 !use climat_perturb_mod ! climat perturbe a reverifier Dec 2015 42 use climat_smb_perturb_mod ! climat force par fichier SMB directement (grice2sea) + index temperature carotte de glace43 42 !use climat_smb_perturb_mod ! climat force par fichier SMB directement (grice2sea) + index temperature carotte de glace 43 use climat_smb_perturb_mod 44 44 45 45 !use climat_forcage_mod -
branches/GRISLIv3/SOURCES/Ant40_files/output_anta40_mod-0.4.f90
r456 r465 13 13 module output_antarcti_mod 14 14 15 use module3D_phy,only: ndisp,xlong,ylat,vol,np,hmax,b,s,acc,h,t,tbdot,ux,uy,uzk,uzsdot, &16 hdot,bdot, hmean,num_ritz,tafor,sealevel,ts15 use module3D_phy,only: xlong,ylat,b,s,acc,h,t,tbdot,ux,uy,uzk,uzsdot, & 16 hdot,bdot,num_ritz,tafor,sealevel,ts 17 17 use geography, only: nx,ny,nz,geoplace,dirnameinp 18 18 use runparam, only: dirnameout,runname … … 24 24 implicit none 25 25 26 !real :: vol ; !integer :: np26 real :: vol ; !integer :: np 27 27 integer :: nflot !< nbr de point flottant 28 28 real :: bmean !< … … 111 111 112 112 113 !ndisp sorite courte tous les ndisp114 NDISP=100115 113 116 114 … … 386 384 ! 1_initialization 387 385 !------------------ 388 real :: smax 389 integer :: i,j,k,l386 real :: smax,hmax,hmean 387 integer :: np,i,j,k,l 390 388 391 389 vol=0. -
branches/GRISLIv3/SOURCES/Eurasie_files/output_eurasie_mod.f90
r336 r465 34 34 subroutine init_outshort 35 35 36 !ndisp sorite courte tous les ndisp37 NDISP=10038 36 mask_cal(:,:,:)=.false. 39 37 mask_cal(:,:,1)=.true. … … 109 107 ! 1_initialization 110 108 !------------------ 111 integer KK 109 integer KK, np 112 110 ! integer inpl, INPG, INPF 113 111 ! integer inplab,inpkeew,inpinn,inpcord -
branches/GRISLIv3/SOURCES/Hemin40_files/bmelt-hemin40-depth_mod.f90
r237 r465 43 43 subroutine init_bmelt 44 44 45 45 integer :: i,j ! loop integers 46 46 47 47 ! Cette routine fait l'initialisation pour la fusion basale. … … 120 120 ! cette routine calcule la fusion basale proprement dite 121 121 122 integer :: i,j ! loop integers 122 123 integer :: ngr ! nombre de voisins flottants 123 124 -
branches/GRISLIv3/SOURCES/Hemin40_files/lect-hemin40_mod.f90
r446 r465 21 21 subroutine input_topo 22 22 23 integer :: i os23 integer :: i,j,k,ios 24 24 real, dimension(nx,ny) :: varloc 25 25 -
branches/GRISLIv3/SOURCES/Hemin40_files/output_hemin40_mod.f90
r120 r465 33 33 subroutine init_outshort 34 34 35 !ndisp sorite courte tous les ndisp 36 NDISP=100 35 integer :: i,j 36 37 37 mask_cal(:,:,:)=.false. 38 38 mask_cal(:,:,1)=.true. … … 152 152 ! 1_initialization 153 153 !------------------ 154 integer KK154 integer k, KK, np 155 155 ! integer inpl, INPG, INPF 156 156 ! integer inplab,inpkeew,inpinn,inpcord -
branches/GRISLIv3/SOURCES/Laure16_files/fake-routines-laurentide_mod.f90
r318 r465 15 15 module fake_laure 16 16 17 use module3d_phy 17 use runparam, only: itracebug 18 18 19 implicit none 19 20 -
branches/GRISLIv3/SOURCES/Laure16_files/lect-laurentide_mod.f90
r355 r465 19 19 subroutine input_topo 20 20 21 integer :: ios 21 use geography, only: dirnameinp 22 use runparam, only: xmin,xmax,ymin,ymax 23 24 integer :: i,j,k,ios 22 25 real, dimension(nx,ny) :: varloc 23 26 -
branches/GRISLIv3/SOURCES/Laure16_files/output_laure16_mod.f90
r355 r465 1 1 module output_laure16_mod 2 2 3 use geography, only: nx,ny 3 4 use module3D_phy 4 5 use bilan_eau_mod … … 8 9 9 10 implicit none 11 12 integer :: i,j ! loop integers 10 13 11 14 logical,dimension(nx,ny,7) :: mask_cal !< masque regions calotte … … 29 32 subroutine init_outshort 30 33 34 use geography, only: geoplace,dirnameinp 35 use runparam, only: dirnameout,runname 36 37 integer :: i,j,k 31 38 32 39 double precision,dimension(:,:),pointer :: tab !< tableau 2d real pointer … … 37 44 38 45 39 !ndisp sorite courte tous les ndisp40 NDISP=10041 46 mask_cal(:,:,:)=.false. 42 47 mask_cal(:,:,1)=.true. … … 175 180 !------------------ 176 181 182 integer :: k,np 183 177 184 ! ISMIP type outputs: (nc file) 178 185 real :: lim !< Total ice mass -
branches/GRISLIv3/SOURCES/ablation_mod.f90
r446 r465 84 84 85 85 86 use module3d_phy,only:Tjuly,Tann,Tmois,acc,pdd,TS,Tshelf,precip,BM,Abl,S ,cl87 use param_phy_mod,only:dice 86 use module3d_phy,only:Tjuly,Tann,Tmois,acc,pdd,TS,Tshelf,precip,BM,Abl,S 87 use param_phy_mod,only:dice,cl 88 88 89 89 IMPLICIT NONE -
branches/GRISLIv3/SOURCES/bilan_eau_mod.f90
r446 r465 22 22 use runparam, only: nt 23 23 use module3D_phy, only: H,Bsoc,ice,sealevel_2d,gr_line,uxbar,uybar,flot_marais,dtt,& 24 bm,bmelt,dt,isynchro,time,dtmin,ablbord_dtt ,water_bilan24 bm,bmelt,dt,isynchro,time,dtmin,ablbord_dtt 25 25 use geography, only: nx,ny,dx,dy 26 26 … … 28 28 29 29 real :: sum_H 30 real :: water_bilan 30 31 31 32 real,dimension(nx,ny) :: tot_water !< bilan d'eau -
branches/GRISLIv3/SOURCES/bmelt-beckmann-gcm_mod.f90
r461 r465 21 21 22 22 !$ USE OMP_LIB 23 use module3D_phy,only: cl,S,H,sealevel_2d,flot,bmelt,num_param,num_rep_42,time,dt,debug_3d23 use module3D_phy,only: S,H,sealevel_2d,flot,bmelt,num_param,num_rep_42,time,dt,debug_3d 24 24 use geography, only: nx,ny,dx,dy,dirnameinp 25 25 ! note: the geom. (nx,ny,dx,dy) come from module_geoplace 26 use param_phy_mod,only:ro,rofresh,row 26 use param_phy_mod,only:ro,rofresh,row,cl 27 27 use io_netcdf_grisli,only: read_ncdf_var 28 28 -
branches/GRISLIv3/SOURCES/bmelt-grounded.f90
r446 r465 17 17 subroutine bmelt_grounded 18 18 19 use module3d_phy, only: flot,bmelt,ibase,hwater,T,phid, cl,H,ghf,dtt19 use module3d_phy, only: flot,bmelt,ibase,hwater,T,phid,H,ghf,dtt 20 20 use geography, only: nx,ny,nz 21 use param_phy_mod, only: ro 21 use param_phy_mod, only: ro,cl 22 22 use icetemp_declar, only: ct,dee,cm,dzm,ncond 23 23 use runparam, only: itracebug -
branches/GRISLIv3/SOURCES/deformation_mod_2lois.f90
r446 r465 84 84 subroutine init_deformation 85 85 86 use module3d_phy, only:num_param,num_rep_42,rgas,iglen 86 use module3d_phy, only:num_param,num_rep_42,iglen 87 use param_phy_mod, only:rgas 87 88 88 89 implicit none … … 152 153 Q2(2) = Q_warm_2 153 154 154 ! autre parametres ne changeant pas d'un run a l'autre155 RGAS=8.314156 157 155 ! application des sf 158 156 … … 200 198 subroutine flowlaw (iiglen) 201 199 202 use module3d_phy, only:e,T,rgas,H,iglen 200 use module3d_phy, only:e,T,H,iglen 201 use param_phy_mod, only:rgas 203 202 !$ USE OMP_LIB 204 203 -
branches/GRISLIv3/SOURCES/diffusiv-polyn-0.6.f90
r446 r465 76 76 77 77 call sliding ! au sens vitesse de glissement 78 79 ! le glissement est maintenant dans un module a part choisi dans le module choix80 ! pour l'instant seules les lois Heino (loigliss=4) et Bindshadler(loigliss=2)81 ! sont programmees.82 78 83 79 ! ddbx et ddby termes dus au glissement -
branches/GRISLIv3/SOURCES/eaubasale-0.5_mod.f90
r446 r465 25 25 REAL :: KONDMAX 26 26 real :: kond0 27 real :: hwatermax 27 28 REAL :: INFILTR 28 29 REAL :: hmax_till !< épaisseur de la couche de till … … 56 57 subroutine init_eaubasale 57 58 58 use module3d_phy, only: hwatermax,num_param,num_rep_42,kond,secyear,hdotwater,pgx,pgy59 use module3d_phy, only:num_param,num_rep_42,kond,secyear,hdotwater,pgx,pgy 59 60 60 61 namelist/eaubasale1/ecoulement_eau,hwatermax,infiltr … … 126 127 127 128 use module3d_phy, only:hwater,kond,secyear,flot,sealevel_2D,Bsoc,ibase,S,H,B,bmelt,& 128 debug_3d,flotmx,flotmy,pgx,pgy,phiwx,phiwy,isynchro,dtt,dt,hdotwater,pwater ,hwatermax129 debug_3d,flotmx,flotmy,pgx,pgy,phiwx,phiwy,isynchro,dtt,dt,hdotwater,pwater 129 130 use geography, only:dx,dy 130 131 use param_phy_mod, only:rowg,ro,rog,rofreshg,rofresh -
branches/GRISLIv3/SOURCES/initial-phy-2.f90
r446 r465 20 20 use module3D_phy, only:icompteur,iout,reprcptr,igrdline,schoof,ibmelt_inv,dtmin,dtmax,& 21 21 dtt,testdiag,num_param,num_rep_42,num_ritz,dt,ntmax,time,tafor,sealevel,& 22 sealevel_2d,secyear, nzz,nz,nzm,cl,da,nice,isynchro22 sealevel_2d,secyear,isynchro 23 23 use geography, only: geoplace 24 24 use runparam, only :runname,itracebug,num_tracebug,tbegin,tend,dirsource,dirnameout,dttest,& 25 25 nt 26 use param_phy_mod, only:rog,g,ro,row,rowg,rom,romg,rofresh,rofreshg,dice,coef_Sflot,& 27 coef_Bflot 26 28 27 29 28 implicit none … … 40 39 !-------------------------------------------------------------- 41 40 dirsource='../SOURCES' 42 ! dirsource='../../SOURCES'43 ! filin='../'//trim(dirsource)//'/Fichiers-parametres/'//trim(geoplace)//'_param_list.dat'44 41 filin=trim(geoplace)//'_param_list.dat' 45 42 … … 85 82 86 83 87 88 ! switch reprise compteur ou non: 1 => compteur, 0 => pas compteur89 ! icompteur=2 reprise de tout sauf de la topo90 ! icompteur=1 reprise de tout91 92 ! reprcptr=TRIM('../CPTR-Heino/Heino096+k150.CPTR')93 94 95 96 97 84 write(6,*)'_________________________________________________' 98 85 write(6,*)'runname=',runname 99 ! write(6,*) dirnameout100 ! write(6,*) TRIM(DIRNAMEOUT)//'short'//runname//'.ritz'101 86 102 87 … … 104 89 !------------------------------ 105 90 106 ! filin='time-series/short'//runname//'.ritz' 91 107 92 filin='short'//runname//'.ritz' 108 93 filin=TRIM(DIRNAMEOUT)//TRIM(filin) … … 133 118 134 119 135 ! grounding line fixee136 !--------------------------137 ! Pour faire des expériences avec l'épaisseur des ice-shelves fixée138 ! igrdline=1 !fixé, sinon (libre) igrdline=0139 ! igrdline=0140 141 142 143 120 ! lecture des parametres du run block timesteps 144 121 !----------------------------------------------------------------------- … … 146 123 read(num_param,timesteps) 147 124 148 ! dmr&aurel ## namelist/timesteps/dtmin,dtmax,dtt,testdiag,tbegin,tend149 125 write(num_rep_42,'(A)')'!___________________________________________________________' 150 126 write(num_rep_42,'(A)') '×teps ! bloc time steps' … … 195 171 secyear= 31556926 ! s /an 196 172 197 !!$! *** ABLATION198 !!$! integrating step for positive degree days (degrees)199 !!$ DTP=2.0200 !!$! number of months in 1 year, st. dev. for temp *)201 !!$ NYEAR=12202 !!$ SIGMA=5.0203 !!$! proportion of melted water that can refreeze *)204 !!$ CSI=0.6205 !!$! melting factors for snow and ice206 !!$ Csnow=0.003207 !!$ Cice=0.008208 !!$! ct for PDD calculation209 !!$ S22=0.5/SIGMA/SIGMA210 !!$ PY=2*PI/NYEAR211 !!$ PDDCT=DTP/SIGMA/sqrt(2.*PI)/NYEAR*365.212 213 214 ! calcul de certain parametres de param_phy car ro et g ne sont plus parameter215 216 rog = ro*g !< ro*g (glace)217 rowg = row*g !< row*g (ocean)218 romg = rom*g !< rom*g (asthenosphere)219 rofreshg = rofresh*g !< rofresh*g220 dice = ro/row !< ro/row221 222 coef_Sflot = (Row-Ro)/Row !< S = coef_Sflot * H + sealevel pour les shelves223 coef_Bflot = -Ro/Row !< B = coef_Bflot * H + sealevel pour les shelves224 225 173 !--------------------- 226 174 227 228 ! *** TEMPERATURE IN ICE AND MANTLE229 ! Total number of vertical grid points, grid step in mantle230 NZZ=NZ+NZM231 232 ! specific latent heat of fusion of ice J/Kg233 CL=3.35E5234 235 ! DA mantle diffusion236 DA=4.E7237 175 ! switch 238 NICE=1239 176 isynchro=0 240 177 -
branches/GRISLIv3/SOURCES/isostasie_mod-0.3.f90
r446 r465 27 27 28 28 use iso_declar,only: nlith,dt_iso,tausoc,dl,rl,lbloc,we,charge 29 use module3D_phy, only: icouple,marine,err,h0,bsoc0,sealevel_2d,w0,w1 ,i,j29 use module3D_phy, only: icouple,marine,err,h0,bsoc0,sealevel_2d,w0,w1 30 30 use geography, only: geoplace,nx,ny,dx,dy 31 31 use param_phy_mod, only: ro,row,rog,rowg,romg … … 36 36 ! nbed=1 temps de reaction 37 37 38 integer :: i,j 38 39 39 40 if (GEOPLACE.eq.'eismint') then -
branches/GRISLIv3/SOURCES/main3D-0.4-40km.f90
r463 r465 131 131 subroutine grisli_init 132 132 133 USE module3D_phy, only: itemp,icouple,isynchro,i margin,icompteur,iglen,timecg,marine,num_sealevel, &133 USE module3D_phy, only: itemp,icouple,isynchro,icompteur,iglen,marine,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,boost,ndebug,ndebug_max … … 165 165 ! 4 idem 3 mais loi de def. Duval niveau L4 166 166 ICOUPLE=4 167 ! switch margin IMARGIN=0 fixed, IMARGIN=1 moving 168 IMARGIN=1 169 170 TIMECG=TBEGIN 167 171 168 nt=-1 ! utilisee dans initialisation flottab 172 169 ! sortie profile tous les dtprofile -
branches/GRISLIv3/SOURCES/neffect-0.4.f90
r462 r465 19 19 use param_phy_mod, only: ro,row,g 20 20 use runparam, only: itracebug 21 use module3D_phy, only: flotmx,flotmy,coefmxbmelt,coefmybmelt,hwater,neffmx,neffmy,hmx,hmy ,hwatermax21 use module3D_phy, only: flotmx,flotmy,coefmxbmelt,coefmybmelt,hwater,neffmx,neffmy,hmx,hmy 22 22 use geography, only: nx,ny 23 use module_choix, only: eaubasale 23 ! use module_choix, only: eaubasale <- afq, not clean, I prefer to use explicitly eau_basale 24 use eau_basale, only: hwatermax,eaubasale 24 25 25 26 implicit none -
branches/GRISLIv3/SOURCES/notracer_mod.f90
r423 r465 5 5 module notracer_mod 6 6 7 use module3d_phy, only: itracer8 7 use tracer_vars, only: tdep,xdep,ydep ! pour ne pas avoir de probleme avec les sorties ncdf 9 8 implicit none … … 15 14 xdep(:,:,:)=0. 16 15 ydep(:,:,:)=0. 17 18 ! pour ecrire les recovery avec ou sans les tableaux traceurs19 itracer = 020 16 end subroutine init_tracer 21 17 -
branches/GRISLIv3/SOURCES/out_cptr_mod.f90
r449 r465 331 331 !> 332 332 subroutine read_no_recovery 333 use module3D_phy 333 334 use module3D_phy,only: T,ghf 335 use geography, only: nx,ny,nz,nzm 336 use param_phy_mod,only:dzm,cm 337 334 338 implicit none 335 Real,Parameter :: Dzm=600 !< Grid Step In Mantle 336 !Prop Thermique 337 Real,Parameter :: Cm=1.04e8 338 339 340 integer :: i,j,k ! loop integers 341 339 342 !!!pas reprise : il faut initier les temperatures ds le socle 340 343 … … 619 622 620 623 subroutine symetry_cptr(jaxe) 621 use module3D_phy 622 use tracer_vars 624 625 use module3D_phy,only: s,h,b,bsoc,ibase,bmelt,hwater,uxbar,uybar,t,ux,uy 626 use geography,only: nx,ny 627 use tracer_vars,only: xdep,ydep,tdep 628 623 629 implicit none 630 631 integer :: i,j 624 632 integer :: jaxe 625 633 integer :: jsym -
branches/GRISLIv3/SOURCES/param_phy_mod.f90
r400 r465 15 15 module param_phy_mod 16 16 17 implicit none 18 19 real,parameter :: G = 9.81 !< gravite en m s-2 20 real,parameter :: RO = 918.0 !< densities of ice : 918 for consistency with LBq 21 real,parameter :: ROFRESH = 1000. !< density of fresh water 22 23 real,parameter :: ROM = 3300.0 !< density of mantle 24 real,parameter :: ROW = 1028.0 !< densities of ocean water 25 26 ! maintenant defini dans initial-phy-2.f90 27 real,parameter :: coef_Sflot = (Row-Ro)/Row !< S = coef_Sflot * H + sealevel pour les shelves 28 real,parameter :: ROG = ro*g !< RO*G (glace) in Pa = 1 kg/m/s2 29 real,parameter :: ROWG = row*g != ROW*G !< ROW*G (ocean) 30 real,parameter :: ROMG = rom*g != ROM*G !< ROM*G (asthenosphere) 31 32 real,parameter :: DICE = ro/row != RO/ROW !< RO/ROW 33 34 real,parameter :: ROFRESHG = rofresh*g !< ROFRESH*G 35 36 real,parameter :: CL=3.35E5 !< specific latent heat of fusion of ice J/Kg 37 38 real,parameter :: DA=4.E7 !< DA mantle diffusion 39 40 real,parameter :: RGAS=8.314 !< gas constant (J/mol/K) 41 42 real,Parameter :: Dzm=600 !< Grid Step In Mantle 43 real,Parameter :: Cm=1.04e8 !< Prop Thermique 17 44 18 45 19 real :: G = 9.81 !< gravite en m s-220 real :: RO = 918.0 !< densities of ice : 918 for consistency with LBq21 real :: ROFRESH = 1000. !< density of fresh water22 23 real :: ROM = 3300.0 !< density of mantle24 real :: ROW = 1028.0 !< densities of ocean water25 26 ! maintenant defini dans initial-phy-2.f9027 real :: coef_Sflot != (Row-Ro)/Row !< S = coef_Sflot * H + sealevel pour les shelves28 real :: coef_Bflot != -Ro/Row !< B = coef_Bflot * H + sealevel pour les shelves29 real :: ROG != RO*G !< RO*G (glace) in Pa = 1 kg/m/s230 real :: ROWG != ROW*G !< ROW*G (ocean)31 real :: ROMG != ROM*G !< ROM*G (asthenosphere)32 33 real :: DICE != RO/ROW !< RO/ROW34 35 real :: ROFRESHG !=ROFRESH*G !< ROFRESH*G36 37 46 end module param_phy_mod -
branches/GRISLIv3/SOURCES/steps_time_loop.f90
r463 r465 167 167 168 168 use module3d_phy, only: ispinup,isynchro,timemax,time,marine,iglen,shelfy,icompteur,& 169 test_iter_diag,inv_beta,dtmin,flot,mk,mk0169 inv_beta,dtmin,flot,mk,mk0 170 170 use runparam, only: itracebug,nt,num_tracebug 171 171 use geography, only: geoplace … … 188 188 integer :: nt_init_tm = 0 ! number of loops for initialisation of thermo mechanical 189 189 integer :: iter_visco ! number of iterations for ssa viscosity 190 real :: test_iter_diag ! test sur les vitesses pour iterations diagnostiques 190 191 191 192 if (ispinup.le.1) shelf_vitbil = .false. ! general case, ice shelves velocities are computed by diagnoshelf -
branches/GRISLIv3/SOURCES/tracebug.f90
r6 r465 17 17 subroutine tracebug(chaine) 18 18 19 use module3D_phy 20 use module_choix 19 use runparam, only: num_tracebug 21 20 22 21 implicit none 23 22 23 integer :: i,j 24 24 character(len=*),intent(in):: chaine ! chaine a imprimer 25 25 -
branches/GRISLIv3/SOURCES/tracer_mod.f90
r446 r465 27 27 module tracer_mod 28 28 29 use module3d_phy, only: itracer,e,time,dtt,num_param,num_rep_42,acc,H,num_forc,&29 use module3d_phy, only: e,time,dtt,num_param,num_rep_42,acc,H,num_forc,& 30 30 ux,uy,uzr,bmelt,S,flot,bm 31 31 use geography, only: nx,ny,nz,dx,dy,dirforcage … … 88 88 89 89 if (itracebug.eq.1) write(num_tracebug,*)'init_tracer dans tracer_mod' 90 91 ! itracer pour les ecritures et lectures recovery92 itracer = 193 90 94 91 ! profondeur reduite -
branches/GRISLIv3/SOURCES/tracer_vars_mod.f90
r446 r465 4 4 module tracer_vars 5 5 6 use module3d_phy, only: itracer7 6 use geography, only: nx,ny,nz 8 7
Note: See TracChangeset
for help on using the changeset viewer.