Changeset 465


Ignore:
Timestamp:
01/26/24 10:24:00 (4 months ago)
Author:
aquiquet
Message:

Cleaning branch: start cleaning module3D

Location:
branches/GRISLIv3/SOURCES
Files:
33 edited

Legend:

Unmodified
Added
Removed
  • branches/GRISLIv3/SOURCES/3D-physique-gen_mod.f90

    r446 r465  
    2626  !   **** integer declaration  ************************************* 
    2727 
    28   integer ::  I,J                       !< I selon x, j selon y, 
    29   integer ::  k,l                       !< k vertical  
    3028  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 general 
    33   integer ::  NZZ                       !< Total number of vertical grid points 
    3429  integer ::  err                       !< pour l'allocation des tableaux 
    3530  integer ::  igrdline                  !< si 1 fixe la position en jouant sur la fusion shelf 
    3631  integer ::  ibmelt_inv                !< si 1 inversion du bmelt (avec igrdline=1) 
    3732  integer ::  i_resolmeca               !< defini le type d'association SIA-L1 
    38 !cdc  integer ::  iter_beta             !< pour la determination du frottement plus utilise 
    3933  integer ::  inv_beta                  !< 0 : run std, 1 : inversion du beta 
    4034  integer ::  ICOUPLE                   !<  
    41   integer ::  IMARGIN                   !<   
    4235  integer ::  ICOMPTEUR                 !< reprise fichier cptr  
    4336  integer ::  IOUT                      !< type de fichier de sortie pour reprise 
    4437  integer ::  iglen                     !< compteur pour la boucle flowlaw 
    4538  integer ::  ISYNCHRO                  !< synchronisation pas de temps dt et dtt  
    46   integer ::  LOIGLISS                  !< permet de choisir la loi de glissement 
    4739  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 *) 
    4940  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 
    6342  integer ::  ITEMP                     !<  
    64   integer ::  ITBOOST                   !<  
    6543  integer ::  niter_nolin               !< number of velocity iterations for non-linear dragging laws 
    66   ! integer ::  NBLIG                   ! ?????????????????????????????? 
    6744  integer ::  ndebug                    !< pour faire des sorties de debug a plusieurs pas de temps 
    6845  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 remplidom 
    70   !integer, dimension(NX,NY) ::  LIGV    !< numero de ligne de V dans remplidom 
    71  
    72   integer :: itracer                    ! pour ecrire les recovery avec ou sans les tableaux traceurs 
    7346 
    7447  !     ************ common des scalaires ************************* 
    75   real :: alpha_drag                    !< exposant non linearite, dragging dans la namelist 
    76   real :: exp_alpha                     !< exposant dans la loi dragging 
    77  
    78  
    79   real ::  A1                           !<  
    80   real ::  A2                           !<  
    81   real ::  ALT                          !<  
    82   real ::  ATEST                        !<  
    83   real ::  ACOUP                        !<  
    84   real ::  BEDCT                        !<  
    8548 
    8649  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 
    9051  real ::  DT                           !< pas de temps court 
    9152  real ::  DTT                          !< pas de temps long 
    9253  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/ROW 
    95   real ::  DA                           !< mantle diffusion 
    9654  real ::  DX1                          !< 1/dx 
    9755  real ::  DTDX                         !< dt/dx 
    9856  real ::  dtdx2                        !< dt/dx**2 
    99   !! Ne sert plus a rien avec param_phy_mod real ::  D00                          !< = RO**3*G**3 
    100   real ::  DMX1                         !<  
    101   real ::  DMY1                         !<  
    102   real ::  DMX2                         !<  
    103   real ::  DMY2                         !<  
    10457  real ::  DTMAX                        !<  
    105   real ::  EW                           !<  
    106   real ::  FLU                          !<  
    107   !! Ne sert plus a rien avec param_phy_mod real ::  G                            !< gravite 
    108   real ::  GAMMA                        !<  
    109   real ::  GLACLOST                     !<  
    110   real ::  HMAX                         !< epasisseur de glace max 
    111   real ::  HMEAN                        !< epasisseur de glace moyenne 
    112   real,parameter :: Hmin=1.001          !< Hmin pour etre considere comme point ice   
    113   real ::  HWATERMAX                    !< hauteur d'eau basale maximum dans le sediment 
    114   real ::  HWATSTREAM                   !< seuil min. d'eau basale (hwater) pour ice stream 
    115   real ::  HLIM                         !<  
    116   real ::  coefbmax                     !< fautcteur de normalisation pour l'influence de l'eau 
    117   real ::  ff                           !< coefficient de la loi de frottement solide 
    118   real ::  ff_stream                    !< coefficient de la loi de frottement solide pour les ice-streams 
    119   real ::  RGAS                         !< gas constant (J/mol/K) 
    120   !! Ne sert plus a rien avec param_phy_mod real ::  ROM                          !< density of mantle 
    121   !! Ne sert plus a rien avec param_phy_mod real ::  ROW                          !< densities of ocean water 
    122   !! Ne sert plus a rien avec param_phy_mod real ::  ROFRESH                      !< density of fresh water 
    123   !! Ne sert plus a rien avec param_phy_mod real ::  ROFRESHG                     !< = ROFRESH*G  
    124   !! Ne sert plus a rien avec param_phy_mod real ::  RO                           !< densities of ice 
    125   !! 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) 
    12858  real ::  SECYEAR                      !< for relation an/seconds 
    12959  real ::  sealevel                     !< niveau des mers, afq: now used as eustatic sea level 
    130   real ::  SURF                         !<  
    131   real ::  STEP                         !<  
    13260  real (kind=kind(0.d0)) ::  TIME       !< temps : en double precision 
    13361  real ::  TAFOR                        !< temperature forcing : annual 
    13462  real ::  TESTDIAG                     !< for time step calculation (icethick) 
    13563  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 stream 
    173   real ::  toblim                       !<  
    174   real ::  moteurmax                    !<  
    17564  real ::  betamax                      !< (Pa) frottement maxi sous les streams 
    176   real ::  deltaacc                     !<  
    17765  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 
    18067 
    18168  !     ************** common des caracteres ************** 
     
    219106  !hassine 
    220107  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_drag 
    222                                         !< si alpha_drag = 1, coef_drag = drag_centre   
    223108  real, dimension(nx,ny) :: betamax_2d  !< (Pa) frottement maxi sous les streams 
    224109  ! 
  • branches/GRISLIv3/SOURCES/Alps_files/output_alps_mod.f90

    r356 r465  
    7676character(len=100),dimension(nvar) :: units 
    7777 
    78 !ndisp sorite courte tous les ndisp 
    79 NDISP=100 
    8078 
    8179 
     
    154152!------------------ 
    155153real ::  smax 
     154integer :: np 
    156155 
    157156      vol=0.  
  • branches/GRISLIv3/SOURCES/Ant16_files/bmelt-ant-regions-initmip_mod.f90

    r446 r465  
    4949    ! Elle est appelée par inputfile-vec-0.5.f90 
    5050 
     51    integer :: i,j ! loop integers 
    5152    real*8, dimension(:,:),   pointer    :: tab               !< tableau 2d real pointer 
    5253    real :: bmelt_dist0 
     
    151152    ! cette routine calcule la fusion basale proprement dite 
    152153 
     154    integer :: i,j 
    153155    integer :: ngr           ! nombre de voisins flottants 
    154156    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  
    4949subroutine init_bmelt 
    5050 
     51  integer :: i,j,k ! loop integers 
    5152  character(len=100) :: file_temp_oce1      ! fichier de ref (ctrl) contenant la carte des temperatures de l'ocean de subsurface 
    5253  character(len=100) :: file_temp_oce2      ! 2eme fichier : c'est la difference qui permet de calculer la variation de fusion basale 
     
    302303! cette routine calcule la fusion basale proprement dite 
    303304 
     305integer :: i,j           ! loop integers 
    304306integer :: ngr           ! nombre de voisins flottants 
    305307 
  • branches/GRISLIv3/SOURCES/Ant40_files/bmelt-ant-regions_mod.f90

    r446 r465  
    5050    ! Cette routine fait l'initialisation pour la fusion basale. 
    5151    ! Elle est appelée par inputfile-vec-0.5.f90 
    52          
     52 
     53    integer :: i,j 
    5354    real*8, dimension(:,:),   pointer    :: tab               !< tableau 2d real pointer 
    5455 
     
    221222    ! cette routine calcule la fusion basale proprement dite 
    222223 
     224    integer :: i,j           ! loop integers 
    223225    integer :: ngr           ! nombre de voisins flottants 
    224226    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  
    1313module lect_topo_anteis 
    1414 
    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, &  
    1616                          xcc,ycc,xlong,ylat,secyear 
    1717  use runparam, only: xmin,ymin,xmax,ymax 
     
    6868    ghf_fich=trim(dirnameinp)//trim(ghf_fich) 
    6969 
    70  
    71     ! lecture adaptee aux fichiers intercomparaison EISMINT 
    72     nxx=nx 
    73     nyy=ny 
    7470 
    7571!!$!     lecture de la topo actuelle 
  • branches/GRISLIv3/SOURCES/Ant40_files/module_choix-antar40-0.4.f90

    r452 r465  
    4040!use climat_forcage_mois_mod ! forcage mensuel GCM 1 Snapshot Fev 2015 
    4141!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 glace 
    43  
     42!use climat_smb_perturb_mod ! climat force par fichier SMB directement (grice2sea) + index temperature carotte de glace 
     43use climat_smb_perturb_mod 
    4444 
    4545!use climat_forcage_mod 
  • branches/GRISLIv3/SOURCES/Ant40_files/output_anta40_mod-0.4.f90

    r456 r465  
    1313module  output_antarcti_mod 
    1414 
    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,ts 
     15use module3D_phy,only: xlong,ylat,b,s,acc,h,t,tbdot,ux,uy,uzk,uzsdot, & 
     16              hdot,bdot,num_ritz,tafor,sealevel,ts 
    1717use geography, only: nx,ny,nz,geoplace,dirnameinp 
    1818use runparam, only: dirnameout,runname 
     
    2424implicit none 
    2525       
    26 !real ::  vol ; !integer :: np 
     26real ::  vol ; !integer :: np 
    2727integer :: nflot                      !< nbr de point flottant 
    2828real ::  bmean                        !< 
     
    111111 
    112112 
    113 !ndisp sorite courte tous les ndisp 
    114 NDISP=100 
    115113 
    116114 
     
    386384! 1_initialization 
    387385!------------------ 
    388 real ::  smax 
    389 integer :: i,j,k,l 
     386real ::  smax,hmax,hmean 
     387integer :: np,i,j,k,l 
    390388 
    391389      vol=0.  
  • branches/GRISLIv3/SOURCES/Eurasie_files/output_eurasie_mod.f90

    r336 r465  
    3434subroutine init_outshort 
    3535 
    36 !ndisp sorite courte tous les ndisp 
    37 NDISP=100 
    3836mask_cal(:,:,:)=.false. 
    3937mask_cal(:,:,1)=.true. 
     
    109107! 1_initialization 
    110108!------------------ 
    111       integer KK 
     109      integer KK, np 
    112110!     integer inpl, INPG, INPF 
    113111!     integer inplab,inpkeew,inpinn,inpcord 
  • branches/GRISLIv3/SOURCES/Hemin40_files/bmelt-hemin40-depth_mod.f90

    r237 r465  
    4343subroutine init_bmelt 
    4444 
    45  
     45integer :: i,j ! loop integers 
    4646 
    4747! Cette routine fait l'initialisation pour la fusion basale. 
     
    120120! cette routine calcule la fusion basale proprement dite 
    121121 
     122integer :: i,j ! loop integers 
    122123integer :: ngr           ! nombre de voisins flottants 
    123124 
  • branches/GRISLIv3/SOURCES/Hemin40_files/lect-hemin40_mod.f90

    r446 r465  
    2121subroutine input_topo 
    2222 
    23   integer :: ios 
     23  integer :: i,j,k,ios 
    2424  real, dimension(nx,ny) :: varloc 
    2525   
  • branches/GRISLIv3/SOURCES/Hemin40_files/output_hemin40_mod.f90

    r120 r465  
    3333subroutine init_outshort 
    3434 
    35 !ndisp sorite courte tous les ndisp 
    36 NDISP=100 
     35integer :: i,j 
     36 
    3737mask_cal(:,:,:)=.false. 
    3838mask_cal(:,:,1)=.true. 
     
    152152! 1_initialization 
    153153!------------------ 
    154       integer KK 
     154      integer k, KK, np 
    155155!     integer inpl, INPG, INPF 
    156156!     integer inplab,inpkeew,inpinn,inpcord 
  • branches/GRISLIv3/SOURCES/Laure16_files/fake-routines-laurentide_mod.f90

    r318 r465  
    1515module fake_laure 
    1616 
    17 use module3d_phy 
     17use runparam, only: itracebug 
     18 
    1819implicit none 
    1920 
  • branches/GRISLIv3/SOURCES/Laure16_files/lect-laurentide_mod.f90

    r355 r465  
    1919subroutine input_topo 
    2020 
    21   integer :: ios 
     21  use geography, only: dirnameinp 
     22  use runparam, only: xmin,xmax,ymin,ymax 
     23 
     24  integer :: i,j,k,ios 
    2225  real, dimension(nx,ny) :: varloc 
    2326   
  • branches/GRISLIv3/SOURCES/Laure16_files/output_laure16_mod.f90

    r355 r465  
    11module  output_laure16_mod 
    22 
     3  use geography, only: nx,ny 
    34  use module3D_phy 
    45  use bilan_eau_mod 
     
    89 
    910implicit none 
     11 
     12integer :: i,j ! loop integers 
    1013 
    1114logical,dimension(nx,ny,7) :: mask_cal !< masque regions calotte  
     
    2932subroutine init_outshort 
    3033 
     34  use geography, only: geoplace,dirnameinp 
     35  use runparam, only: dirnameout,runname 
     36 
     37  integer :: i,j,k 
    3138 
    3239double precision,dimension(:,:),pointer      :: tab               !< tableau 2d real pointer 
     
    3744 
    3845 
    39 !ndisp sorite courte tous les ndisp 
    40 NDISP=100 
    4146mask_cal(:,:,:)=.false. 
    4247mask_cal(:,:,1)=.true. 
     
    175180!------------------ 
    176181 
     182  integer :: k,np 
     183 
    177184  ! ISMIP type outputs: (nc file) 
    178185  real :: lim                           !< Total ice mass 
  • branches/GRISLIv3/SOURCES/ablation_mod.f90

    r446 r465  
    8484 
    8585 
    86   use module3d_phy,only:Tjuly,Tann,Tmois,acc,pdd,TS,Tshelf,precip,BM,Abl,S,cl 
    87   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 
    8888 
    8989  IMPLICIT NONE 
  • branches/GRISLIv3/SOURCES/bilan_eau_mod.f90

    r446 r465  
    2222  use runparam, only: nt 
    2323  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_bilan 
     24       bm,bmelt,dt,isynchro,time,dtmin,ablbord_dtt 
    2525  use geography, only: nx,ny,dx,dy 
    2626 
     
    2828 
    2929  real :: sum_H 
     30  real :: water_bilan 
    3031 
    3132  real,dimension(nx,ny) :: tot_water    !< bilan d'eau 
  • branches/GRISLIv3/SOURCES/bmelt-beckmann-gcm_mod.f90

    r461 r465  
    2121 
    2222  !$ USE OMP_LIB 
    23   use module3D_phy,only: cl,S,H,sealevel_2d,flot,bmelt,num_param,num_rep_42,time,dt,debug_3d 
     23  use module3D_phy,only: S,H,sealevel_2d,flot,bmelt,num_param,num_rep_42,time,dt,debug_3d 
    2424  use geography, only: nx,ny,dx,dy,dirnameinp 
    2525  ! 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 
    2727  use io_netcdf_grisli,only: read_ncdf_var 
    2828 
  • branches/GRISLIv3/SOURCES/bmelt-grounded.f90

    r446 r465  
    1717subroutine bmelt_grounded 
    1818 
    19   use module3d_phy, only: flot,bmelt,ibase,hwater,T,phid,cl,H,ghf,dtt 
     19  use module3d_phy, only: flot,bmelt,ibase,hwater,T,phid,H,ghf,dtt 
    2020  use geography, only: nx,ny,nz 
    21   use param_phy_mod, only: ro 
     21  use param_phy_mod, only: ro,cl 
    2222  use icetemp_declar, only: ct,dee,cm,dzm,ncond 
    2323  use runparam, only: itracebug 
  • branches/GRISLIv3/SOURCES/deformation_mod_2lois.f90

    r446 r465  
    8484  subroutine init_deformation 
    8585     
    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 
    8788 
    8889    implicit none 
     
    152153    Q2(2)     = Q_warm_2  
    153154 
    154     ! autre parametres ne changeant pas d'un run a l'autre 
    155     RGAS=8.314 
    156  
    157155    ! application des sf 
    158156 
     
    200198  subroutine flowlaw (iiglen) 
    201199     
    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 
    203202    !$ USE OMP_LIB 
    204203 
  • branches/GRISLIv3/SOURCES/diffusiv-polyn-0.6.f90

    r446 r465  
    7676 
    7777  call sliding     ! au sens vitesse de glissement 
    78  
    79   !  le glissement est maintenant dans un module a part choisi dans le module choix 
    80   !  pour l'instant seules les lois Heino (loigliss=4) et Bindshadler(loigliss=2) 
    81   !  sont programmees. 
    8278 
    8379  !      ddbx et ddby termes dus au glissement  
  • branches/GRISLIv3/SOURCES/eaubasale-0.5_mod.f90

    r446 r465  
    2525  REAL :: KONDMAX 
    2626  real :: kond0 
     27  real :: hwatermax 
    2728  REAL :: INFILTR 
    2829  REAL :: hmax_till    !< épaisseur de la couche de till 
     
    5657  subroutine init_eaubasale 
    5758 
    58     use module3d_phy, only:hwatermax,num_param,num_rep_42,kond,secyear,hdotwater,pgx,pgy 
     59    use module3d_phy, only:num_param,num_rep_42,kond,secyear,hdotwater,pgx,pgy 
    5960     
    6061    namelist/eaubasale1/ecoulement_eau,hwatermax,infiltr  
     
    126127 
    127128    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,hwatermax 
     129         debug_3d,flotmx,flotmy,pgx,pgy,phiwx,phiwy,isynchro,dtt,dt,hdotwater,pwater 
    129130    use geography, only:dx,dy 
    130131    use param_phy_mod, only:rowg,ro,rog,rofreshg,rofresh 
  • branches/GRISLIv3/SOURCES/initial-phy-2.f90

    r446 r465  
    2020  use module3D_phy, only:icompteur,iout,reprcptr,igrdline,schoof,ibmelt_inv,dtmin,dtmax,& 
    2121       dtt,testdiag,num_param,num_rep_42,num_ritz,dt,ntmax,time,tafor,sealevel,& 
    22        sealevel_2d,secyear,nzz,nz,nzm,cl,da,nice,isynchro 
     22       sealevel_2d,secyear,isynchro 
    2323  use geography, only: geoplace 
    2424  use runparam, only :runname,itracebug,num_tracebug,tbegin,tend,dirsource,dirnameout,dttest,& 
    2525       nt 
    26   use param_phy_mod, only:rog,g,ro,row,rowg,rom,romg,rofresh,rofreshg,dice,coef_Sflot,& 
    27        coef_Bflot 
     26 
    2827 
    2928  implicit none 
     
    4039  !-------------------------------------------------------------- 
    4140  dirsource='../SOURCES' 
    42   ! dirsource='../../SOURCES' 
    43   ! filin='../'//trim(dirsource)//'/Fichiers-parametres/'//trim(geoplace)//'_param_list.dat' 
    4441  filin=trim(geoplace)//'_param_list.dat' 
    4542 
     
    8582 
    8683 
    87  
    88   !     switch reprise compteur ou non: 1 => compteur, 0 => pas compteur 
    89   !     icompteur=2 reprise de tout sauf de la topo 
    90   !     icompteur=1 reprise de tout 
    91  
    92   !      reprcptr=TRIM('../CPTR-Heino/Heino096+k150.CPTR') 
    93  
    94  
    95  
    96  
    9784  write(6,*)'_________________________________________________' 
    9885  write(6,*)'runname=',runname 
    99   !      write(6,*) dirnameout 
    100   !      write(6,*) TRIM(DIRNAMEOUT)//'short'//runname//'.ritz' 
    10186 
    10287 
     
    10489  !------------------------------ 
    10590 
    106   ! filin='time-series/short'//runname//'.ritz' 
     91 
    10792  filin='short'//runname//'.ritz' 
    10893  filin=TRIM(DIRNAMEOUT)//TRIM(filin) 
     
    133118 
    134119 
    135   !     grounding line fixee 
    136   !-------------------------- 
    137   !     Pour faire des expériences avec l'épaisseur des ice-shelves fixée 
    138   !     igrdline=1 !fixé, sinon (libre) igrdline=0 
    139   !     igrdline=0  
    140  
    141  
    142  
    143120  ! lecture des parametres du run                          block timesteps 
    144121  !----------------------------------------------------------------------- 
     
    146123  read(num_param,timesteps) 
    147124 
    148 ! dmr&aurel ##  namelist/timesteps/dtmin,dtmax,dtt,testdiag,tbegin,tend 
    149125  write(num_rep_42,'(A)')'!___________________________________________________________'   
    150126  write(num_rep_42,'(A)') '&timesteps                 ! bloc time steps' 
     
    195171  secyear= 31556926 ! s /an 
    196172 
    197 !!$!     *** ABLATION 
    198 !!$!     integrating step for positive degree days (degrees) 
    199 !!$      DTP=2.0 
    200 !!$!     number of months in 1 year, st. dev. for temp *) 
    201 !!$      NYEAR=12 
    202 !!$      SIGMA=5.0 
    203 !!$!     proportion of melted water that can refreeze *) 
    204 !!$      CSI=0.6 
    205 !!$!     melting factors for snow and ice  
    206 !!$      Csnow=0.003 
    207 !!$      Cice=0.008 
    208 !!$!     ct for PDD calculation 
    209 !!$      S22=0.5/SIGMA/SIGMA 
    210 !!$      PY=2*PI/NYEAR 
    211 !!$      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 parameter 
    215  
    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*g  
    220 dice     = ro/row              !<  ro/row 
    221  
    222 coef_Sflot = (Row-Ro)/Row      !<   S = coef_Sflot * H + sealevel pour les shelves 
    223 coef_Bflot = -Ro/Row           !<   B = coef_Bflot * H + sealevel pour les shelves 
    224  
    225173  !---------------------  
    226174 
    227  
    228   !     *** TEMPERATURE IN ICE AND MANTLE 
    229   !     Total number of vertical grid points, grid step in mantle 
    230   NZZ=NZ+NZM 
    231  
    232   !     specific latent heat of fusion of ice J/Kg 
    233   CL=3.35E5 
    234  
    235   !     DA mantle diffusion 
    236   DA=4.E7 
    237175  !     switch  
    238   NICE=1 
    239176  isynchro=0 
    240177 
  • branches/GRISLIv3/SOURCES/isostasie_mod-0.3.f90

    r446 r465  
    2727 
    2828    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,j 
     29    use module3D_phy, only: icouple,marine,err,h0,bsoc0,sealevel_2d,w0,w1 
    3030    use geography, only: geoplace,nx,ny,dx,dy 
    3131    use param_phy_mod, only: ro,row,rog,rowg,romg 
     
    3636    !     nbed=1 temps de reaction 
    3737 
     38    integer :: i,j 
    3839 
    3940    if (GEOPLACE.eq.'eismint') then 
  • branches/GRISLIv3/SOURCES/main3D-0.4-40km.f90

    r463 r465  
    131131subroutine grisli_init 
    132132 
    133   USE module3D_phy, only: itemp,icouple,isynchro,imargin,icompteur,iglen,timecg,marine,num_sealevel, & 
     133  USE module3D_phy, only: itemp,icouple,isynchro,icompteur,iglen,marine,num_sealevel, & 
    134134                          num_ts_ritz,num_ic_vo,num_ic_by,num_ic_dm,num_ic_dc,num_ic_df, & 
    135135                          s,h,b,bsoc,flot,mk,mk0,uxbar,uybar,hwater,time,timemax,boost,ndebug,ndebug_max 
     
    165165  !               4     idem 3 mais loi de def. Duval          niveau L4 
    166166  ICOUPLE=4 
    167   !     switch margin IMARGIN=0 fixed, IMARGIN=1 moving 
    168   IMARGIN=1 
    169  
    170   TIMECG=TBEGIN 
     167 
    171168  nt=-1   ! utilisee dans initialisation flottab 
    172169  !     sortie profile tous les dtprofile 
  • branches/GRISLIv3/SOURCES/neffect-0.4.f90

    r462 r465  
    1919  use param_phy_mod, only: ro,row,g 
    2020  use runparam, only: itracebug 
    21   use module3D_phy, only: flotmx,flotmy,coefmxbmelt,coefmybmelt,hwater,neffmx,neffmy,hmx,hmy,hwatermax 
     21  use module3D_phy, only: flotmx,flotmy,coefmxbmelt,coefmybmelt,hwater,neffmx,neffmy,hmx,hmy 
    2222  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 
    2425 
    2526  implicit none 
  • branches/GRISLIv3/SOURCES/notracer_mod.f90

    r423 r465  
    55module notracer_mod  
    66 
    7   use module3d_phy, only: itracer 
    87  use tracer_vars, only: tdep,xdep,ydep  ! pour ne pas avoir de probleme avec les sorties ncdf 
    98  implicit none 
     
    1514    xdep(:,:,:)=0. 
    1615    ydep(:,:,:)=0. 
    17  
    18  ! pour ecrire les recovery avec ou sans les tableaux traceurs 
    19     itracer = 0 
    2016  end subroutine init_tracer 
    2117   
  • branches/GRISLIv3/SOURCES/out_cptr_mod.f90

    r449 r465  
    331331!> 
    332332subroutine  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 
    334338  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   
    339342!!!pas reprise : il faut initier les temperatures ds le socle 
    340343 
     
    619622 
    620623subroutine 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 
    623629  implicit none 
     630 
     631  integer :: i,j 
    624632  integer :: jaxe 
    625633  integer :: jsym 
  • branches/GRISLIv3/SOURCES/param_phy_mod.f90

    r400 r465  
    1515module param_phy_mod 
    1616 
     17implicit none 
     18 
     19real,parameter ::  G = 9.81             !< gravite en m s-2 
     20real,parameter ::  RO = 918.0           !< densities of ice : 918 for consistency with LBq 
     21real,parameter ::  ROFRESH = 1000.      !< density of fresh water 
     22 
     23real,parameter ::  ROM = 3300.0         !< density of mantle 
     24real,parameter ::  ROW = 1028.0         !< densities of ocean water 
     25 
     26                              ! maintenant defini dans initial-phy-2.f90 
     27real,parameter ::  coef_Sflot = (Row-Ro)/Row   !<   S = coef_Sflot * H + sealevel pour les shelves 
     28real,parameter ::  ROG  = ro*g                 !<  RO*G   (glace)    in Pa = 1 kg/m/s2 
     29real,parameter ::  ROWG = row*g                != ROW*G            !<  ROW*G  (ocean)  
     30real,parameter ::  ROMG = rom*g                != ROM*G            !<  ROM*G  (asthenosphere) 
     31 
     32real,parameter ::  DICE = ro/row               != RO/ROW           !<  RO/ROW 
     33 
     34real,parameter ::  ROFRESHG = rofresh*g        !<  ROFRESH*G  
     35 
     36real,parameter ::  CL=3.35E5                   !< specific latent heat of fusion of ice J/Kg 
     37 
     38real,parameter ::  DA=4.E7                     !< DA mantle diffusion 
     39 
     40real,parameter ::  RGAS=8.314                  !< gas constant (J/mol/K) 
     41 
     42real,Parameter :: Dzm=600        !< Grid Step In Mantle 
     43real,Parameter ::  Cm=1.04e8     !< Prop Thermique 
    1744 
    1845 
    19 real ::  G = 9.81             !< gravite en m s-2 
    20 real ::  RO = 918.0           !< densities of ice : 918 for consistency with LBq 
    21 real ::  ROFRESH = 1000.      !< density of fresh water 
    22  
    23 real ::  ROM = 3300.0         !< density of mantle 
    24 real ::  ROW = 1028.0         !< densities of ocean water 
    25  
    26                               ! maintenant defini dans initial-phy-2.f90 
    27 real ::  coef_Sflot           != (Row-Ro)/Row     !<   S = coef_Sflot * H + sealevel pour les shelves 
    28 real ::  coef_Bflot           != -Ro/Row          !<   B = coef_Bflot * H + sealevel pour les shelves 
    29 real ::  ROG                  != RO*G             !<  RO*G   (glace)    in Pa = 1 kg/m/s2 
    30 real ::  ROWG                 != ROW*G            !<  ROW*G  (ocean)  
    31 real ::  ROMG                 != ROM*G            !<  ROM*G  (asthenosphere) 
    32  
    33 real ::  DICE                 != RO/ROW           !<  RO/ROW 
    34  
    35 real ::  ROFRESHG             !=ROFRESH*G         !<  ROFRESH*G  
    36  
    3746end module param_phy_mod 
  • branches/GRISLIv3/SOURCES/steps_time_loop.f90

    r463 r465  
    167167   
    168168  use module3d_phy, only: ispinup,isynchro,timemax,time,marine,iglen,shelfy,icompteur,& 
    169        test_iter_diag,inv_beta,dtmin,flot,mk,mk0 
     169       inv_beta,dtmin,flot,mk,mk0 
    170170  use runparam, only: itracebug,nt,num_tracebug 
    171171  use geography, only: geoplace 
     
    188188  integer :: nt_init_tm = 0          ! number of loops for initialisation of thermo mechanical 
    189189  integer :: iter_visco              ! number of iterations for ssa viscosity 
     190  real ::  test_iter_diag            ! test sur les vitesses pour iterations diagnostiques 
    190191 
    191192  if (ispinup.le.1) shelf_vitbil = .false.         ! general case, ice shelves velocities are computed by diagnoshelf 
  • branches/GRISLIv3/SOURCES/tracebug.f90

    r6 r465  
    1717subroutine tracebug(chaine) 
    1818 
    19   use module3D_phy 
    20   use module_choix 
     19  use runparam, only: num_tracebug 
    2120 
    2221  implicit none  
    2322 
     23  integer :: i,j 
    2424  character(len=*),intent(in):: chaine ! chaine a imprimer 
    2525 
  • branches/GRISLIv3/SOURCES/tracer_mod.f90

    r446 r465  
    2727module tracer_mod 
    2828 
    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,& 
    3030       ux,uy,uzr,bmelt,S,flot,bm 
    3131  use geography, only: nx,ny,nz,dx,dy,dirforcage 
     
    8888 
    8989if (itracebug.eq.1) write(num_tracebug,*)'init_tracer dans tracer_mod' 
    90  
    91 ! itracer pour les ecritures et lectures recovery 
    92  itracer = 1 
    9390 
    9491! profondeur reduite 
  • branches/GRISLIv3/SOURCES/tracer_vars_mod.f90

    r446 r465  
    44module tracer_vars 
    55   
    6   use module3d_phy, only: itracer 
    76  use geography, only: nx,ny,nz 
    87   
Note: See TracChangeset for help on using the changeset viewer.