43 TYPE(bief_obj),
TARGET ::
tair 60 TYPE(bief_obj),
TARGET ::
tdew 85 TYPE(bief_obj),
TARGET ::
cldc 97 TYPE(bief_obj),
TARGET ::
visbi 109 TYPE(bief_obj),
TARGET ::
snow 136 DOUBLE PRECISION ::
windz 139 TYPE(bief_obj),
TARGET ::
patmos 145 TYPE(bief_obj),
TARGET ::
pvap 151 TYPE(bief_obj),
TARGET ::
ray3 157 DOUBLE PRECISION ::
modelz 161 TYPE(bief_obj),
TARGET ::
hrel 214 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE ::
216 DOUBLE PRECISION,
DIMENSION(:,:),
ALLOCATABLE ::
218 DOUBLE PRECISION dummy 221 INTEGER,
PARAMETER ::
sizelign = 30000
230 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE ::
232 DOUBLE PRECISION,
DIMENSION(:,:),
ALLOCATABLE ::
259 &( files,atmfilea,atmfileb,mesh,ielmt,avent,aatmos,awater_quality,
282 TYPE(bief_file),
INTENT(IN) :: FILES(*)
283 INTEGER,
INTENT(IN) :: ATMFILEA,ATMFILEB
284 INTEGER,
INTENT(IN) :: IELMT
285 TYPE(bief_mesh),
INTENT(IN) :: MESH
286 LOGICAL,
INTENT(IN),
OPTIONAL :: AVENT,AATMOS,AWATER_QUALITY,AICE
288 LOGICAL VENT,ATMOS,WATER_QUALITY,ICE
292 CHARACTER(LEN=16),
ALLOCATABLE :: CHOIX(:)
298 water_quality=.false.
299 IF(
PRESENT(awater_quality)) water_quality=awater_quality
301 IF(
PRESENT(avent)) vent=avent
303 IF(
PRESENT(aatmos)) atmos=aatmos
305 IF(
PRESENT(aice)) ice=aice
314 IF( files(atmfilea)%NAME(1:1).NE.
' ' )
THEN 322 IF( files(atmfileb)%NAME(1:1).NE.
' ' )
THEN 345 IF(water_quality.OR.ice)
THEN 376 IF(vent.OR.water_quality.OR.ice)
THEN 403 IF(atmos.OR.water_quality.OR.ice)
THEN 550 DOUBLE PRECISION,
INTENT(IN) :: WHEN
553 DOUBLE PRECISION :: DTR
567 dtr = atan(1.d0) / 45.d0
628 DO ipoin = 1,
winds%DIM1
633 DO ipoin = 1,
windx%DIM1
674 &( when,what,valeurs,npoin )
692 INTEGER,
INTENT(IN) :: NPOIN
693 CHARACTER(LEN=*),
INTENT(IN) :: WHAT
694 DOUBLE PRECISION,
INTENT(IN) :: WHEN
695 DOUBLE PRECISION,
INTENT(INOUT) :: VALEURS(npoin)
698 DOUBLE PRECISION ALPHA,DELTA
699 DOUBLE PRECISION X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3,NX,NY,NZ,MX,MY
700 CHARACTER(LEN=16),
ALLOCATABLE :: CHOIX(:)
709 IF( j.NE.0 .AND. what.NE.
'RAINC')
THEN 725 ELSEIF(
npoina.EQ.2 )
THEN 735 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 736 z3 = ( z2-z1 )/( x2-x1 )
739 & ( 1.d0-alpha )*( z1+z3*(
xpoina(ipoin)-x1) )
741 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 742 z3 = ( z2-z1 )/( y2-y1 )
745 & ( 1.d0-alpha )*( z1+z3*(
ypoina(ipoin)-y1) )
749 valeurs(ipoin) = ( 1.d0-alpha )*( z1 )
756 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 757 z3 = ( z2-z1 )/( x2-x1 )
759 valeurs(ipoin) = valeurs(ipoin)
760 & + alpha*( z1+z3*(
xpoina(ipoin)-x1) )
762 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 763 z3 = ( z2-z1 )/( y2-y1 )
765 valeurs(ipoin) = valeurs(ipoin)
766 & + alpha*( z1+z3*(
ypoina(ipoin)-y1) )
770 valeurs(ipoin) = valeurs(ipoin) + alpha*( z1 )
775 ELSEIF(
npoina.EQ.3 )
THEN 787 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
788 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
789 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
791 mx = (
xpoina(ipoin)-x1 )*nx
792 my = (
ypoina(ipoin)-y1 )*ny
793 valeurs(ipoin) = ( 1.d0-alpha )*( z1-(mx+my)/nz )
799 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
800 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
801 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
803 mx = (
xpoina(ipoin)-x1 )*nx
804 my = (
ypoina(ipoin)-y1 )*ny
805 valeurs(ipoin) = valeurs(ipoin) + alpha*( z1-(mx+my)/nz )
809 ELSEIF( j.NE.0 .AND. what.EQ.
'RAINC')
THEN 817 valeurs(ipoin) =
valuea2(j,1)/delta
821 ELSEIF(
npoina.EQ.2 )
THEN 831 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 832 z3 = ( z2-z1 )/( x2-x1 )
834 valeurs(ipoin) = ( z1+z3*(
xpoina(ipoin)-x1) ) / delta
836 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 837 z3 = ( z2-z1 )/( y2-y1 )
839 valeurs(ipoin) = ( z1+z3*(
ypoina(ipoin)-y1) ) / delta
843 valeurs(ipoin) = z1 / delta
848 ELSEIF(
npoina.EQ.3 )
THEN 860 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
861 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
862 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
864 mx = (
xpoina(ipoin)-x1 )*nx
865 my = (
ypoina(ipoin)-y1 )*ny
866 valeurs(ipoin) = ( z1-(mx+my)/nz ) / delta
879 IF( j.NE.0 .AND. what.NE.
'RAINC')
THEN 891 ELSEIF( j.NE.0 .AND. what.EQ.
'RAINC')
THEN 898 valeurs(ipoin) =
valueb2(j,ipoin) / delta
916 &( when,vitx,vity,npoin )
936 INTEGER,
INTENT(IN) :: NPOIN
937 DOUBLE PRECISION,
INTENT(IN) :: WHEN
938 DOUBLE PRECISION,
INTENT(INOUT) :: VITX(npoin),VITY(npoin)
941 DOUBLE PRECISION DTR,TMPX1(3),TMPY1(3),TMPX2(3),TMPY2(3)
942 DOUBLE PRECISION ALPHA,DELTA
943 DOUBLE PRECISION X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3,NX,NY,NZ,MX,MY
944 CHARACTER(LEN=16),
ALLOCATABLE :: CHOIX(:)
948 dtr = atan(1.d0)/45.d0
958 IF( j1.NE.0 .AND. j2.NE.0)
THEN 971 vitx(ipoin) = ( 1.d0-alpha )*tmpx1(1) + alpha*tmpx2(1)
972 vity(ipoin) = ( 1.d0-alpha )*tmpy1(1) + alpha*tmpy2(1)
979 ELSEIF(
npoina.EQ.2 )
THEN 990 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 991 z3 = ( z2-z1 )/( x2-x1 )
994 & ( 1.d0-alpha )*( z1+z3*(
xpoina(ipoin)-x1) )
996 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 997 z3 = ( z2-z1 )/( y2-y1 )
1000 & ( 1.d0-alpha )*( z1+z3*(
ypoina(ipoin)-y1) )
1004 vitx(ipoin) = ( 1.d0-alpha )*( z1 )
1011 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 1012 z3 = ( z2-z1 )/( x2-x1 )
1014 vitx(ipoin) = vitx(ipoin)
1015 & + alpha*( z1+z3*(
xpoina(ipoin)-x1) )
1017 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 1018 z3 = ( z2-z1 )/( y2-y1 )
1020 vitx(ipoin) = vitx(ipoin)
1021 & + alpha*( z1+z3*(
ypoina(ipoin)-y1) )
1025 vitx(ipoin) = vitx(ipoin) + alpha*( z1 )
1033 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 1034 z3 = ( z2-z1 )/( x2-x1 )
1037 & ( 1.d0-alpha )*( z1+z3*(
xpoina(ipoin)-x1) )
1039 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 1040 z3 = ( z2-z1 )/( y2-y1 )
1043 & ( 1.d0-alpha )*( z1+z3*(
ypoina(ipoin)-y1) )
1047 vity(ipoin) = ( 1.d0-alpha )*( z1 )
1054 IF( abs(x2-x1).GT.abs(y2-y1) )
THEN 1055 z3 = ( z2-z1 )/( x2-x1 )
1057 vity(ipoin) = vity(ipoin)
1058 & + alpha*( z1+z3*(
xpoina(ipoin)-x1) )
1060 ELSEIF( abs(y2-y1).GT.abs(x2-x1) )
THEN 1061 z3 = ( z2-z1 )/( y2-y1 )
1063 vity(ipoin) = vity(ipoin)
1064 & + alpha*( z1+z3*(
ypoina(ipoin)-y1) )
1068 vity(ipoin) = vity(ipoin) + alpha*( z1 )
1073 ELSEIF(
npoina.EQ.3 )
THEN 1086 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
1087 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
1088 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
1090 mx = (
xpoina(ipoin)-x1 )*nx
1091 my = (
ypoina(ipoin)-y1 )*ny
1092 vitx(ipoin) = ( 1.d0-alpha )*( z1-(mx+my)/nz )
1098 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
1099 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
1100 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
1102 mx = (
xpoina(ipoin)-x1 )*nx
1103 my = (
ypoina(ipoin)-y1 )*ny
1104 vitx(ipoin) = vitx(ipoin) + alpha*( z1-(mx+my)/nz )
1111 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
1112 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
1113 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
1115 mx = (
xpoina(ipoin)-x1 )*nx
1116 my = (
ypoina(ipoin)-y1 )*ny
1117 vity(ipoin) = ( 1.d0-alpha )*( z1-(mx+my)/nz )
1123 nx = ( y2-y1 )*( z3-z1 ) - ( z2-z1 )*( y3-y1 )
1124 ny = ( z2-z1 )*( x3-x1 ) - ( x2-x1 )*( z3-z1 )
1125 nz = ( x2-x1 )*( y3-y1 ) - ( y2-y1 )*( x3-x1 )
1127 mx = (
xpoina(ipoin)-x1 )*nx
1128 my = (
ypoina(ipoin)-y1 )*ny
1129 vity(ipoin) = vity(ipoin) + alpha*( z1-(mx+my)/nz )
1143 IF( j1.NE.0 .AND. j2.NE.0)
THEN 1155 vitx(ipoin) = ( 1.d0-alpha )*tmpx1(1) + alpha*tmpx2(1)
1156 vity(ipoin) = ( 1.d0-alpha )*tmpy1(1) + alpha*tmpy2(1)
1174 &( name,choix,maxvalue )
1192 CHARACTER(LEN=*),
INTENT(IN) :: NAME
1193 INTEGER,
INTENT(IN) :: MAXVALUE
1194 CHARACTER(LEN=*),
INTENT(IN) :: CHOIX(maxvalue)
1234 TYPE(bief_file),
INTENT(IN) :: FILES(*)
1235 INTEGER,
INTENT(IN) :: ATMFILEB
1237 INTEGER :: I,J, NFIC, IERR
1238 CHARACTER(LEN=8) :: NFMT
1240 CHARACTER(LEN=16),
POINTER :: CHOIX(:)
1241 CHARACTER(LEN=16),
POINTER :: UNITS(:)
1269 & (ierr,
"METEO,INIT_FIC_BINARY: GET_MESH_NPOIN")
1276 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_NVAR')
1280 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_VAR_LIST')
1286 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_NTIMESTEP')
1292 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_TIME:I')
1310 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_VALUE:CHOIX')
1324 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_VALUE:CHOIX')
1357 TYPE(bief_file),
INTENT(IN) :: FILES(*)
1358 INTEGER,
INTENT(IN) :: ATMFILEA
1360 INTEGER :: I,J,K, NFIC, IDEB,IFIN, NPOINX,NPOINY
1361 CHARACTER(LEN=SIZELIGN) :: LIGNE
1362 DOUBLE PRECISION :: X1,X2,X3, Y1,Y2,Y3
1364 CHARACTER(LEN=16),
POINTER :: CHOIX(:)
1404 READ(nfic,fmt=
'(A)',err=103) ligne
1405 IF(ligne(1:8).EQ.
'#REFDATE')
THEN 1413 101
READ(nfic,fmt=
'(A)',err=103) ligne
1417 WRITE(
lu,*)
'ERROR WHILE READING THE ASCII FILE' 1418 WRITE(
lu,*)
'USED FOR THE METEO (THERMAL PROCESSES)' 1419 WRITE(
lu,*)
'PROBABLY A PROBLEM OF FORMAT' 1420 WRITE(
lu,*)
'ANY WINDOWS CARRIAGE RETURNS ON UNIX OR LINUX' 1421 WRITE(
lu,*)
'GUILTY LINE:' 1433 IF( ligne(1:1).EQ.
':' )
THEN 1435 IF(
inclus(ligne,
':X') )
THEN 1437 151
IF( ideb.GE.
sizelign )
GOTO 152
1439 IF( (ligne(ideb:ideb).NE.
' ') .AND.
1440 & ligne(ideb:ideb).NE.char(9) )
GOTO 151
1442 READ(ligne(ideb:
sizelign),*,err=152) x1,x2
1444 READ(ligne(ideb:
sizelign),*,err=152) x1,x2,x3
1448 ELSEIF(
inclus(ligne,
':Y') )
THEN 1450 153
IF( ideb.GE.
sizelign )
GOTO 154
1452 IF( (ligne(ideb:ideb).NE.
' ') .AND.
1453 & ligne(ideb:ideb).NE.char(9) )
GOTO 153
1455 READ(ligne(ideb:
sizelign),*,err=154) y1,y2
1457 READ(ligne(ideb:
sizelign),*,err=154) y1,y2,y3
1462 IF( ligne(1:1).EQ.
'#' .OR.
1463 & ligne(1:1).EQ.
'!' .OR.
1464 & ligne(1:1).EQ.
':' )
GOTO 101
1468 WRITE(
lu,*)
'REFERENCE DATE IN ASCII ATMOSPHERIC DATA FILE' 1469 WRITE(
lu,*)
'MISSING ORIGINAL DATE OF TIME IN '//
1477 WRITE(
lu,*)
'USING REFERENCE DATE FOR METEO:' 1479 666
FORMAT(5x,1i4,
'-',1i0.2,
'-',1i0.2,
' ',
1480 & 1i0.2,
':',1i0.2,
':',1i0.2)
1489 IF( npoinx.NE.npoiny )
THEN 1490 WRITE(
lu,*)
'NUMBER OF LOCATIONS X AND Y LOCATIONS READ' 1491 WRITE(
lu,*)
'IN THE ASCII FILE USED FOR THE METEO (THERMAL' 1492 WRITE(
lu,*)
'PROCESSES) DIFFERENT.' 1516 105
IF((ligne(ideb:ideb).EQ.
' '.OR.ligne(ideb:ideb).EQ.char(9))
1523 106
IF( ligne(ifin:ifin).NE.
' '.AND.ligne(ifin:ifin).NE.char(9)
1529 IF( ideb.EQ.ifin )
GOTO 140
1534 IF(ligne(ideb:ifin-1).NE.
'T')
THEN 1535 WRITE(
lu,*)
'THE FIRST VARIABLE MUST BE TIME T IN THE' 1536 WRITE(
lu,*)
'ASCII FILE USED FOR THE METEO (THERMAL' 1537 WRITE(
lu,*)
'PROCESSES). OTHER POSSIBLE CAUSE:' 1538 WRITE(
lu,*)
'THERE ARE TABS IN THE FILE' 1539 WRITE(
lu,*)
'CHANGE TABS INTO SPACES' 1545 choix(
nvaluea)(1:ifin-ideb+1) = ligne(ideb:ifin-1)
1547 WRITE(
lu,*)
'INCREASE MAXVALUE FOR READ_FIC_ASCII' 1556 WRITE(
lu,*)
'NUMBER OF LOCATIONS AND TOTAL NUMBER OF VALUES' 1557 WRITE(
lu,*)
'FOUND IN THE ASCCI FILE FOR METEO (THERMAL' 1558 WRITE(
lu,*)
'PROCESSES) ARE INCOMPATIBLE.' 1559 WRITE(
lu,*)
'ONE VALUE PER VARIABLE SHOULD BE THERE FOR EACH' 1560 WRITE(
lu,*)
'LOCATION.' 1566 140
READ(nfic,fmt=
'(A)',err=103) ligne
1567 IF( ligne(1:1).EQ.
'#' .OR.
1568 & ligne(1:1).EQ.
'!' .OR.
1569 & ligne(1:1).EQ.
':' )
GOTO 140
1573 201
READ(nfic,*,end=202,err=203) ligne
1574 IF( ligne(1:1).NE.
'#' .AND.
1575 & ligne(1:1).NE.
'!' .AND.
1580 WRITE(
lu,*)
'ERROR READING THE ASCII FILE USED FOR THE METEO' 1581 WRITE(
lu,*)
'(THERMAL PROCESSES) AT LINE: ',
ntimea 1582 WRITE(
lu,*)
'(COMMENTS EXCLUDED)' 1588 WRITE(
lu,*)
'TWO TIME STEP AT LEAST SHOULD BE PRESENT IN' 1589 WRITE(
lu,*)
'THE ASCII FILE USED FOR THE METEO (THERMAL' 1590 WRITE(
lu,*)
'PROCESSES)' 1606 111
READ(nfic,fmt=
'(A)') ligne
1607 IF( ligne(1:1).EQ.
'#' .OR.
1608 & ligne(1:1).EQ.
'!' .OR.
1609 & ligne(1:1).EQ.
':' )
GOTO 111
1610 112
READ(nfic,fmt=
'(A)') ligne
1611 IF( ligne(1:1).EQ.
'#' .OR.
1612 & ligne(1:1).EQ.
'!' .OR.
1613 & ligne(1:1).EQ.
':' )
GOTO 112
1617 113
READ(nfic,fmt=
'(A)') ligne
1618 IF( ligne(1:1).EQ.
'#' .OR.
1619 & ligne(1:1).EQ.
'!' .OR.
1620 & ligne(1:1).EQ.
':' )
GOTO 113
1637 121
READ(nfic,fmt=
'(A)') ligne
1638 IF( ligne(1:1).EQ.
'#' .OR.
1639 & ligne(1:1).EQ.
'!' .OR.
1640 & ligne(1:1).EQ.
':' )
GOTO 121
1641 122
READ(nfic,fmt=
'(A)') ligne
1642 IF( ligne(1:1).EQ.
'#' .OR.
1643 & ligne(1:1).EQ.
'!' .OR.
1644 & ligne(1:1).EQ.
':' )
GOTO 122
1648 123
READ(nfic,fmt=
'(A)') ligne
1649 IF( ligne(1:1).EQ.
'#' .OR.
1650 & ligne(1:1).EQ.
'!' .OR.
1651 & ligne(1:1).EQ.
':' )
GOTO 123
1652 READ(ligne,*)
dummy,
1655 124
READ(nfic,fmt=
'(A)') ligne
1656 IF( ligne(1:1).EQ.
'#' .OR.
1657 & ligne(1:1).EQ.
'!' .OR.
1658 & ligne(1:1).EQ.
':' )
GOTO 124
1659 READ(ligne,*)
dummy,
1688 DOUBLE PRECISION,
INTENT(IN) :: WHEN
1690 INTEGER :: I,J, IERR, NFIC
1691 CHARACTER(LEN=8) :: NFMT
1693 CHARACTER(LEN=16),
POINTER :: CHOIX(:)
1707 WRITE(
lu,*)
'THE TIME REQUESTED IS TOO EARLY COMPARED TO' 1708 WRITE(
lu,*)
'THE PROFIL OF BINARY FILE USED FOR THE METEO' 1709 WRITE(
lu,*)
'(THERMAL PROCESSES)' 1715 WRITE(
lu,*)
'THE TIME REQUESTED IS TOO LATE COMPARED TO' 1716 WRITE(
lu,*)
'THE PROFIL OF BINARY FILE USED FOR THE METEO' 1717 WRITE(
lu,*)
'(THERMAL PROCESSES)' 1735 & (ierr,
'METEO,INIT_FIC_BINARY:GET_DATA_VALUE:CHOIX')
1770 DOUBLE PRECISION,
INTENT(IN) :: WHEN
1772 INTEGER :: J,K, NFIC
1773 CHARACTER(LEN=SIZELIGN) :: LIGNE
1785 WRITE(
lu,*)
'THE TIME REQUESTED IS TOO EARLY COMPARED TO' 1786 WRITE(
lu,*)
'THE PROFIL OF ASCII FILE USED FOR THE METEO' 1787 WRITE(
lu,*)
'(THERMAL PROCESSES)' 1793 WRITE(
lu,*)
'THE TIME REQUESTED IS TOO LATE COMPARED TO' 1794 WRITE(
lu,*)
'THE PROFIL OF ASCII FILE USED FOR THE METEO' 1795 WRITE(
lu,*)
'(THERMAL PROCESSES)' 1810 133
READ(nfic,fmt=
'(A)') ligne
1811 IF( ligne(1:1).EQ.
'#' .OR.
1812 & ligne(1:1).EQ.
'!' .OR.
1813 & ligne(1:1).EQ.
':' )
GOTO 133
1814 READ(ligne,*)
dummy,
subroutine, public dealloc_meteo
subroutine get_mesh_npoin(FFORMAT, FID, TYP_ELEM, NPOIN, IERR)
type(bief_obj), target snow
character(len=16), dimension(2, meteo_maxvalue), target meteo_units
double precision, dimension(:), allocatable timeb
double precision, dimension(:), allocatable xpoina
type(bief_obj), target, public windy
double precision, dimension(:), allocatable valueb0
subroutine get_data_nvar(FFORMAT, FID, NVAR, IERR)
type(bief_obj), target, public tair
type(bief_obj), target, public hrel
subroutine get_data_var_list(FFORMAT, FID, NVAR, VARLIST, UNITLIST, IERR)
double precision, public cst_ray3
double precision, public cst_windy
type(bief_file), dimension(2) meteo_files
subroutine, public point_meteo(FILES, ATMFILEA, ATMFILEB, MESH, IELMT, AVENT, AATMOS, AWATER_QUALITY, AICE)
subroutine interp_windxy(WHEN, VITX, VITY, NPOIN)
subroutine bief_deallobj(OBJ)
integer, parameter triangle_elt_type
subroutine bief_allvec(NAT, VEC, NOM, IELM, DIM2, STATUT, MESH)
double precision, dimension(:), allocatable ypoinb
type(bief_obj), target, public rainfall
integer function find_name(NAME, CHOIX, MAXVALUE)
double precision, public cst_pvap
double precision, dimension(:), allocatable ypoina
integer, parameter meteo_maxvalue
subroutine init_fic_binary(FILES, ATMFILEB)
double precision, dimension(:,:), allocatable valueb1
integer, parameter sizelign
type(bief_obj), target, public windx
subroutine get_data_value(FFORMAT, FID, RECORD, VAR_NAME, RES_VALUE, N, IERR)
double precision, public cst_tair
character(len=16), dimension(2, meteo_maxvalue), target meteo_choix
type(bief_obj), target, public pvap
double precision, dimension(:,:), allocatable valueb2
double precision, public cst_patmos
double precision, dimension(:,:), allocatable valuea1
double precision cst_snow
integer, dimension(6), public meteo_ref_date
subroutine sync_fic_ascii(WHEN)
double precision, public cst_windx
subroutine sync_fic_binary(WHEN)
type(bief_obj), target, public winds
double precision, public alphsd
double precision, dimension(:), allocatable xpoinb
double precision, public meteo_offset
double precision tel_offset2
logical function inclus(C1, C2)
double precision, public cst_cldc
subroutine interp_meteo(WHEN, WHAT, VALEURS, NPOIN)
type(bief_obj), target, public tdew
double precision, public cst_tdew
double precision, dimension(:), allocatable timea
double precision, public cst_visbi
double precision tel_offset
double precision, public cst_windd
type(bief_obj), target, public windd
subroutine, public sync_meteo(WHEN)
double precision function date_mjd2sec(DATE, TIME)
double precision, public alphrd
double precision, public cst_winds
subroutine os(OP, X, Y, Z, C, IOPT, INFINI, ZERO)
type(bief_obj), target, public ray3
type(bief_obj), target, public patmos
double precision, public cst_rainfall
double precision, public modelz
double precision, public cst_hrel
logical, dimension(2) meteo_deja
subroutine init_fic_ascii(FILES, ATMFILEA)
subroutine get_data_time(FFORMAT, FID, RECORD, TIME, IERR)
type(bief_obj), target, public cldc
type(bief_obj), target, public visbi
double precision, dimension(:,:), allocatable valuea2
subroutine get_data_ntimestep(FFORMAT, FID, NTIMESTEP, IERR)
double precision, public windz