source: trunk/SOURCES/Snowball_files/lect_clim_snowball_mod.f90 @ 334

Last change on this file since 334 was 57, checked in by dumas, 8 years ago

Add Snowball configuration

File size: 2.1 KB
Line 
1! lecture du climat de reference pour snowball
2module lect_clim_snowball
3
4  use module3D_phy
5 
6  CHARACTER(LEN=100) :: file1
7
8contains
9 
10  subroutine input_climat_ref()
11
12
13    NAMELIST/clim_act/file1,annual,type_precip
14    rewind(num_param)        ! pour revenir au debut du fichier param_list.dat
15    read(num_param,clim_act)
16! formats pour les ecritures dans 42
17428 format(A)
18    write(num_rep_42,428)'!___________________________________________________________'
19    write(num_rep_42,428) '&clim_act                                  ! nom du bloc '
20    write(num_rep_42,*)
21    write(num_rep_42,*) 'file1 = ', file1
22    write(num_rep_42,*) 'annual = ', annual
23    write(num_rep_42,*) 'type_precip = ', type_precip
24    write(num_rep_42,*)'/'
25    write(num_rep_42,428) '! file1 : climato de reference'
26    write(num_rep_42,428) '! annual : .true. si fichier annuel'
27    write(num_rep_42,428) '! type_precip : .true. si fichier precip liq'
28    write(num_rep_42,*)
29
30   file1=trim(DIRNAMEINP)//trim(file1)
31!  lecture du fichier climat actuel
32!  --------------------------------
33    open (11,file=trim(file1),status='old')
34    read(11,*)
35    read(11,*)
36    read(11,*)
37    IF (annual) THEN
38    do J=1,NY
39       do I=1,NX
40              read(11,*) PRECIP0(I,J),TA0(I,J),TJ0(I,J)
41       enddo
42    enddo
43
44    else  ! climato mensuelle
45        k=0
46        DO J=1,NY
47          DO I=1,NX
48!            READ(11,'(24(e12.5,1x))') (Pm0(I,J,n),n=1,12),(Tm0(I,J,n),n=1,12)
49            READ(11,*) (Pm0(I,J,n),n=1,12),(Tm0(I,J,n),n=1,12)
50          ENDDO
51        ENDDO
52        TA0(:,:)= SUM(Tm0,dim=3)/12.
53        TJ0(:,:)= Tm0(:,:,7)
54        Tmois(:,:,:)= Tm0(:,:,:)
55!       Pm0(:,:,:)= Pm0(:,:,:)/12.   ! pour etre en m/mois (didier donne les acc et precips /an)
56        precip0(:,:)=SUM(Pm0,dim=3)/12  ! pour rester en m/an (les 12 mois sont chacun en m/an)
57        precip0(i,j)=precip0(i,j)/100. ! de cm.a a m.a
58    ENDIF
59    CLOSE(11)
60
61!cdc test coherence Loveclim couple    precip0(:,:)=precip0(:,:)*1000./ro  ! passage en equivalent glace
62    acc(:,:)=precip0(:,:)
63    tann(:,:)=TA0(:,:)
64    TJULY(:,:)=TJ0(:,:)
65
66  end subroutine input_climat_ref
67
68
69end module  lect_clim_snowball
Note: See TracBrowser for help on using the repository browser.