diff --git a/00__creation_TestsData_v6.R b/00__creation_TestsData_v6.R deleted file mode 100644 index d9d97a974ddd8f3f49c49f6510a03cc56e13b91b..0000000000000000000000000000000000000000 --- a/00__creation_TestsData_v6.R +++ /dev/null @@ -1,168 +0,0 @@ - - DIR_WD <- "C:/Data/Hydrologie/Codes/airGR_dev/airGR_dev_0.7/"; - - DIR_EXPORT_RDA <- paste(DIR_WD,"files_data/",sep=""); - DIR_EXPORT_TXT <- paste(DIR_WD,"files_misc/airGR_AdvancedExample/Test_DataInput/",sep=""); - - ### DIR_DATA_INPUT_FR <- "C:/Data/Hydrologie/BD/BD_FR_IRSTEA2010/BD_BASSINS/"; - DIR_DATA_INPUT_FR <- paste(DIR_WD,"tmp_data_input_DO_NOT_CIRCULATE/",sep=""); - ### DIR_DATA_INPUT_US <- "C:/Data/Hydrologie/BD/BD_US_MOPEX/BD_MOPEX_430_DLY/"; - DIR_DATA_INPUT_US <- paste(DIR_WD,"tmp_data_input_DO_NOT_CIRCULATE/",sep=""); - - ListBasinCode <- c("J4902010","13337000"); ListBasinDB <- c("FR","US"); LIST_TMP <- list(); - ### ListBasinCode <- c("J4902010","12358500"); ListBasinDB <- c("FR","US"); LIST_TMP <- list(); - ### ListBasinCode <- c("M3340910","12358500"); ListBasinDB <- c("FR","US"); LIST_TMP <- list(); - for(iBasin in 1:length(ListBasinCode)){ - - ##__IMPORT_________________________________________________________________________________#### - BasinCode <- NULL; BasinName <- NULL; BasinArea_km2_NEW <- NULL; HypsoData <- NULL; - TabDatesT <- NULL; TabDatesR <- NULL; TabObsQls <- NULL; TabObsQmm <- NULL; TabObsP <- NULL; TabObsT <- NULL; TabObsE <- NULL; - if(ListBasinDB[iBasin]=="FR"){ - BasinCode <- ListBasinCode[iBasin]; - DIR_DATA_INPUT <- DIR_DATA_INPUT_FR; - BasinCharactFile <- paste(DIR_DATA_INPUT,"00_Liste_BV.txt",sep=""); - HypsoDataFile <- paste(DIR_DATA_INPUT,"_HypsoData_Pierre.txt",sep=""); - ##File_check - DataImportFile <- paste(DIR_DATA_INPUT,BasinCode,"_BV.txt",sep=""); - FileExists <- file.exists(DataImportFile); if(FileExists==FALSE){ print("Error: DataImportFile not found",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - ##_Basin_Characteristics - if(file.exists(BasinCharactFile)){ - TAB_CHARACT <- read.csv2(file=BasinCharactFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - IndBasin <- which(TAB_CHARACT$Code == BasinCode); - if(length(IndBasin)==1){ - BasinName <- TAB_CHARACT$Nom[IndBasin]; - BasinArea_km2 <- as.numeric(TAB_CHARACT$S_CEM[IndBasin]); - BasinArea_km2_NEW <- 10*round(BasinArea_km2/10); - rm(TAB_CHARACT); } ### memory clear - } - if(file.exists(HypsoDataFile)){ - TAB_HYPSO <- read.csv2(file=HypsoDataFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - iR <- which(formatC(TAB_HYPSO$CODE,format="d",width=8,flag="0")==BasinCode); - iC <- which(colnames(TAB_HYPSO)=="Zmin"):which(colnames(TAB_HYPSO)=="Zmax"); - HypsoData <- as.numeric(TAB_HYPSO[iR,iC]); ### min, q01, q02, ... , q98, q99, max - rm(TAB_HYPSO); ### memory clear - } - ##DataSeries - Format <- c("A8","X1","I8","X1","A5","X1","A7","X1","F5.0","X1","F5.0","X1","F5.0","X1","F5.0","X1","F5.0"); - TAB_DATA <- read.fortran(file=DataImportFile,skip=51,header=FALSE,Format); - TabDatesT <- as.character(TAB_DATA[,1]); - TabDatesR <- as.POSIXlt(strptime(TAB_DATA[,1],format="%Y%m%d",tz="UTC")); - TabObsQls <- TAB_DATA[,2]; TabObsQls[TabObsQls<0] <- NA; ### observed runoff (in l/s) - TabObsQm3s <- TabObsQls/1000; ### observed runoff (in m3/s) - TabObsQmm <- TabObsQm3s*86.4/BasinArea_km2_NEW; ### observed runoff (in mm/d) - TabObsP <- TAB_DATA[,5]; ### precipitation (catchment average in mm) - TabObsT <- TAB_DATA[,7]; ### air temp (catchment average in degre C) - TabObsE <- TAB_DATA[,8]; ### potential evap (catchment average in mm/d) - rm(TAB_DATA); ### memory clear - } - if(ListBasinDB[iBasin]=="US"){ - BasinCode <- ListBasinCode[iBasin]; - DIR_DATA_INPUT <- DIR_DATA_INPUT_US; - BasinCharactFile <- paste(DIR_DATA_INPUT,"_List_US_416_LAURENT.txt",sep=""); - HypsoDataFile <- paste(DIR_DATA_INPUT,"_HypsoData_431.txt",sep=""); - ##File_check - DataImportFile <- paste(DIR_DATA_INPUT,BasinCode,".dly",sep=""); - FileExists <- file.exists(DataImportFile); if(FileExists==FALSE){ print("Error: DataImportFile not found",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - ##_Basin_Characteristics - if(file.exists(BasinCharactFile)){ - TAB_CHARACT <- read.csv2(file=BasinCharactFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - IndBasin <- which(formatC(TAB_CHARACT[,1],format="d",width=8,flag="0") == BasinCode); - if(length(IndBasin)==1){ - BasinName <- TAB_CHARACT[IndBasin,11]; - BasinArea_km2 <- as.numeric(TAB_CHARACT[IndBasin,10]); - BasinArea_km2_NEW <- 10*round(BasinArea_km2/10); - rm(TAB_CHARACT); } ### memory clear - } - if(file.exists(HypsoDataFile)){ - TAB_HYPSO <- read.csv2(file=HypsoDataFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - iR <- which(formatC(TAB_HYPSO$CODE,format="d",width=8,flag="0")==BasinCode); - iC <- which(colnames(TAB_HYPSO)=="Zmin"):which(colnames(TAB_HYPSO)=="Zmax"); - HypsoData <- as.numeric(TAB_HYPSO[iR,iC]); ### min, q01, q02, ... , q98, q99, max - rm(TAB_HYPSO); ### memory clear - } - ##DataSeries - Format <- c("A8","F10.0","F10.0","F10.0","F10.0","F10.0"); - TAB_DATA <- read.fortran(file=DataImportFile,skip=0,header=FALSE,Format); - TabDatesT <- TAB_DATA[,1]; TabDatesT <- gsub(pattern=" ",replacement="0",TabDatesT); - TabDatesR <- as.POSIXlt(strptime(TabDatesT,format="%Y%m%d",tz="UTC")); - TabObsQmm <- as.numeric(TAB_DATA[,4]); TabObsQmm[TabObsQmm<0] <- NA; ### observed runoff (in mm) - TabObsQls <- TabObsQmm*BasinArea_km2_NEW/86.4*1000; ### observed runoff (in l/s) - TabObsP <- as.numeric(TAB_DATA[,2]); ### precipitation (catchment average in mm) - TabObsTmin <- as.numeric(TAB_DATA[,6]); ### air temp min (catchment average in degre C) - TabObsTmax <- as.numeric(TAB_DATA[,5]); ### air temp max (catchment average in degre C) - TabObsT <- (TabObsTmin+TabObsTmax)/2; ### air temp (catchment average in degre C) - TabObsE <- as.numeric(TAB_DATA[,3]); ### potential evap (catchment average in mm/d) - rm(TAB_DATA); ### memory clear - } - - - ##__DATA_MODIF___and__BASINDATA_CREATION___________________________________________________#### - ##Name_changes_and_temporal_delay_to_mask_data_origin - if(iBasin==1){ - BasinCode_NEW <- "L0123001"; - BasinName_NEW <- "Banjo River at Paterson Creek"; - Select_OLD <- which(TabDatesR==as.POSIXlt(strptime("01/01/1972",format="%d/%m/%Y",tz="UTC"))):which(TabDatesR==as.POSIXlt(strptime("31/12/2000",format="%d/%m/%Y",tz="UTC"))); - } - if(iBasin==2){ - BasinCode_NEW <- "L0123002"; - BasinName_NEW <- "Snowy River at Orroral Valley Homestead"; - Select_OLD <- which(TabDatesR==as.POSIXlt(strptime("01/01/1972",format="%d/%m/%Y",tz="UTC"))):which(TabDatesR==as.POSIXlt(strptime("31/12/2000",format="%d/%m/%Y",tz="UTC"))); - } - TabDatesR_NEW <- as.POSIXlt(seq(from=as.POSIXlt(strptime("01/01/1984",format="%d/%m/%Y",tz="UTC")),to=as.POSIXlt(strptime("31/12/2012",format="%d/%m/%Y",tz="UTC")),by="days")); - if(identical(TabDatesR$mday[Select_OLD],TabDatesR_NEW$mday)==FALSE){ stop("STOP"); } - ##BasinData - BasinData <- list(); - BasinData$BasinCode <- BasinCode_NEW; - BasinData$BasinName <- BasinName_NEW; - BasinData$BasinArea_km2 <- BasinArea_km2_NEW; - BasinData$HypsoData <- HypsoData; - BasinData$TabDatesT <- format(TabDatesR_NEW,"%Y%m%d"); - BasinData$TabDatesR <- TabDatesR_NEW; - BasinData$TabObsQls <- TabObsQls[Select_OLD]; - BasinData$TabObsQmm <- TabObsQmm[Select_OLD]; - BasinData$TabObsP <- TabObsP[Select_OLD]; - BasinData$TabObsT <- TabObsT[Select_OLD]; - BasinData$TabObsE <- TabObsE[Select_OLD]; - - - ##__SAVE___________________________________________________________________________________#### - LIST_TMP[[iBasin]] <- BasinData; - } - - - ##__EXPORT_________________________________________________________________________________#### - for(iBasin in 1:length(ListBasinCode)){ - BasinData <- LIST_TMP[[iBasin]]; - - ##format_RData - FileExport_R <- paste(DIR_EXPORT_RDA,BasinData$BasinCode,".rda",sep=""); - BasinInfo <- list(BasinCode=BasinData$BasinCode,BasinName=BasinData$BasinName,BasinArea=BasinData$BasinArea_km2,HypsoCurve=BasinData$HypsoData); - BasinObs <- data.frame(DatesR=BasinData$TabDatesR, - P=BasinData$TabObsP,T=BasinData$TabObsT,E=BasinData$TabObsE, - Qls=BasinData$TabObsQls,Qmm=BasinData$TabObsQmm) - save(BasinInfo,BasinObs,file=FileExport_R,compress="xz") - - - - ##format_CSV - FileExport_T <- paste(DIR_EXPORT_TXT,BasinData$BasinCode,".txt" ,sep=""); - TabObsQls_TMP <- BasinData$TabObsQls; TabObsQls_TMP[is.na(TabObsQls_TMP)] <- (-9); TabObsQls_TMP <- round(TabObsQls_TMP); - TabObsQmm_TMP <- BasinData$TabObsQmm; TabObsQmm_TMP[is.na(TabObsQmm_TMP)] <- (-9); - MYSERIES <- data.frame(BasinData$TabDatesT,formatC(TabObsQls_TMP,format="d",width=8),formatC(cbind(TabObsQmm_TMP,BasinData$TabObsP,BasinData$TabObsT,BasinData$TabObsE),format="f",width=6,digits=2)) - write.table(file=FileExport_T,"# -------------------------------------------------------",append=FALSE,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T,paste("# Code ; ",BasinData$BasinCode ,sep="") ,append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T,paste("# Name ; ",BasinData$BasinName ,sep="") ,append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T,paste("# Area (km2) ; ",BasinData$BasinArea_km2,sep="") ,append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T,"# Units ; YYYYMMDD ; l/s ; mm/d ; mm/d ; degC ; mm/d",append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T,"# -------------------------------------------------------",append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T," Date; Q; Qmm; Ptot; Temp; PE" ,append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - write.table(file=FileExport_T,MYSERIES ,sep=";" ,append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE) - } - FileExport_T <- paste(DIR_EXPORT_TXT,"List_HypsoData",".txt" ,sep=""); - write.table(file=FileExport_T,paste(" CODE Zmin",paste(" Z",formatC(1:99,width=2,flag="0"),collapse="",sep="")," Zmax",sep="") ,append=FALSE,col.names=FALSE,row.names=FALSE,quote=FALSE) - for(iBasin in 1:length(ListBasinCode)){ - write.table(file=FileExport_T,paste(LIST_TMP[[iBasin]]$BasinCode,paste(formatC(LIST_TMP[[iBasin]]$HypsoData,format="f",width=5,digits=0),collapse="",sep=""),sep=""),append=TRUE ,col.names=FALSE,row.names=FALSE,quote=FALSE); } - - - - diff --git a/01__airGR_0.7.2__DELandCOPY.bat b/01__airGR_0.7.2__DELandCOPY.bat deleted file mode 100644 index 9f3686866aff063d81fc6b4317d1557253c18411..0000000000000000000000000000000000000000 --- a/01__airGR_0.7.2__DELandCOPY.bat +++ /dev/null @@ -1,50 +0,0 @@ - -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR.Rcheck" -:: rd %DIR1% /s /q -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\src-i386" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\src-x64" -rd %DIR1% /s /q -rd %DIR2% /s /q -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\data\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\inst\" -SET DIR3="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\man\" -SET DIR4="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\R\" -SET DIR5="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\src\" -SET DIR6="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\tests\" -DEL %DIR1%*.* /q -DEL %DIR2%*.* /q -DEL %DIR3%*.* /q -DEL %DIR4%*.* /q -DEL %DIR5%*.* /q -DEL %DIR6%*.* /q -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_data" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\data" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_R" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\R" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_src" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\src" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_tests" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\tests" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\" -SET FIL1="DESCRIPTION" -SET FIL2="DESCRIPTION" -COPY %DIR1%%FIL1% %DIR2%%FIL2% /Y -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR_package\man\" -SET FIL1="airGR-package.Rd" -SET FIL2="airGR-package.Rd" -COPY %DIR1%%FIL1% %DIR2%%FIL2% /Y -::----------------------------------------------------------------------------- - -:: pause - diff --git a/03__airGR_0.7.2_PLUS__DELandCOPY.bat b/03__airGR_0.7.2_PLUS__DELandCOPY.bat deleted file mode 100644 index 1fa2a234e0067c66cf770306f0bd182dbed2d08c..0000000000000000000000000000000000000000 --- a/03__airGR_0.7.2_PLUS__DELandCOPY.bat +++ /dev/null @@ -1,60 +0,0 @@ - -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR.Rcheck" -:: rd %DIR1% /s /q -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\src-i386" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\src-x64" -rd %DIR1% /s /q -rd %DIR2% /s /q -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\data\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\inst\" -SET DIR3="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\man\" -SET DIR4="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\R\" -SET DIR5="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\src\" -SET DIR6="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\tests\" -DEL %DIR1%*.* /q -DEL %DIR2%*.* /q -DEL %DIR3%*.* /q -DEL %DIR4%*.* /q -DEL %DIR5%*.* /q -DEL %DIR6%*.* /q -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_data" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\data" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_R" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\R" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_src" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\src" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_tests" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\tests" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_R_PLUS" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\R" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_src_PLUS" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\src" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_tests_PLUS" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\tests" -..\..\robocopy.exe %DIR1% %DIR2% /E /TEE -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\" -SET FIL1="DESCRIPTION_PLUS" -SET FIL2="DESCRIPTION" -COPY %DIR1%%FIL1% %DIR2%%FIL2% /Y -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR_package\man\" -SET FIL1="airGR-package.Rd" -SET FIL2="airGR-package.Rd" -COPY %DIR1%%FIL1% %DIR2%%FIL2% /Y -::----------------------------------------------------------------------------- - -:: pause - diff --git a/05__misc_COPY.bat b/05__misc_COPY.bat deleted file mode 100644 index 012d06592f76dcaee1b3d611447b04172acd84ed..0000000000000000000000000000000000000000 --- a/05__misc_COPY.bat +++ /dev/null @@ -1,43 +0,0 @@ - -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\" -SET DIR3="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\" -SET FIL0="ReadMe.txt" -COPY %DIR1%%FIL0% %DIR2%%FIL0% /Y -COPY %DIR1%%FIL0% %DIR3%%FIL0% /Y -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\" -SET DIR3="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\" -SET FIL0="ReleaseNotes.txt" -COPY %DIR1%%FIL0% %DIR2%%FIL0% /Y -COPY %DIR1%%FIL0% %DIR3%%FIL0% /Y -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\airGR.Rcheck\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\" -SET FIL0="airGR-manual.pdf" -COPY %DIR1%%FIL0% %DIR2%%FIL0% /Y -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\airGR.Rcheck\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\" -SET FIL0="airGR-manual.pdf" -COPY %DIR1%%FIL0% %DIR2%%FIL0% /Y -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\" -SET DIR3="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\" -SET FIL1="14-07-09 airGR_0.7 Description_FR.pdf" -SET FIL2="airGR-description-complement-FR.pdf" -COPY %DIR1%%FIL1% %DIR2%%FIL2% /Y -COPY %DIR1%%FIL1% %DIR3%%FIL2% /Y -::----------------------------------------------------------------------------- -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2\files_misc\" -SET DIR2="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\" -SET DIR3="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS\" -SET FIL0="airGR_AdvancedExample.zip" -COPY %DIR1%%FIL0% %DIR2%%FIL0% /Y -COPY %DIR1%%FIL0% %DIR3%%FIL0% /Y -::----------------------------------------------------------------------------- - -:: pause - diff --git a/06__MIRROR_COPY_RESEAU.bat b/06__MIRROR_COPY_RESEAU.bat deleted file mode 100644 index 957f628ff202d0c0d52f83a7e2ff6ede279a1df7..0000000000000000000000000000000000000000 --- a/06__MIRROR_COPY_RESEAU.bat +++ /dev/null @@ -1,62 +0,0 @@ -@echo off -echo - - -echo --------------------------------------------------------- -echo - Copie miroir de repertoires avec ROBOCOPY - -echo --------------------------------------------------------- -echo - - -echo - ATTENTION : Ecrasement des fichiers - -echo - - -:: pause -:: pause - - -:: :: ------------------------------------------------------------------------------ -:: SET ENTREE="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.6.2" -:: SET SORTIE="\\anasdata.cemagref.fr\Projets\hban\partage\laurent.coron\Codes\airGR_0.6.2" -:: ..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE /LOG:%DIR_EXE%MIRROR_COPY_A_B.log -:: :: ------------------------------------------------------------------------------ -:: SET ENTREE="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.6.2\airGR_0.6_GettingStarted" -:: SET SORTIE="C:\Data\MyWorkingDir\airGR_0.6_GettingStarted" -:: ..\..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE /LOG:%DIR_EXE%MIRROR_COPY_A_B.log -:: :: ------------------------------------------------------------------------------ -:: SET ENTREE="C:\Data\MyWorkingDir\airGR_0.6_GettingStarted\Package_Install_Zip" -:: SET SORTIE="\\anasdata.cemagref.fr\Projets\hban\Partage\laurent.coron\airGR_GettingStarted\Package_Install_Zip" -:: ..\..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE /LOG:%DIR_EXE%MIRROR_COPY_A_B.log -:: :: ------------------------------------------------------------------------------ -:: SET ENTREE="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.1" -:: SET SORTIE="\\anasdata.cemagref.fr\Projets\hban\partage\laurent.coron\Codes\airGR_0.7.1" -:: ..\..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE -:: :: ------------------------------------------------------------------------------ - - -:: ------------------------------------------------------------------------------ -SET DIR1="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2\" -SET DIR2="\\anasdata.cemagref.fr\Projets\hban\partage\laurent.coron\airGR\" -SET FIL1="airGR_0.7.2.tar.gz" -SET FIL2="airGR_0.7.2.zip" -SET FIL3="airGR_AdvancedExample.zip" -SET FIL4="airGR-description-complement-FR.pdf" -SET FIL5="airGR-manual.pdf" -SET FIL6="ReadMe.txt" -SET FIL7="ReleaseNotes.txt" -COPY %DIR1%%FIL1% %DIR2%%FIL1% -COPY %DIR1%%FIL2% %DIR2%%FIL2% -COPY %DIR1%%FIL3% %DIR2%%FIL3% -COPY %DIR1%%FIL4% %DIR2%%FIL4% -COPY %DIR1%%FIL5% %DIR2%%FIL5% -COPY %DIR1%%FIL6% %DIR2%%FIL6% -COPY %DIR1%%FIL7% %DIR2%%FIL7% -:: ------------------------------------------------------------------------------ -SET ENTREE="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2" -SET SORTIE="\\anasdata.cemagref.fr\Projets\hban\partage\laurent.coron\Codes\airGR_0.7.2" -..\..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE -:: ------------------------------------------------------------------------------ -SET ENTREE="C:\Data\Hydrologie\Codes\airGR_dev\airGR_0.7.2_PLUS" -SET SORTIE="\\anasdata.cemagref.fr\Projets\hban\partage\laurent.coron\Codes\airGR_0.7.2_PLUS" -..\..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE -:: ------------------------------------------------------------------------------ -SET ENTREE="C:\Data\Hydrologie\Codes\airGR_dev\airGR_dev_0.7.2" -SET SORTIE="\\anasdata.cemagref.fr\Projets\hban\partage\laurent.coron\Codes\airGR_dev_0.7.2" -..\..\robocopy.exe %ENTREE% %SORTIE% /MIR /XO /R:2 /TEE -:: ------------------------------------------------------------------------------ - diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000000000000000000000000000000000000..1b33bf57fc4f57815e8082cbcb7bade1cd75bc63 --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,18 @@ +Package: airGR +Type: Package +Title: Modelling tools used at Irstea-HBAN (France), including GR4J, + GR5J, GR6J and CemaNeige +Version: 0.7.4 +Date: 2014-11-01 +Author: Laurent CORON +Maintainer: Laurent CORON <laurent.coron@irstea.fr>, Olivier DELAIGUE + <olivier.delaigue@irstea.fr> +Depends: R (>= 3.0.1) +Description: This package brings into R the hydrological modelling tools used + at Irstea-HBAN (France). The package includes several conceptual + rainfall-runoff models and the associated functions for their calibration + and evaluation,including GR4J, GR5J, GR6J and CemaNeige. Use help(airGR) + for package description. +License: GPL-2 +Built: R 3.0.2; i386-w64-mingw32; 2014-11-25 22:06:41 UTC; windows +Archs: i386 diff --git a/INDEX b/INDEX new file mode 100644 index 0000000000000000000000000000000000000000..44daa535d98f406b34b3b1a6ad0e9fe743d3a39f --- /dev/null +++ b/INDEX @@ -0,0 +1,56 @@ +BasinInfo Data sample: characteristics of a fictional + catchment (L0123001, L0123002 or L0123003) +BasinObs Data sample: time series of observations of a + fictional catchment (L0123001, L0123002 or + L0123003) +Calibration Calibration algorithm which minimises an error + criterion on the model outputs using the + provided functions +Calibration_HBAN Calibration algorithm which minimises the error + criterion using the Irstea-HBAN procedure +Calibration_optim Calibration algorithm which minimises the error + criterion using the stats::optim function +CreateCalibOptions Creation of the CalibOptions object required to + the Calibration functions +CreateInputsCrit Creation of the InputsCrit object required to + the ErrorCrit functions +CreateInputsModel Creation of the InputsModel object required to + the RunModel functions +CreateRunOptions Creation of the RunOptions object required to + the RunModel functions +DataAltiExtrapolation_HBAN + Altitudinal extrapolation of precipitation and + temperature series +ErrorCrit Error criterion using the provided function +ErrorCrit_KGE Error criterion based on the KGE formula +ErrorCrit_KGE2 Error criterion based on the KGE' formula +ErrorCrit_NSE Error criterion based on the NSE formula +ErrorCrit_RMSE Error criterion based on the RMSE +PEdaily_Oudin Computation of daily series of potential + evapotranspiration with Oudin's formula +RunModel Run with the provided hydrological model + function +RunModel_CemaNeige Run with the CemaNeige snow module +RunModel_CemaNeigeGR4J + Run with the CemaNeigeGR4J hydrological model +RunModel_CemaNeigeGR5J + Run with the CemaNeigeGR5J hydrological model +RunModel_CemaNeigeGR6J + Run with the CemaNeigeGR6J hydrological model +RunModel_GR4J Run with the GR4J hydrological model +RunModel_GR5J Run with the GR5J hydrological model +RunModel_GR6J Run with the GR6J hydrological model +TransfoParam Transformation of the parameters using the + provided function +TransfoParam_CemaNeige + Transformation of the parameters from the + CemaNeige module +TransfoParam_GR4J Transformation of the parameters from the GR4J + model +TransfoParam_GR5J Transformation of the parameters from the GR5J + model +TransfoParam_GR6J Transformation of the parameters from the GR6J + model +airGR Modelling tools used at Irstea-HBAN (France), + including GR4J, GR5J, GR6J and CemaNeige +plot_OutputsModel Default preview of model outputs diff --git a/MD5 b/MD5 new file mode 100644 index 0000000000000000000000000000000000000000..1f4bcc9ae2c2fee81b7216855c4d72551d50e04d --- /dev/null +++ b/MD5 @@ -0,0 +1,23 @@ +dc740898c129f840d12d222a2ead106d *DESCRIPTION +eacf8601006227c3c02bcfaf97cbdc0e *INDEX +f06c85e4eb89b267cfb165274067c4e8 *Meta/Rd.rds +32a1c5de93e3b6254dbd86b07ba073ba *Meta/data.rds +e5a11fd9f38a3bf1d0dadd7840a739f7 *Meta/hsearch.rds +a1d82a0c2244a09e38104c219298794a *Meta/links.rds +3b9ab8f86ffaa46a406cb5352028ef27 *Meta/nsInfo.rds +7ecce7e1cc77345bfed1ac9c9b04e61d *Meta/package.rds +52ca795872157b1a3e2b6f6bfbc480e0 *NAMESPACE +ebf0fc819595d631b8bf280c4b049940 *R/airGR +fca9fb51c6dd9ac775dbba00d895d0a7 *R/airGR.rdb +9362eca21ff55ff6e7866a8653c5371e *R/airGR.rdx +63a6f712183a364edfac4df460e83c4b *data/L0123001.rda +aa6993b50e8a59fb4b37c8eb92df6760 *data/L0123002.rda +cd27feeac8c19aad0c511b33010ea9ed *data/L0123003.rda +c067204cb6e5b9db41af38aa96b519b0 *help/AnIndex +a55d619bb922901e93a88bc0cd44fa4a *help/airGR.rdb +efdee1c7837ed1b695a529e17fa09725 *help/airGR.rdx +228f1599718d0523f25967469dcfbb61 *help/aliases.rds +d312909d7d245fe60010b0b763b00f13 *help/paths.rds +592202faa3a70495a0bf299af2596ac4 *html/00Index.html +444535b9cb76ddff1bab1e1865a3fb14 *html/R.css +0b6e15e196f42c1f59b5b95fc0fad2b9 *libs/i386/airGR.dll diff --git a/Meta/Rd.rds b/Meta/Rd.rds new file mode 100644 index 0000000000000000000000000000000000000000..8bf1bca97a0b3411a2e9ab9b50096efe7101fcbf Binary files /dev/null and b/Meta/Rd.rds differ diff --git a/Meta/data.rds b/Meta/data.rds new file mode 100644 index 0000000000000000000000000000000000000000..216de635f65820f8e7827f455b266dfe5a43f744 Binary files /dev/null and b/Meta/data.rds differ diff --git a/Meta/hsearch.rds b/Meta/hsearch.rds new file mode 100644 index 0000000000000000000000000000000000000000..2c0c5a9b235d2df56a725f881ae7d3fa14dbed3d Binary files /dev/null and b/Meta/hsearch.rds differ diff --git a/Meta/links.rds b/Meta/links.rds new file mode 100644 index 0000000000000000000000000000000000000000..ffb9eaf33fcee20c0f78f728756d0c2bfa881145 Binary files /dev/null and b/Meta/links.rds differ diff --git a/Meta/nsInfo.rds b/Meta/nsInfo.rds new file mode 100644 index 0000000000000000000000000000000000000000..6ff9d4fdd53e86e1ae97491c61469e30994ab991 Binary files /dev/null and b/Meta/nsInfo.rds differ diff --git a/Meta/package.rds b/Meta/package.rds new file mode 100644 index 0000000000000000000000000000000000000000..b57d7c148cdebf3be368bf036ad0ae0a7b3d8f02 Binary files /dev/null and b/Meta/package.rds differ diff --git a/NAMESPACE b/NAMESPACE new file mode 100644 index 0000000000000000000000000000000000000000..67c5192a98a715a51ff5dd3c4a2f9c00b1814f9b --- /dev/null +++ b/NAMESPACE @@ -0,0 +1,31 @@ +# Generated by roxygen2 (4.0.1): do not edit by hand + +export(Calibration) +export(Calibration_HBAN) +export(Calibration_optim) +export(CreateCalibOptions) +export(CreateInputsCrit) +export(CreateInputsModel) +export(CreateRunOptions) +export(DataAltiExtrapolation_HBAN) +export(ErrorCrit) +export(ErrorCrit_KGE) +export(ErrorCrit_KGE2) +export(ErrorCrit_NSE) +export(ErrorCrit_RMSE) +export(PEdaily_Oudin) +export(RunModel) +export(RunModel_CemaNeige) +export(RunModel_CemaNeigeGR4J) +export(RunModel_CemaNeigeGR5J) +export(RunModel_CemaNeigeGR6J) +export(RunModel_GR4J) +export(RunModel_GR5J) +export(RunModel_GR6J) +export(TransfoParam) +export(TransfoParam_CemaNeige) +export(TransfoParam_GR4J) +export(TransfoParam_GR5J) +export(TransfoParam_GR6J) +export(plot_OutputsModel) +useDynLib(airgr) diff --git a/R/airGR b/R/airGR new file mode 100644 index 0000000000000000000000000000000000000000..3b65e3cbb872050f5dbcfacd3f2057d52d28ba0e --- /dev/null +++ b/R/airGR @@ -0,0 +1,27 @@ +# File share/R/nspackloader.R +# Part of the R package, http://www.R-project.org +# +# Copyright (C) 1995-2012 The R Core Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# A copy of the GNU General Public License is available at +# http://www.r-project.org/Licenses/ + +local({ + info <- loadingNamespaceInfo() + pkg <- info$pkgname + ns <- .getNamespace(as.name(pkg)) + if (is.null(ns)) + stop("cannot find namespace environment for ", pkg, domain = NA); + dbbase <- file.path(info$libname, pkg, "R", pkg) + lazyLoad(dbbase, ns, filter = function(n) n != ".__NAMESPACE__.") +}) diff --git a/R/airGR.rdb b/R/airGR.rdb new file mode 100644 index 0000000000000000000000000000000000000000..30a4c85c4ec815191a24516daecd131930e8b65d Binary files /dev/null and b/R/airGR.rdb differ diff --git a/R/airGR.rdx b/R/airGR.rdx new file mode 100644 index 0000000000000000000000000000000000000000..cde25a5c4ef6627a5f4cdee1bd62ad9250dd06b9 Binary files /dev/null and b/R/airGR.rdx differ diff --git a/airgr.Rproj b/airgr.Rproj deleted file mode 100644 index 8e3c2ebc99e2e337f7d69948b93529a437590b27..0000000000000000000000000000000000000000 --- a/airgr.Rproj +++ /dev/null @@ -1,13 +0,0 @@ -Version: 1.0 - -RestoreWorkspace: Default -SaveWorkspace: Default -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: Sweave -LaTeX: pdfLaTeX diff --git a/data/L0123001.rda b/data/L0123001.rda new file mode 100644 index 0000000000000000000000000000000000000000..ee66ca49217b0e709d4d76aba42589bb2d3dec1a Binary files /dev/null and b/data/L0123001.rda differ diff --git a/files_data/L0123002.rda b/data/L0123002.rda similarity index 65% rename from files_data/L0123002.rda rename to data/L0123002.rda index 15b628deac8f1f6e2401e0d3e2b21262075ab700..21bc6db0876a4880d231f648fff979e41dd227f5 100644 Binary files a/files_data/L0123002.rda and b/data/L0123002.rda differ diff --git a/data/L0123003.rda b/data/L0123003.rda new file mode 100644 index 0000000000000000000000000000000000000000..ad7bec92da57e835fe23f8082034446c54bbb51a Binary files /dev/null and b/data/L0123003.rda differ diff --git a/files_R/BasinData.R b/files_R/BasinData.R deleted file mode 100644 index 9cf56ea1a359d62900c470aa43af97525fb28266..0000000000000000000000000000000000000000 --- a/files_R/BasinData.R +++ /dev/null @@ -1,41 +0,0 @@ -#' @name BasinInfo -#' @docType data -#' @title Data sample: characteristics of a fictional catchment (either L0123001 or L0123002) -#' @description -#' R-object containing the code, station's name, area and hypsometric curve of the catchment. -#' @encoding UTF-8 -#' @format -#' List named 'BasinInfo' containing -#' \itemize{ -#' \item two strings: catchment's code and station's name -#' \item one float: catchment's area in km2 -#' \item one numeric vector: catchment's hypsometric curve (min, quantiles 01 to 99 and max) in metres -#' } -#' @examples -#' require(airGR) -#' data(L0123001) -#' str(BasinInfo) - -NULL - - -#' @name BasinObs -#' @docType data -#' @title Data sample: time series of observations of a fictional catchment (either L0123001 or L0123002) -#' @description -#' R-object containing the times series of precipitation, temperature, potential evapotranspiration and discharges. \cr -#' Times series are at the daily time-step for use with daily models such as GR4J, GR5J, GR6J, CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J. -#' @encoding UTF-8 -#' @format -#' Data frame named 'BasinObs' containing -#' \itemize{ -#' \item one POSIXlt vector: time series dates in the POSIXlt format -#' \item five numeric vectors: time series of catchment average precipitation [mm], catchment average air temperature [degC], catchment average potential evapotranspiration [mm], outlet discharge [l/s], outlet discharge [mm] -#' } -#' @examples -#' require(airGR) -#' data(L0123001) -#' str(BasinObs) - -NULL - diff --git a/files_R/Calibration.R b/files_R/Calibration.R deleted file mode 100644 index 874740b53c95b48dd2dee4c936ef8ffaee3aa460..0000000000000000000000000000000000000000 --- a/files_R/Calibration.R +++ /dev/null @@ -1,29 +0,0 @@ -#************************************************************************************************* -#' Calibration algorithm which minimises the error criterion using the provided functions. \cr -#************************************************************************************************* -#' @title Calibration algorithm which minimises an error criterion on the model outputs using the provided functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{Calibration_HBAN}}, \code{\link{Calibration_optim}}, -#' \code{\link{RunModel}}, \code{\link{ErrorCrit}}, \code{\link{TransfoParam}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, -#' \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. -#' @example tests/example_Calibration.R -#' @export -#' @encoding UTF-8 -#_FunctionInputs__________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param CalibOptions [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param FUN_CALIB (optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] see \code{\link{Calibration_HBAN}} or \code{\link{Calibration_optim}} -#************************************************************************************************** -Calibration <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=NULL,quiet=FALSE){ - return( FUN_CALIB(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO,quiet=quiet) ) -} - diff --git a/files_R/Calibration_HBAN.R b/files_R/Calibration_HBAN.R deleted file mode 100644 index 098fc5c146112cf90e47461f1b7e8fbc92a60e87..0000000000000000000000000000000000000000 --- a/files_R/Calibration_HBAN.R +++ /dev/null @@ -1,401 +0,0 @@ -#************************************************************************************************* -#' Calibration algorithm which minimises the error criterion. \cr -#' \cr -#' The algorithm is based on a local search procedure. -#' First, a screening is performed using either a rough predefined grid or a list of parameter sets -#' and then a simple steepest descent local search algorithm is performed. -#' -#' A screening is first performed either from a rough predefined grid (considering various initial -#' values for each paramete) or from a list of initial parameter sets. \cr -#' The best set identified in this screening is then used as a starting point for the steepest -#' descent local search algorithm. \cr -#' For this search, the parameters are used in a transformed version, to obtain uniform -#' variation ranges (and thus a similar pace), while the true ranges might be quite different. \cr -#' At each iteration, we start from a parameter set of NParam values (NParam being the number of -#' free parameters of the chosen hydrological model) and we determine the 2*NParam-1 new candidates -#' by changing one by one the different parameters (+/- pace). \cr -#' All these candidates are tested and the best one kept to be the starting point for the next -#' iteration. At the end of each iteration, the pace is either increased or decreased to adapt -#' the progression speed. A diagonal progress can occasionally be done. \cr -#' The calibration algorithm stops when the pace becomes too small. \cr -#' -#' To optimise the exploration of the parameter space, transformation functions are used to convert -#' the model parameters. This is done using the TransfoParam functions. -#************************************************************************************************* -#' @title Calibration algorithm which minimises the error criterion using the Irstea-HBAN procedure -#' @author Laurent Coron (August 2013) -#' @references -#' Michel, C. (1991), -#' Hydrologie appliquée aux petits bassins ruraux, Hydrology handout (in French), Cemagref, Antony, France. -#' @example tests/example_Calibration_HBAN.R -#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_optim}}, -#' \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, -#' \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param CalibOptions [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$ParamFinalR } \tab [numeric] parameter set obtained at the end of the calibration \cr -#' \emph{$CritFinal } \tab [numeric] error criterion obtained at the end of the calibration \cr -#' \emph{$NIter } \tab [numeric] number of iterations during the calibration \cr -#' \emph{$NRuns } \tab [numeric] number of model runs done during the calibration \cr -#' \emph{$HistParamR } \tab [numeric] table showing the progression steps in the search for optimal set: parameter values \cr -#' \emph{$HistCrit } \tab [numeric] table showing the progression steps in the search for optimal set: criterion values \cr -#' \emph{$MatBoolCrit } \tab [boolean] table giving the requested and actual time steps when the model is calibrated \cr -#' \emph{$CritName } \tab [character] name of the calibration criterion \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' } -#************************************************************************************************** -Calibration_HBAN <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){ - - -##_____Arguments_check_____________________________________________________________________ - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); } - if(inherits(CalibOptions,"HBAN")==FALSE){ stop("CalibOptions must be of class 'HBAN' if Calibration_HBAN is used \n"); return(NULL); } - - - ##_check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - if(identical(FUN_MOD,RunModel_GR4J )){ FUN_TRANSFO <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J )){ FUN_TRANSFO <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J )){ FUN_TRANSFO <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ FUN_TRANSFO <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; } - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[, 1:(NParam-2)],Direction); - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam ],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL); } - } - - ##_variables_initialisation - ParamFinalR <- NULL; ParamFinalT <- NULL; CritFinal <- NULL; - NRuns <- 0; NIter <- 0; - if("StartParamDistrib" %in% names(CalibOptions)){ PrefilteringType <- 2; } else { PrefilteringType <- 1; } - if(PrefilteringType==1){ NParam <- ncol(CalibOptions$StartParamList); } - if(PrefilteringType==2){ NParam <- ncol(CalibOptions$StartParamDistrib); } - if(NParam>20){ stop("Calibration_HBAN can handle a maximum of 20 parameters \n"); return(NULL); } - HistParamR <- matrix(NA,nrow=500*NParam,ncol=NParam); - HistParamT <- matrix(NA,nrow=500*NParam,ncol=NParam); - HistCrit <- matrix(NA,nrow=500*NParam,ncol=1); - CritName <- NULL; - CritBestValue <- NULL; - Multiplier <- NULL; - CritOptim <- +99999999999999999999; - ##_temporary_change_of_Outputs_Sim - RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal; ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration - - - -##_____Parameter_Grid_Screening____________________________________________________________ - - - ##Definition_of_the_function_creating_all_possible_parameter_sets_from_different_values_for_each_parameter - ProposeCandidatesGrid <- function(DistribParam){ - ##Managing_matrix_sizes - Nvalmax <- nrow(DistribParam); - NParam <- ncol(DistribParam); - ##we_add_columns_to_MatDistrib_until_it_has_20_columns - DistribParam2 <- matrix(NA,nrow=Nvalmax,ncol=20); - DistribParam2[1:Nvalmax,1:NParam] <- DistribParam; - ##we_check_the_number_of_values_to_test_for_each_param - NbDistrib <- rep(1,20); - for(iC in 1:20){ NbDistrib[iC] <- max( 1 , Nvalmax-sum(is.na(DistribParam2[,iC])) ); } - ##Loop_on_the_various_values_to_test ###(if 4 param and 3 values for each => 3^4 sets) - ##NB_we_always_do_20_loops ###which_is_here_the_max_number_of_param_that_can_be_optimised - VECT <- NULL; - for(iL01 in 1:NbDistrib[01]){ for(iL02 in 1:NbDistrib[02]){ for(iL03 in 1:NbDistrib[03]){ for(iL04 in 1:NbDistrib[04]){ for(iL05 in 1:NbDistrib[05]){ - for(iL06 in 1:NbDistrib[06]){ for(iL07 in 1:NbDistrib[07]){ for(iL08 in 1:NbDistrib[08]){ for(iL09 in 1:NbDistrib[09]){ for(iL10 in 1:NbDistrib[10]){ - for(iL11 in 1:NbDistrib[11]){ for(iL12 in 1:NbDistrib[12]){ for(iL13 in 1:NbDistrib[13]){ for(iL14 in 1:NbDistrib[14]){ for(iL15 in 1:NbDistrib[15]){ - for(iL16 in 1:NbDistrib[16]){ for(iL17 in 1:NbDistrib[17]){ for(iL18 in 1:NbDistrib[18]){ for(iL19 in 1:NbDistrib[19]){ for(iL20 in 1:NbDistrib[20]){ - VECT <- c(VECT, - DistribParam2[iL01,01],DistribParam2[iL02,02],DistribParam2[iL03,03],DistribParam2[iL04,04],DistribParam2[iL05,05], - DistribParam2[iL06,06],DistribParam2[iL07,07],DistribParam2[iL08,08],DistribParam2[iL09,09],DistribParam2[iL10,10], - DistribParam2[iL11,11],DistribParam2[iL12,12],DistribParam2[iL13,13],DistribParam2[iL14,14],DistribParam2[iL15,15], - DistribParam2[iL16,16],DistribParam2[iL17,17],DistribParam2[iL18,18],DistribParam2[iL19,19],DistribParam2[iL20,20]); - } } } } } - } } } } } - } } } } } - } } } } } - MAT <- matrix(VECT,ncol=20,byrow=TRUE)[,1:NParam]; - if(is.matrix(MAT)==FALSE){ MAT <- cbind(MAT); } - Output <- NULL; - Output$NewCandidates <- MAT; - return(Output); - } - - - ##Creation_of_new_candidates_______________________________________________ - if(PrefilteringType==1){ CandidatesParamR <- CalibOptions$StartParamList; } - if(PrefilteringType==2){ DistribParamR <- CalibOptions$StartParamDistrib; DistribParamR[,!CalibOptions$OptimParam] <- NA; CandidatesParamR <- ProposeCandidatesGrid(DistribParamR)$NewCandidates; } - ##Remplacement_of_non_optimised_values_____________________________________ - CandidatesParamR <- apply(CandidatesParamR,1,function(x){ x[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; return(x); }); - if(NParam>1){ CandidatesParamR <- t(CandidatesParamR); } else { CandidatesParamR <- cbind(CandidatesParamR); } - - ##Loop_to_test_the_various_candidates______________________________________ - iNewOptim <- 0; - Ncandidates <- nrow(CandidatesParamR); - if(!quiet & Ncandidates>1){ - if(PrefilteringType==1){ cat(paste("\t List-Screening in progress (",sep="")); } - if(PrefilteringType==2){ cat(paste("\t Grid-Screening in progress (",sep="")); } - cat("0%"); - } - for(iNew in 1:nrow(CandidatesParamR)){ - if(!quiet & Ncandidates>1){ - for(k in c(2,4,6,8)){ if(iNew==round(k/10*Ncandidates)){ cat(paste(" ",10*k,"%",sep="")); } } - } - ##Model_run - Param <- CandidatesParamR[iNew,]; - OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param); - ##Calibration_criterion_computation - OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel); - if(!is.na(OutputsCrit$CritValue)){ if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){ - CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier; - iNewOptim <- iNew; - } } - ##Storage_of_crit_info - if(is.null(CritName) | is.null(CritBestValue) | is.null(Multiplier)){ - CritName <- OutputsCrit$CritName; - CritBestValue <- OutputsCrit$CritBestValue; - Multiplier <- OutputsCrit$Multiplier; - } - } - if(!quiet & Ncandidates>1){ cat(" 100%) \n"); } - - - ##End_of_first_step_Parameter_Screening____________________________________ - ParamStartR <- CandidatesParamR[iNewOptim,]; if(!is.matrix(ParamStartR)){ ParamStartR <- matrix(ParamStartR,nrow=1); } - ParamStartT <- FUN_TRANSFO(ParamStartR,"RT"); - CritStart <- CritOptim; - NRuns <- NRuns+nrow(CandidatesParamR); - if(!quiet){ - if(Ncandidates> 1){ cat(paste("\t Screening completed (",NRuns," runs): \n",sep="")); } - if(Ncandidates==1){ cat(paste("\t Starting point for steepest-descent local search: \n",sep="")); } - cat(paste("\t Param = ",paste(formatC(ParamStartR,format="f",width=8,digits=3),collapse=" , "),"\n",sep="")); - cat(paste("\t Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritStart*Multiplier,format="f",digits=4),"\n",sep="")); - } - ##Results_archiving________________________________________________________ - HistParamR[1,] <- ParamStartR; - HistParamT[1,] <- ParamStartT; - HistCrit[1,] <- CritStart; - - - - -##_____Steepest_Descent_Local_Search_______________________________________________________ - - - ##Definition_of_the_function_creating_new_parameter_sets_through_a_step_by_step_progression_procedure - ProposeCandidatesLoc <- function(NewParamOptimT,OldParamOptimT,RangesT,OptimParam,Pace){ - ##Format_checking - if(nrow(NewParamOptimT)!=1 | nrow(OldParamOptimT)!=1){ stop("each input set must be a matrix of one single line \n"); return(NULL); } - if(ncol(NewParamOptimT)!=ncol(OldParamOptimT) | ncol(NewParamOptimT)!=length(OptimParam)){ stop("each input set must have the same number of values \n"); return(NULL); } - ##Proposal_of_new_parameter_sets ###(local search providing 2*NParam-1 new sets) - NParam <- ncol(NewParamOptimT); - VECT <- NULL; - for(I in 1:NParam){ - ##We_check_that_the_current_parameter_should_indeed_be_optimised - if(OptimParam[I]==TRUE){ - for(J in 1:2){ - Sign <- 2*J-3; #Sign can be equal to -1 or +1 - ##We_define_the_new_potential_candidate - Add <- TRUE; - PotentialCandidateT <- NewParamOptimT; - PotentialCandidateT[1,I] <- NewParamOptimT[I]+Sign*Pace; - ##If_we_exit_the_range_of_possible_values_we_go_back_on_the_boundary - if(PotentialCandidateT[1,I]<RangesT[1,I]){ PotentialCandidateT[1,I] <- RangesT[1,I]; } - if(PotentialCandidateT[1,I]>RangesT[2,I]){ PotentialCandidateT[1,I] <- RangesT[2,I]; } - ##We_check_the_set_is_not_outside_the_range_of_possible_values - if( NewParamOptimT[I]==RangesT[1,I] & Sign<0 ){ Add <- FALSE; } - if( NewParamOptimT[I]==RangesT[2,I] & Sign>0 ){ Add <- FALSE; } - ##We_check_that_this_set_has_not_been_tested_during_the_last_iteration - if(identical(PotentialCandidateT,OldParamOptimT)){ Add <- FALSE; } - ##We_add_the_candidate_to_our_list - if(Add==TRUE){ VECT <- c(VECT,PotentialCandidateT); } - } - } - } - Output <- NULL; - Output$NewCandidatesT <- matrix(VECT,ncol=NParam,byrow=TRUE); - return(Output); - } - - - ##Initialisation_of_variables - if(!quiet){ - cat("\t Steepest-descent local search in progress \n"); - } - Pace <- 0.64; - PaceDiag <- rep(0,NParam); - CLG <- 0.7^(1/NParam); - Compt <- 0; - CritOptim <- CritStart; - ##Conversion_of_real_parameter_values - RangesR <- CalibOptions$SearchRanges; - RangesT <- FUN_TRANSFO(RangesR,"RT"); - NewParamOptimT <- ParamStartT; - OldParamOptimT <- ParamStartT; - - - ##START_LOOP_ITER_________________________________________________________ - for(ITER in 1:(100*NParam)){ - - - ##Exit_loop_when_Pace_becomes_too_small___________________________________ - if(Pace<0.01){ break; } - - - ##Creation_of_new_candidates______________________________________________ - CandidatesParamT <- ProposeCandidatesLoc(NewParamOptimT,OldParamOptimT,RangesT,CalibOptions$OptimParam,Pace)$NewCandidatesT; - CandidatesParamR <- FUN_TRANSFO(CandidatesParamT,"TR"); - ##Remplacement_of_non_optimised_values_____________________________________ - CandidatesParamR <- apply(CandidatesParamR,1,function(x){ x[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; return(x); }); - if(NParam>1){ CandidatesParamR <- t(CandidatesParamR); } else { CandidatesParamR <- cbind(CandidatesParamR); } - - - ##Loop_to_test_the_various_candidates_____________________________________ - iNewOptim <- 0; - for(iNew in 1:nrow(CandidatesParamR)){ - ##Model_run - Param <- CandidatesParamR[iNew,]; - OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param); - ##Calibration_criterion_computation - OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel); - if(!is.na(OutputsCrit$CritValue)){ if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){ - CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier; - iNewOptim <- iNew; - } } - } - NRuns <- NRuns+nrow(CandidatesParamR); - - - ##When_a_progress_has_been_achieved_______________________________________ - if(iNewOptim!=0){ - ##We_store_the_optimal_set - OldParamOptimT <- NewParamOptimT; - NewParamOptimT <- matrix(CandidatesParamT[iNewOptim,1:NParam],nrow=1); - Compt <- Compt+1; - ##When_necessary_we_increase_the_pace ### if_successive_progress_occur_in_a_row - if(Compt>2*NParam){ - Pace <- Pace*2; - Compt <- 0; - } - ##We_update_PaceDiag - VectPace <- NewParamOptimT-OldParamOptimT; - for(iC in 1:NParam){ if(CalibOptions$OptimParam[iC]==TRUE){ - if(VectPace[iC]!=0){ PaceDiag[iC] <- CLG*PaceDiag[iC]+(1-CLG)*VectPace[iC]; } - if(VectPace[iC]==0){ PaceDiag[iC] <- CLG*PaceDiag[iC]; } - } } - } else { - ##When_no_progress_has_been_achieved_we_decrease_the_pace_________________ - Pace <- Pace/2; - Compt <- 0; - } - - - ##Test_of_an_additional_candidate_using_diagonal_progress_________________ - if(ITER>4*NParam){ - - NRuns <- NRuns+1; - iNewOptim <- 0; iNew <- 1; - CandidatesParamT <- NewParamOptimT+PaceDiag; if(!is.matrix(CandidatesParamT)){ CandidatesParamT <- matrix(CandidatesParamT,nrow=1); } - ##If_we_exit_the_range_of_possible_values_we_go_back_on_the_boundary - for(iC in 1:NParam){ if(CalibOptions$OptimParam[iC]==TRUE){ - if(CandidatesParamT[iNew,iC]<RangesT[1,iC]){ CandidatesParamT[iNew,iC] <- RangesT[1,iC]; } - if(CandidatesParamT[iNew,iC]>RangesT[2,iC]){ CandidatesParamT[iNew,iC] <- RangesT[2,iC]; } - } } - CandidatesParamR <- FUN_TRANSFO(CandidatesParamT,"TR"); - ##Model_run - Param <- CandidatesParamR[iNew,]; - OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param); - ##Calibration_criterion_computation - OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel); - if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){ - CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier; - iNewOptim <- iNew; - } - ##When_a_progress_has_been_achieved - if(iNewOptim!=0){ - OldParamOptimT <- NewParamOptimT; - NewParamOptimT <- matrix(CandidatesParamT[iNewOptim,1:NParam],nrow=1); - } - - } - - - ##Results_archiving_______________________________________________________ - NewParamOptimR <- FUN_TRANSFO(NewParamOptimT,"TR"); - HistParamR[ITER+1,] <- NewParamOptimR; - HistParamT[ITER+1,] <- NewParamOptimT; - HistCrit[ITER+1,] <- CritOptim; - ### if(!quiet){ cat(paste("\t Iter ",formatC(ITER,format="d",width=3)," Crit ",formatC(CritOptim,format="f",digits=4)," Pace ",formatC(Pace,format="f",digits=4),"\n",sep="")); } - - - - } ##END_LOOP_ITER_________________________________________________________ - ITER <- ITER-1; - - - ##Case_when_the_starting_parameter_set_remains_the_best_solution__________ - if(CritOptim==CritStart & !quiet){ - cat("\t No progress achieved \n"); - } - - ##End_of_Steepest_Descent_Local_Search____________________________________ - ParamFinalR <- NewParamOptimR; - ParamFinalT <- NewParamOptimT; - CritFinal <- CritOptim; - NIter <- 1+ITER; - if(!quiet){ - cat(paste("\t Calibration completed (",NIter," iterations, ",NRuns," runs): \n",sep="")); - cat(paste("\t Param = ",paste(formatC(ParamFinalR,format="f",width=8,digits=3),collapse=" , "),"\n",sep="")); - cat(paste("\t Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritFinal*Multiplier,format="f",digits=4),"\n",sep="")); - } - ##Results_archiving_______________________________________________________ - HistParamR <- cbind(HistParamR[1:NIter,]); colnames(HistParamR) <- paste("Param",1:NParam,sep=""); - HistParamT <- cbind(HistParamT[1:NIter,]); colnames(HistParamT) <- paste("Param",1:NParam,sep=""); - HistCrit <- cbind(HistCrit[1:NIter,]); ###colnames(HistCrit) <- paste("HistCrit"); - - BoolCrit_Actual <- InputsCrit$BoolCrit; BoolCrit_Actual[OutputsCrit$Ind_notcomputed] <- FALSE; - MatBoolCrit <- cbind( InputsCrit$BoolCrit , BoolCrit_Actual ); - colnames(MatBoolCrit) <- c("BoolCrit_Requested","BoolCrit_Actual"); - - -##_____Output______________________________________________________________________________ - OutputsCalib <- list(as.double(ParamFinalR),CritFinal*Multiplier,NIter,NRuns,HistParamR,HistCrit*Multiplier,MatBoolCrit,CritName,CritBestValue); - names(OutputsCalib) <- c("ParamFinalR","CritFinal","NIter","NRuns","HistParamR","HistCrit","MatBoolCrit","CritName","CritBestValue"); - class(OutputsCalib) <- c("OutputsCalib","HBAN"); - return(OutputsCalib); - - - -} - - - - - diff --git a/files_R/Calibration_optim.R b/files_R/Calibration_optim.R deleted file mode 100644 index 81f1424f5847186ef72b06f661addd7b83c8090e..0000000000000000000000000000000000000000 --- a/files_R/Calibration_optim.R +++ /dev/null @@ -1,149 +0,0 @@ -#************************************************************************************************* -#' Calibration algorithm which minimises the error criterion. \cr -#' \cr -#' The algorithm is based on the "optim" function from the "stats" R-package -#' (using method="L-BFGS-B", i.e. a local optimization quasi-Newton method). -#' -#' To optimise the exploration of the parameter space, transformation functions are used to convert -#' the model parameters. This is done using the TransfoParam functions. -#************************************************************************************************* -#' @title Calibration algorithm which minimises the error criterion using the stats::optim function -#' @author Laurent Coron (August 2013) -#' @example tests/example_Calibration_optim.R -#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_HBAN}}, -#' \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, -#' \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param CalibOptions [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$ParamFinalR } \tab [numeric] parameter set obtained at the end of the calibration \cr -#' \emph{$CritFinal } \tab [numeric] error criterion obtained at the end of the calibration \cr -#' \emph{$Nruns } \tab [numeric] number of model runs done during the calibration \cr -#' \emph{$CritName } \tab [character] name of the calibration criterion \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' } -#************************************************************************************************** -Calibration_optim <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){ - - - ##_check_class - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); } - if(inherits(CalibOptions,"optim")==FALSE){ stop("CalibOptions must be of class 'optim' if Calibration_optim is used \n"); return(NULL); } - - - ##_check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - if(identical(FUN_MOD,RunModel_GR4J )){ FUN_TRANSFO <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J )){ FUN_TRANSFO <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J )){ FUN_TRANSFO <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ FUN_TRANSFO <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; } - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[, 1:(NParam-2)],Direction); - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam ],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL); } - } - - - ##_RunModelAndCrit - RunModelAndCrit <- function(par,InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO){ - ParamT <- NA*CalibOptions$FixedParam; - ParamT[CalibOptions$OptimParam] <- par; - Param <- FUN_TRANSFO(ParamIn=ParamT,Direction="TR"); - Param[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param); - OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - return(OutputsCrit$CritValue*OutputsCrit$Multiplier); - } - - - ##_temporary_change_of_Outputs_Sim - RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal; ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration - ##_screenPrint - if(!quiet){ - cat(paste("\t Calibration in progress (function optim from the stats package) \n",sep="")); - } - - - ##_lower_and_upper_limit_values (transformed) - RangesR <- CalibOptions$SearchRanges; - RangesT <- FUN_TRANSFO(RangesR,"RT"); - lower <- RangesT[1,CalibOptions$OptimParam]; - upper <- RangesT[2,CalibOptions$OptimParam]; - - ##_starting_values (transformed) - ParamStartT <- FUN_TRANSFO(CalibOptions$StartParam,"RT"); - par_start <- ParamStartT[CalibOptions$OptimParam]; - - - ##_calibration - RESULT <- optim(par=par_start,fn=RunModelAndCrit,gr=NULL, - InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO, ## arguments for the RunModelAndCrit function (other than par) - method="L-BFGS-B",lower=lower,upper=upper,control=list(),hessian=FALSE) - - - ##_outputs_preparation - ParamFinalT <- NA*ParamStartT; - ParamFinalT[CalibOptions$OptimParam] <- RESULT$par; - ParamFinalR <- FUN_TRANSFO(ParamFinalT,"TR"); - ParamFinalR[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - CritFinal <- RESULT$value; - - ##_storage_of_crit_info - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=ParamFinalR); - OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - CritName <- OutputsCrit$CritName; - CritBestValue <- OutputsCrit$CritBestValue; - Multiplier <- OutputsCrit$Multiplier; - - ##_screenPrint - if(!quiet){ - if(RESULT$convergence==0){ - cat(paste("\t Calibration completed: \n",sep="")); - cat(paste("\t Param = ",paste(formatC(ParamFinalR,format="f",width=8,digits=3),collapse=" , "),"\n",sep="")); - cat(paste("\t Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritFinal*Multiplier,format="f",digits=4),"\n",sep="")); - } else { - cat(paste("\t Calibration failed: \n",sep="")); - cat(paste("\t ",RESULT$message,sep="")); - } - } - - - ##_function_output - OutputsCalib <- list(as.double(ParamFinalR),CritFinal*Multiplier,as.integer(RESULT$counts[1]),CritName,CritBestValue); - names(OutputsCalib) <- c("ParamFinalR","CritFinal","NRuns","CritName","CritBestValue"); - class(OutputsCalib) <- c("OutputsCalib","optim"); - return(OutputsCalib); - - -} - - - - diff --git a/files_R/CreateCalibOptions.R b/files_R/CreateCalibOptions.R deleted file mode 100644 index e780e58ecf40ce7ebdcc32b6c566eeab9abcaae8..0000000000000000000000000000000000000000 --- a/files_R/CreateCalibOptions.R +++ /dev/null @@ -1,223 +0,0 @@ -#************************************************************************************************* -#' Creation of the CalibOptions object required to the Calibration functions. -#' -#' Users wanting to use FUN_MOD, FUN_CALIB or FUN_TRANSFO functions that are not included in -#' the package must create their own CalibOptions object accordingly. -#************************************************************************************************* -#' @title Creation of the CalibOptions object required to the Calibration functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}} -#' @example tests/example_Calibration.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CALIB (optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param OptimParam (optional) [boolean] vector of booleans indicating which parameters must be optimised (NParam columns, 1 line) -#' @param FixedParam (optional) [numeric] vector giving the values to allocate to non-optimised parameter values (NParam columns, 1 line) -#' @param SearchRanges (optional) [numeric] matrix giving the ranges of real parameters (NParam columns, 2 lines) -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' [1,] \tab 0 \tab -1 \tab 0 \tab ... \tab 0.0 \cr -#' [2,] \tab 3000 \tab +1 \tab 100 \tab ... \tab 3.0 \cr -#' } -#' @param StartParam (optional) [numeric] vector of parameter values used to start global search calibration procedure (e.g. Calibration_optim) -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' \tab 1000 \tab -0.5 \tab 22 \tab ... \tab 1.1 \cr -#' } -#' @param StartParamList (optional) [numeric] matrix of parameter sets used for grid-screening calibration procedure (values in columns, sets in line) -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' [set1] \tab 800 \tab -0.7 \tab 25 \tab ... \tab 1.0 \cr -#' [set2] \tab 1000 \tab -0.5 \tab 22 \tab ... \tab 1.1 \cr -#' [...] \tab ... \tab ... \tab ... \tab ... \tab ... \cr -#' [set n] \tab 200 \tab -0.3 \tab 17 \tab ... \tab 1.0 \cr -#' } -#' @param StartParamDistrib (optional) [numeric] matrix of parameter values used for grid-screening calibration procedure (values in columns, percentiles in line) \cr -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' [value1] \tab 800 \tab -0.7 \tab 25 \tab ... \tab 1.0 \cr -#' [value2] \tab 1000 \tab NA \tab 50 \tab ... \tab 1.2 \cr -#' [value3] \tab 1200 \tab NA \tab NA \tab ... \tab 1.6 \cr -#' } -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{CalibOptions} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{$OptimParam } \tab [boolean] vector of booleans indicating which parameters must be optimised \cr -#' \emph{$FixedParam } \tab [numeric] vector giving the values to allocate to non-optimised parameter values \cr -#' \emph{$SearchRanges } \tab [numeric] matrix giving the ranges of real parameters \cr -#' \emph{$StartParam } \tab [numeric] vector of parameter values used to start global search calibration procedure \cr -#' \emph{$StartParamList } \tab [numeric] matrix of parameter sets used for grid-screening calibration procedure \cr -#' \emph{$StartParamDistrib} \tab [numeric] matrix of parameter values used for grid-screening calibration procedure \cr -#' } -#************************************************************************************************** -CreateCalibOptions <- function(FUN_MOD,FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=NULL,OptimParam=NULL,FixedParam=NULL,SearchRanges=NULL, - StartParam=NULL,StartParamList=NULL,StartParamDistrib=NULL){ - - ObjectClass <- NULL; - - ##check_FUN_MOD - BOOL <- FALSE; - if(identical(FUN_MOD,RunModel_GR4J )){ ObjectClass <- c(ObjectClass,"GR4J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_GR5J )){ ObjectClass <- c(ObjectClass,"GR5J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_GR6J )){ ObjectClass <- c(ObjectClass,"GR6J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ ObjectClass <- c(ObjectClass,"CemaNeige" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ ObjectClass <- c(ObjectClass,"CemaNeigeGR4J"); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ ObjectClass <- c(ObjectClass,"CemaNeigeGR5J"); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ ObjectClass <- c(ObjectClass,"CemaNeigeGR6J"); BOOL <- TRUE; } - if(!BOOL){ stop("incorrect FUN_MOD for use in CreateCalibOptions \n"); return(NULL); } - - ##check_FUN_CALIB - BOOL <- FALSE; - if(identical(FUN_CALIB,Calibration_HBAN )){ ObjectClass <- c(ObjectClass,"HBAN" ); BOOL <- TRUE; } - if(identical(FUN_CALIB,Calibration_optim)){ ObjectClass <- c(ObjectClass,"optim"); BOOL <- TRUE; } - if(!BOOL){ stop("incorrect FUN_CALIB for use in CreateCalibOptions \n"); return(NULL); } - - ##check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - ##_set_FUN1 - if(identical(FUN_MOD,RunModel_GR4J ) | identical(FUN_MOD,RunModel_CemaNeigeGR4J) ){ FUN1 <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J ) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) ){ FUN1 <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J ) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) ){ FUN1 <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige) ){ FUN1 <- TransfoParam_CemaNeige; } - if(is.null(FUN1)){ stop("FUN1 was not found \n"); return(NULL); } - ##_set_FUN2 - FUN2 <- TransfoParam_CemaNeige; - ##_set_FUN_TRANSFO - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeige)){ - FUN_TRANSFO <- FUN1; - } else { - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - if(NParam <= 3){ - ParamOut[, 1:(NParam-2)] <- FUN1(cbind(ParamIn[,1:(NParam-2)]),Direction); - } else { - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[,1:(NParam-2) ],Direction); } - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found \n"); return(NULL); } - - - ##NParam - if("GR4J" %in% ObjectClass){ NParam <- 4; } - if("GR5J" %in% ObjectClass){ NParam <- 5; } - if("GR6J" %in% ObjectClass){ NParam <- 6; } - if("CemaNeige" %in% ObjectClass){ NParam <- 2; } - if("CemaNeigeGR4J" %in% ObjectClass){ NParam <- 6; } - if("CemaNeigeGR5J" %in% ObjectClass){ NParam <- 7; } - if("CemaNeigeGR6J" %in% ObjectClass){ NParam <- 8; } - - - ##check_OptimParam - if(is.null(OptimParam)){ - OptimParam <- rep(TRUE,NParam); - } else { - if(!is.vector(OptimParam) ){ stop("OptimParam must be a vector of booleans \n"); return(NULL); } - if(length(OptimParam)!=NParam){ stop("Incompatibility between OptimParam length and FUN_MOD \n"); return(NULL); } - if(!is.logical(OptimParam) ){ stop("OptimParam must be a vector of booleans \n"); return(NULL); } - } - - - ##check_FixedParam - if(is.null(FixedParam)){ - FixedParam <- rep(NA,NParam); - } else { - if(!is.vector(FixedParam) ){ stop("FixedParam must be a vector \n"); return(NULL); } - if(length(FixedParam)!=NParam ){ stop("Incompatibility between OptimParam length and FUN_MOD \n"); return(NULL); } - if(!is.numeric(FixedParam[!OptimParam])){ stop("if OptimParam[i]==FALSE, FixedParam[i] must be a numeric value \n"); return(NULL); } - } - - - ##check_SearchRanges - if(is.null(SearchRanges)){ - ParamT <- matrix(c(rep(-9.99,NParam),rep(+9.99,NParam)),ncol=NParam,byrow=TRUE); - SearchRanges <- TransfoParam(ParamIn=ParamT,Direction="TR",FUN_TRANSFO=FUN_TRANSFO); - } else { - if(!is.matrix(SearchRanges) ){ stop("SearchRanges must be a matrix \n"); return(NULL); } - if(!is.numeric(SearchRanges) ){ stop("SearchRanges must be a matrix of numeric values \n"); return(NULL); } - if(sum(is.na(SearchRanges))!=0){ stop("SearchRanges must not include NA values \n"); return(NULL); } - if(nrow(SearchRanges)!=2 ){ stop("SearchRanges must have 2 rows \n"); return(NULL); } - if(ncol(SearchRanges)!=NParam ){ stop("Incompatibility between SearchRanges ncol and FUN_MOD \n"); return(NULL); } - } - - - ##check_StartParamList_and_StartParamDistrib__default_values - if( ("HBAN" %in% ObjectClass & is.null(StartParamList) & is.null(StartParamDistrib)) | - ("optim" %in% ObjectClass & is.null(StartParam)) ){ - - if("GR4J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -2.00, +3.40, -9.10, - +3.90, -0.90, +4.10, -8.70, - +4.50, -0.10, +5.00, -8.10),ncol=NParam,byrow=TRUE); } - if("GR5J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70, - +3.90, -0.60, +4.10, -8.70, +0.30, - +4.50, -0.10, +5.00, -8.10, +0.50),ncol=NParam,byrow=TRUE); } - if("GR6J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, - +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, - +4.50, +0.50, +5.00, -8.10, +1.10, +5.00),ncol=NParam,byrow=TRUE); } - if("CemaNeige"%in% ObjectClass){ - ParamT <- matrix( c( -6.26, +0.55, - -2.13, +0.92, - +4.86, +1.40),ncol=NParam,byrow=TRUE); } - if("CemaNeigeGR4J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -2.00, +3.40, -9.10, -6.26, +0.55, - +3.90, -0.90, +4.10, -8.70, -2.13, +0.92, - +4.50, -0.10, +5.00, -8.10, +4.86, +1.40),ncol=NParam,byrow=TRUE); } - if("CemaNeigeGR5J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70, -6.26, +0.55, - +3.90, -0.60, +4.10, -8.70, +0.30, -2.13, +0.92, - +4.50, -0.10, +5.00, -8.10, +0.50, +4.86, +1.40),ncol=NParam,byrow=TRUE); } - if("CemaNeigeGR6J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, -6.26, +0.55, - +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, -2.13, +0.92, - +4.50, +0.50, +5.00, -8.10, +1.10, +5.00, +4.86, +1.40),ncol=NParam,byrow=TRUE); } - - StartParamList <- NULL; - StartParamDistrib <- TransfoParam(ParamIn=ParamT,Direction="TR",FUN_TRANSFO=FUN_TRANSFO); - StartParam <- StartParamDistrib[2,]; - } - ##check_StartParamList_and_StartParamDistrib__format - if("HBAN" %in% ObjectClass & !is.null(StartParamList)){ - if(!is.matrix(StartParamList) ){ stop("StartParamList must be a matrix \n"); return(NULL); } - if(!is.numeric(StartParamList) ){ stop("StartParamList must be a matrix of numeric values \n"); return(NULL); } - if(sum(is.na(StartParamList))!=0){ stop("StartParamList must not include NA values \n"); return(NULL); } - if(ncol(StartParamList)!=NParam ){ stop("Incompatibility between StartParamList ncol and FUN_MOD \n"); return(NULL); } - } - if("HBAN" %in% ObjectClass & !is.null(StartParamDistrib)){ - if(!is.matrix(StartParamDistrib) ){ stop("StartParamDistrib must be a matrix \n"); return(NULL); } - if(!is.numeric(StartParamDistrib[1,]) ){ stop("StartParamDistrib must be a matrix of numeric values \n"); return(NULL); } - if(sum(is.na(StartParamDistrib[1,]))!=0){ stop("StartParamDistrib must not include NA values on the first line \n"); return(NULL); } - if(ncol(StartParamDistrib)!=NParam ){ stop("Incompatibility between StartParamDistrib ncol and FUN_MOD \n"); return(NULL); } - } - if("optim" %in% ObjectClass & !is.null(StartParam)){ - if(!is.vector(StartParam) ){ stop("StartParam must be a vector \n"); return(NULL); } - if(!is.numeric(StartParam) ){ stop("StartParam must be a vector of numeric values \n"); return(NULL); } - if(sum(is.na(StartParam))!=0 ){ stop("StartParam must not include NA values \n"); return(NULL); } - if(length(StartParam)!=NParam ){ stop("Incompatibility between StartParam length and FUN_MOD \n"); return(NULL); } - } - - - ##Create_CalibOptions - CalibOptions <- list(OptimParam=OptimParam,FixedParam=FixedParam,SearchRanges=SearchRanges); - if(!is.null(StartParam )){ CalibOptions <- c(CalibOptions,list(StartParam=StartParam)); } - if(!is.null(StartParamList )){ CalibOptions <- c(CalibOptions,list(StartParamList=StartParamList)); } - if(!is.null(StartParamDistrib)){ CalibOptions <- c(CalibOptions,list(StartParamDistrib=StartParamDistrib)); } - class(CalibOptions) <- c("CalibOptions",ObjectClass); - return(CalibOptions); - - -} - - - diff --git a/files_R/CreateInputsCrit.R b/files_R/CreateInputsCrit.R deleted file mode 100644 index e723f2bcf2444169ea4066b13d9a4dadc0dc0a6d..0000000000000000000000000000000000000000 --- a/files_R/CreateInputsCrit.R +++ /dev/null @@ -1,75 +0,0 @@ -#************************************************************************************************* -#' Creation of the InputsCrit object required to the ErrorCrit functions. -#' -#' Users wanting to use FUN_CRIT functions that are not included in -#' the package must create their own InputsCrit object accordingly. -#************************************************************************************************* -#' @title Creation of the InputsCrit object required to the ErrorCrit functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateCalibOptions}} -#' @example tests/example_ErrorCrit.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Qobs [numeric] series of observed discharges [mm] -#' @param BoolCrit (optional) [boolean] boolean giving the time steps to consider in the computation (all time steps are consider by default) -#' @param transfo (optional) [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort") -#' @param Ind_zeroes (optional) [numeric] indices of the time-steps where zeroes are observed -#' @param epsilon (optional) [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{InputsCrit} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{$BoolCrit } \tab [boolean] boolean giving the time steps to consider in the computation \cr -#' \emph{$Qobs } \tab [numeric] series of observed discharges [mm] \cr -#' \emph{$transfo } \tab [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort") \cr -#' \emph{$Ind_zeroes} \tab [numeric] indices of the time-steps where zeroes are observed \cr -#' \emph{$epsilon } \tab [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty \cr -#' } -#************************************************************************************************** -CreateInputsCrit <- function(FUN_CRIT,InputsModel,RunOptions,Qobs,BoolCrit=NULL,transfo="",Ind_zeroes=NULL,epsilon=NULL){ - - ObjectClass <- NULL; - - ##check_FUN_CRIT - BOOL <- FALSE; - if(identical(FUN_CRIT,ErrorCrit_RMSE) | identical(FUN_CRIT,ErrorCrit_NSE) | identical(FUN_CRIT,ErrorCrit_KGE) | identical(FUN_CRIT,ErrorCrit_KGE2)){ - BOOL <- TRUE; - } - if(!BOOL){ stop("incorrect FUN_CRIT for use in CreateInputsCrit \n"); return(NULL); } - - ##check_arguments - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n" ); return(NULL); } - if(inherits(RunOptions ,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n" ); return(NULL); } - LLL <- length(InputsModel$DatesR[RunOptions$IndPeriod_Run]) - - if(is.null(Qobs)){ stop("Qobs is missing \n" ); return(NULL); } - if(length(Qobs)!=LLL){ stop("Qobs and InputsModel series must have the same length \n"); return(NULL); } - - if(is.null(BoolCrit)){ BoolCrit <- rep(TRUE,length(Qobs)); } - if(!is.logical(BoolCrit)){ stop("BoolCrit must be a vector of boolean \n" ); return(NULL); } - if(length(BoolCrit)!=LLL){ stop("BoolCrit and InputsModel series must have the same length \n"); return(NULL); } - - if(is.null(transfo)){ - stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } - if(transfo %in% c("","sqrt","log","inv") == FALSE){ - stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } - - if(!is.null(Ind_zeroes)){ - if(!is.integer(Ind_zeroes)){ stop("Ind_zeroes must be a vector of integers \n" ); return(NULL); } - } - if(!is.null(epsilon)){ - if(length(epsilon)!=1 | !is.numeric(epsilon)){ stop("epsilon must be single value \n" ); return(NULL); } - epsilon=as.double(epsilon); - } - - ##Create_InputsCrit - InputsCrit <- list(BoolCrit=BoolCrit,Qobs=Qobs,transfo=transfo,Ind_zeroes=Ind_zeroes,epsilon=epsilon); - class(InputsCrit) <- c("InputsCrit",ObjectClass); - return(InputsCrit); - - -} - diff --git a/files_R/CreateInputsModel.R b/files_R/CreateInputsModel.R deleted file mode 100644 index 46de1482c3a845174a2e07591ab7d16f8c5b930b..0000000000000000000000000000000000000000 --- a/files_R/CreateInputsModel.R +++ /dev/null @@ -1,146 +0,0 @@ -#************************************************************************************************* -#' Creation of the InputsModel object required to the RunModel functions. -#' -#' Users wanting to use FUN_MOD functions that are not included in -#' the package must create their own InputsModel object accordingly. -#************************************************************************************************* -#' @title Creation of the InputsModel object required to the RunModel functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}, \code{\link{DataAltiExtrapolation_HBAN}} -#' @example tests/example_RunModel.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param DatesR [POSIXlt] vector of dates required to create the GR model and CemaNeige module inputs -#' @param Precip [numeric] time series of daily total precipitation (catchment average) [mm], required to create the GR model and CemaNeige module inputs -#' @param PotEvap [numeric] time series of daily potential evapotranspiration (catchment average) [mm], required to create the GR model inputs -#' @param TempMean [numeric] time series of daily mean air temperature [degC], required to create the CemaNeige module inputs -#' @param TempMin (optional) [numeric] time series of daily min air temperature [degC], possibly used to create the CemaNeige module inputs -#' @param TempMax (optional) [numeric] time series of daily max air temperature [degC], possibly used to create the CemaNeige module inputs -#' @param ZInputs (optional) [numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m] -#' @param HypsoData (optional) [numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m], required to create the GR model inputs, if not defined a single elevation is used for CemaNeige -#' @param NLayers (optional) [numeric] integer giving the number of elevation layers requested [-], required to create the GR model inputs, default=5 -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{InputsModel} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] vector of dates \cr -#' \emph{$Precip } \tab [numeric] time series of daily total precipitation (catchment average) [mm] \cr -#' \emph{$PotEvap } \tab [numeric] time series of daily potential evapotranspiration (catchment average) [mm], \cr\tab defined if FUN_MOD includes GR4J, GR5J or GR6J \cr \cr -#' \emph{$LayerPrecip } \tab [list] list of time series of daily precipitation (layer average) [mm], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr -#' \emph{$LayerTempMean } \tab [list] list of time series of daily mean air temperature (layer average) [degC], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr -#' \emph{$LayerFracSolidPrecip} \tab [list] list of time series of daily solid precip. fract. (layer average) [-], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr -#' } -#************************************************************************************************** -CreateInputsModel <- function(FUN_MOD,DatesR,Precip,PotEvap=NULL,TempMean=NULL,TempMin=NULL,TempMax=NULL,ZInputs=NULL,HypsoData=NULL,NLayers=5,quiet=FALSE){ - - ObjectClass <- NULL; - - ##check_FUN_MOD - BOOL <- FALSE; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J)){ - ObjectClass <- c(ObjectClass,"daily","GR"); - TimeStep <- as.integer(24*60*60); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeige)){ - ObjectClass <- c(ObjectClass,"daily","CemaNeige"); - TimeStep <- as.integer(24*60*60); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - ObjectClass <- c(ObjectClass,"daily","GR","CemaNeige"); - TimeStep <- as.integer(24*60*60); - BOOL <- TRUE; - } - if(!BOOL){ stop("incorrect FUN_MOD for use in CreateInputsModel \n"); return(NULL); } - - ##check_arguments - if("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass){ - if(is.null(DatesR)){ stop("DatesR is missing \n"); return(NULL); } - if("POSIXlt" %in% class(DatesR) == FALSE & "POSIXct" %in% class(DatesR) == FALSE){ stop("DatesR must be defined as POSIXlt or POSIXct \n"); return(NULL); } - if("POSIXlt" %in% class(DatesR) == FALSE){ DatesR <- as.POSIXlt(DatesR); } - if(difftime(tail(DatesR,1),tail(DatesR,2),units="secs")[[1]]!=TimeStep){ stop(paste("the time step of the model inputs must be ",TimeStep," seconds \n",sep="")); return(NULL); } - LLL <- length(DatesR); - } - if("GR" %in% ObjectClass){ - if(is.null(Precip )){ stop("Precip is missing \n" ); return(NULL); } - if(is.null(PotEvap )){ stop("PotEvap is missing \n" ); return(NULL); } - if(length(Precip)!=LLL | length(PotEvap)!=LLL){ stop("Precip, PotEvap and DatesR must have the same length \n"); return(NULL); } - } - if("CemaNeige" %in% ObjectClass){ - if(is.null(Precip )){ stop("Precip is missing \n" ); return(NULL); } - if(is.null(TempMean)){ stop("TempMean is missing \n"); return(NULL); } - if(length(Precip)!=LLL | length(TempMean)!=LLL){ stop("Precip, TempMean and DatesR must have the same length \n"); return(NULL); } - if(is.null(TempMin)!=is.null(TempMax)){ stop("TempMin and TempMax must be both defined if not null \n"); return(NULL); } - if((!is.null(TempMin) & length(TempMin)!=LLL) & (!is.null(TempMax) & length(TempMax)!=LLL)){ stop("TempMin, TempMax and DatesR must have the same length \n"); return(NULL); } - if(!is.null(HypsoData)){ - if(!is.vector(HypsoData)){ stop("HypsoData must be of a vector if not null \n"); return(NULL); } - if(length(HypsoData)!=101){ stop("HypsoData must be of length 101 if not null \n"); return(NULL); } - if(sum(is.na(HypsoData))!=0 & sum(is.na(HypsoData))!=101){ stop("HypsoData must not contain any NA if not null \n"); return(NULL); } - } - if(!is.null(ZInputs)){ - if((is.na(ZInputs) | !is.numeric(ZInputs))){ stop("\t ZInputs must be a numeric if not null \n"); return(NULL); } - } - if(is.null(HypsoData)){ - if(!quiet){ warning("\t HypsoData is missing => a single layer is used and no extrapolation is made \n"); } - HypsoData <- as.numeric(rep(NA,101)); ZInputs <- as.numeric(NA); NLayers <- as.integer(1); - } - if(is.null(ZInputs)){ - if(!quiet & !identical(HypsoData,as.numeric(rep(NA,101)))){ warning("\t ZInputs is missing => HypsoData[51] is used \n"); } - ZInputs <- HypsoData[51]; - } - } - - - ##check_NA_values - BOOL_NA <- rep(FALSE,length(DatesR)); - if("GR" %in% ObjectClass){ - BOOL_NA_TMP <- (Precip < 0) | is.na(Precip ); if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < 0 or NA values detected in Precip series \n"); } } - BOOL_NA_TMP <- (PotEvap < 0) | is.na(PotEvap); if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < 0 or NA values detected in PotEvap series \n"); } } - } - if("CemaNeige" %in% ObjectClass){ - BOOL_NA_TMP <- (Precip < 0 ) | is.na(Precip ); if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < 0 or NA values detected in Precip series \n"); } } - BOOL_NA_TMP <- (TempMean<(-150)) | is.na(TempMean); if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < -150) or NA values detected in TempMean series \n"); } } - if(!is.null(TempMin) & !is.null(TempMax)){ - BOOL_NA_TMP <- (TempMin<(-150)) | is.na(TempMin); if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < -150) or NA values detected in TempMin series \n"); } } - BOOL_NA_TMP <- (TempMax<(-150)) | is.na(TempMax); if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < -150) or NA values detected in TempMax series \n"); } } } - } - if(sum(BOOL_NA)!=0){ - WTxt <- NULL; - WTxt <- paste(WTxt,"\t Missing values are not allowed in InputsModel \n",sep=""); - Select <- (max(which(BOOL_NA))+1):length(BOOL_NA); - if(Select[1]>Select[2]){ stop(paste("time series could not be trunced since missing values were detected at the list time-step \n",sep="")); return(NULL); } - if("GR" %in% ObjectClass){ - Precip <- Precip[Select]; PotEvap <- PotEvap[Select]; } - if("CemaNeige" %in% ObjectClass){ - Precip <- Precip[Select]; TempMean <- TempMean[Select]; if(!is.null(TempMin) & !is.null(TempMax)){ TempMin <- TempMin[Select]; TempMax <- TempMax[Select]; } } - WTxt <- paste(WTxt,"\t -> data were trunced to keep the most recent available time-steps \n",sep=""); - WTxt <- paste(WTxt,"\t -> ",length(Select)," time-steps were kept \n",sep=""); - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - } - - - ##DataAltiExtrapolation_HBAN - if("CemaNeige" %in% ObjectClass){ - RESULT <- DataAltiExtrapolation_HBAN(DatesR=DatesR,Precip=Precip,TempMean=TempMean,TempMin=TempMin,TempMax=TempMax,ZInputs=ZInputs,HypsoData=HypsoData,NLayers=NLayers,quiet=quiet); - if(!quiet){ if(NLayers==1){ cat(paste("\t Input series were successfully created on 1 elevation layer for use by CemaNeige \n",sep="")); - } else { cat(paste("\t Input series were successfully created on ",NLayers," elevation layers for use by CemaNeige \n",sep="")); } } - } - - - ##Create_InputsModel - InputsModel <- list(DatesR=DatesR); - if("GR" %in% ObjectClass){ - InputsModel <- c(InputsModel,list(Precip=as.double(Precip),PotEvap=as.double(PotEvap))); } - if("CemaNeige" %in% ObjectClass){ - InputsModel <- c(InputsModel,list(LayerPrecip=RESULT$LayerPrecip,LayerTempMean=RESULT$LayerTempMean, - LayerFracSolidPrecip=RESULT$LayerFracSolidPrecip,ZLayers=RESULT$ZLayers)); } - - class(InputsModel) <- c("InputsModel",ObjectClass); - return(InputsModel); - - -} - diff --git a/files_R/CreateRunOptions.R b/files_R/CreateRunOptions.R deleted file mode 100644 index a19271118df6975cf9b1739c4f186fe544f5f2a5..0000000000000000000000000000000000000000 --- a/files_R/CreateRunOptions.R +++ /dev/null @@ -1,256 +0,0 @@ -#************************************************************************************************* -#' Creation of the RunOptions object required to the RunModel functions. -#' -#' Users wanting to use FUN_MOD functions that are not included in -#' the package must create their own RunOptions object accordingly. -#' -#' ##### Initialisation options ##### -#' -#' The model initialisation options can either be set to a default configuration or be defined by the user. -#' -#' This is done via three vectors: \cr \emph{IndPeriod_WarmUp}, \emph{IniStates}, \emph{IniResLevels}. \cr -#' A default configuration is used for initialisation if these vectors are not defined. -#' -#' (1) Default initialisation options: -#' -#' \itemize{ -#' \item \emph{IndPeriod_WarmUp} default setting ensures a one-year warm-up using the time-steps preceding the \emph{IndPeriod_Run}. -#' The actual length of this warm-up might be shorter depending on data availability (no missing value being allowed on model input series). -#' -#' \item \emph{IniStates} and \emph{IniResLevels} are automatically set to initialise all the model states at 0, except for the production and routing stores which are initialised at 50\% of their capacity. This initialisation is made at the very beginning of the model call (i.e. at the beginning of \emph{IndPeriod_WarmUp} or at the beginning of IndPeriod_Run if the warm-up period is disabled). -#' } -#' -#' (2) Customisation of initialisation options: -#' -#' \itemize{ -#' \item \emph{IndPeriod_WarmUp} can be used to specify the indices of the warm-up period (within the time-series prepared in InputsModel). \cr -#' - remark 1: for most common cases, indices corresponding to one or several years preceding \emph{IndPeriod_Run} are used (e.g. \emph{IndPeriod_WarmUp <- 1000:1365} and \emph{IndPeriod_Run <- 1366:5000)}. \cr -#' However, it is also possible to perform a long-term initialisation if other indices than the warm-up ones are set in \emph{IndPeriod_WarmUp} (e.g. \emph{IndPeriod_WarmUp <- c( 1:5000 , 1:5000 , 1:5000 ,1000:1365 )}). \cr -#' - remark 2: it is also possible to completely disable the warm-up period when using \emph{IndPeriod_WarmUp <- 0}. -#' -#' \item \emph{IniStates} and \emph{IniResLevels} can be used to specify the initial model states. \cr -#' - remark 1: if \emph{IniStates} is used, all model states must be provided (e.g. 60 floats [mm] are required for GR4J, GR5J and GR6J; 60+2*NLayers floats [mm] are required for CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J; see fortran source code for details). \cr -#' - remark 2: in addition to \emph{IniStates}, \emph{IniResLevels} allows to set the filling rate of the production and routing stores for the GR models. For instance for GR4J, GR5J and GR6J: \emph{IniResLevels <- c(0.3,0.5)} should be used to obtain initial fillings of 30\% and 50\% for the production and routing stores, respectively. \emph{IniResLevels} is optional and can only be used if \emph{IniStates} is also defined (the state values corresponding to these two stores in \emph{IniStates} are not used in such case). \cr \cr -#' } -#************************************************************************************************* -#' @title Creation of the RunOptions object required to the RunModel functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}} -#' @example tests/example_RunModel.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param IndPeriod_WarmUp (optional) [numeric] index of period to be used for the model warm-up [-] -#' @param IndPeriod_Run [numeric] index of period to be used for the model run [-] -#' @param IniStates (optional) [numeric] vector of initial model states [mm] -#' @param IniResLevels (optional) [numeric] vector of initial filling rates for production and routing stores (2 values between 0 and 1) [-] -#' @param Outputs_Cal (optional) [character] vector giving the outputs needed for the calibration \cr (e.g. c("Qsim")), the least outputs the fastest the calibration -#' @param Outputs_Sim (optional) [character] vector giving the requested outputs \cr (e.g. c("DatesR","Qsim","SnowPack")), default="all" -#' @param RunSnowModule (optional) [boolean] option indicating whether CemaNeige should be activated, default=TRUE -#' @param MeanAnSolidPrecip (optional) [numeric] vector giving the annual mean of average solid precipitation for each layer (computed from InputsModel if not defined) [mm/y] -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{RunOptions} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{IndPeriod_WarmUp } \tab [numeric] index of period to be used for the model warm-up [-] \cr -#' \emph{IndPeriod_Run } \tab [numeric] index of period to be used for the model run [-] \cr -#' \emph{IniStates } \tab [numeric] vector of initial model states [mm] \cr -#' \emph{IniResLevels } \tab [numeric] vector of initial filling rates for production and routing stores [-] \cr -#' \emph{Outputs_Cal } \tab [character] character vector giving only the outputs needed for the calibration \cr -#' \emph{Outputs_Sim } \tab [character] character vector giving the requested outputs \cr -#' \emph{RunSnowModule } \tab [boolean] option indicating whether CemaNeige should be activated \cr -#' \emph{MeanAnSolidPrecip} \tab [numeric] vector giving the annual mean of average solid precipitation for each layer [mm/y] \cr -#' } -#**************************************************************************************************' -CreateRunOptions <- function(FUN_MOD,InputsModel,IndPeriod_WarmUp=NULL,IndPeriod_Run,IniStates=NULL,IniResLevels=NULL, - Outputs_Cal=NULL,Outputs_Sim="all",RunSnowModule=TRUE,MeanAnSolidPrecip=NULL,quiet=FALSE){ - - - ObjectClass <- NULL; - - - ##check_FUN_MOD - BOOL <- FALSE; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J)){ - ObjectClass <- c(ObjectClass,"GR"); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeige)){ - ObjectClass <- c(ObjectClass,"CemaNeige"); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - ObjectClass <- c(ObjectClass,"GR","CemaNeige"); - BOOL <- TRUE; - } - if(!BOOL){ stop("incorrect FUN_MOD for use in CreateRunOptions \n"); return(NULL); } - - - ##check_InputsModel - if(!inherits(InputsModel,"InputsModel")){ - stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if("GR" %in% ObjectClass & !inherits(InputsModel,"GR")){ - stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if("CemaNeige" %in% ObjectClass & !inherits(InputsModel,"CemaNeige")){ - stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - - - ##check_IndPeriod_Run - if(identical(as.integer(IndPeriod_Run),as.integer(seq(from=IndPeriod_Run[1],to=tail(IndPeriod_Run,1),by=1)))==FALSE){ - stop("IndPeriod_Run must be a continuous sequence of integers \n"); return(NULL); } - if(storage.mode(IndPeriod_Run) != "integer"){ - stop("IndPeriod_Run should be of type integer \n"); return(NULL); } - - - ##check_IndPeriod_WarmUp - WTxt <- NULL; - if(is.null(IndPeriod_WarmUp)){ - WTxt <- paste(WTxt,"\t Model warm-up period not defined -> default configuration used \n",sep=""); - ##If_the_run_period_starts_at_the_very_beginning_of_the_time_series - if(IndPeriod_Run[1]==as.integer(1)){ - IndPeriod_WarmUp <- as.integer(0); - WTxt <- paste(WTxt,"\t No data were found for model warm-up! \n",sep=""); - ##We_look_for_the_longest_period_preceeding_the_run_period_with_a_maximum_of_one_year - } else { - TmpDateR <- InputsModel$DatesR[IndPeriod_Run[1]] - 365*24*60*60; ### minimal date to start the warmup - IndPeriod_WarmUp <- which(InputsModel$DatesR==max(InputsModel$DatesR[1],TmpDateR)) : (IndPeriod_Run[1]-1); - if("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass){ TimeStep <- as.integer(24*60*60); } - if(length(IndPeriod_WarmUp)*TimeStep/(365*24*60*60)>=1){ - WTxt <- paste(WTxt,"\t The year preceding the run period is used \n",sep=""); - } else { - WTxt <- paste(WTxt,"\t Less than a year (without missing values) was found for model warm-up: \n",sep=""); - WTxt <- paste(WTxt,"\t Only ",length(IndPeriod_WarmUp)," time-steps are used! \n",sep=""); - } - } - } - if(!is.null(IndPeriod_WarmUp)){ - if(identical(IndPeriod_WarmUp,as.integer(0))){ - WTxt <- paste(WTxt,"\t No warm-up period is used! \n",sep=""); } - if(storage.mode(IndPeriod_WarmUp) != "integer"){ - stop("IndPeriod_Run should be of type integer \n"); return(NULL); } - if(length(IndPeriod_WarmUp)!=0 & (IndPeriod_Run[1]-1)!=tail(IndPeriod_WarmUp,1)){ - WTxt <- paste(WTxt,"\t Model warm-up period is not directly before the model run period \n",sep=""); } - } - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - - - ##check_IniStates_and_IniResLevels - if(is.null(IniStates) & is.null(IniResLevels) & !quiet){ - warning("\t Model states initialisation not defined -> default configuration used \n"); } - if("GR" %in% ObjectClass){ NH <- 20; } else { NH <- 0; } - if("CemaNeige" %in% ObjectClass){ NLayers <- length(InputsModel$LayerPrecip); } else { NLayers <- 0; } - NState <- 3*NH + 2*NLayers; - if(!is.null(IniStates)){ - if(!is.vector(IniStates) ){ stop("IniStates must be a vector of numeric values \n"); return(NULL); } - if(!is.numeric(IniStates) ){ stop("IniStates must be a vector of numeric values \n"); return(NULL); } - if(length(IniStates)!=NState){ stop(paste("the length of IniStates must be ",NState," for the chosen FUN_MOD \n",sep="")); return(NULL); } - } else { - IniStates <- as.double(rep(0.0,NState)); - } - if(!is.null(IniResLevels)){ - if(!is.vector(IniResLevels) ){ stop("IniResLevels must be a vector of numeric values \n"); return(NULL); } - if(!is.numeric(IniResLevels)){ stop("IniResLevels must be a vector of numeric values \n"); return(NULL); } - if(length(IniResLevels)!=2 ) { stop("the length of IniStates must be 2 for the chosen FUN_MOD \n"); return(NULL); } - } else { - if("GR" %in% ObjectClass){ IniResLevels <- as.double(c(0.3,0.5)); } - } - - - ##check_Outputs_Cal_and_Sim - - ##Outputs_all - Outputs_all <- NULL; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ - Outputs_all <- c(Outputs_all,"PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); } - if(identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ - Outputs_all <- c(Outputs_all,"PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); } - if(identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - Outputs_all <- c(Outputs_all,"PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim"); } - if("CemaNeige" %in% ObjectClass){ - Outputs_all <- c(Outputs_all,"Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); } - - ##check_Outputs_Sim - if(!is.vector(Outputs_Sim) ){ stop("Outputs_Sim must be a vector of characters \n"); return(NULL); } - if(!is.character(Outputs_Sim)){ stop("Outputs_Sim must be a vector of characters \n"); return(NULL); } - if(sum(is.na(Outputs_Sim))!=0){ stop("Outputs_Sim must not contain NA \n"); return(NULL); } - if("all" %in% Outputs_Sim){ Outputs_Sim <- c("DatesR",Outputs_all,"StateEnd"); } - Test <- which(Outputs_Sim %in% c("DatesR",Outputs_all,"StateEnd") == FALSE); if(length(Test)!=0){ - stop(paste("Outputs_Sim is incorrectly defined: ",paste(Outputs_Sim[Test],collapse=", ")," not found \n",sep="")); return(NULL); } - Outputs_Sim <- Outputs_Sim[!duplicated(Outputs_Sim)]; - - ##check_Outputs_Cal - if(is.null(Outputs_Cal)){ - if("GR" %in% ObjectClass ){ Outputs_Cal <- c("Qsim"); } - if("CemaNeige" %in% ObjectClass ){ Outputs_Cal <- c("all"); } - if("GR" %in% ObjectClass & "CemaNeige" %in% ObjectClass){ Outputs_Cal <- c("PliqAndMelt","Qsim"); } - } else { - if(!is.vector(Outputs_Cal) ){ stop("Outputs_Cal must be a vector of characters \n"); return(NULL); } - if(!is.character(Outputs_Cal)){ stop("Outputs_Cal must be a vector of characters \n"); return(NULL); } - if(sum(is.na(Outputs_Cal))!=0){ stop("Outputs_Cal must not contain NA \n"); return(NULL); } - } - if("all" %in% Outputs_Cal){ Outputs_Cal <- c("DatesR",Outputs_all,"StateEnd"); } - Test <- which(Outputs_Cal %in% c("DatesR",Outputs_all,"StateEnd") == FALSE); if(length(Test)!=0){ - stop(paste("Outputs_Cal is incorrectly defined: ",paste(Outputs_Cal[Test],collapse=", ")," not found \n",sep="")); return(NULL); } - Outputs_Cal <- Outputs_Cal[!duplicated(Outputs_Cal)]; - - - ##check_RunSnowModule - if("CemaNeige" %in% ObjectClass){ - if(!is.vector(RunSnowModule) ){ stop("RunSnowModule must be a single boolean \n"); return(NULL); } - if(!is.logical(RunSnowModule)){ stop("RunSnowModule must be either TRUE or FALSE \n"); return(NULL); } - if(length(RunSnowModule)!=1 ){ stop("RunSnowModule must be either TRUE or FALSE \n"); return(NULL); } - } - - - ##check_MeanAnSolidPrecip - if("CemaNeige" %in% ObjectClass & is.null(MeanAnSolidPrecip)){ - NLayers <- length(InputsModel$LayerPrecip); - SolidPrecip <- NULL; for(iLayer in 1:NLayers){ - if(iLayer==1){ SolidPrecip <- InputsModel$LayerFracSolidPrecip[[1]]*InputsModel$LayerPrecip[[iLayer]]/NLayers; - } else { SolidPrecip <- SolidPrecip + InputsModel$LayerFracSolidPrecip[[iLayer]]*InputsModel$LayerPrecip[[iLayer]]/NLayers; } } - Factor <- NULL; - if(inherits(InputsModel,"yearly" )){ Factor <- 1; } - if(inherits(InputsModel,"monthly")){ Factor <- 12; } - if(inherits(InputsModel,"daily" )){ Factor <- 365.25; } - if(inherits(InputsModel,"hourly" )){ Factor <- 365.25*24; } - if(is.null(Factor)){ stop("InputsModel must be of class 'yearly', 'monthly', 'daily' or 'hourly' \n"); return(NULL); } - MeanAnSolidPrecip <- rep(mean(SolidPrecip)*Factor,NLayers); ### default value: same Gseuil for all layers - if(!quiet){ warning("\t MeanAnSolidPrecip not defined -> it was automatically set to c(",paste(round(MeanAnSolidPrecip),collapse=","),") \n"); } - } - if("CemaNeige" %in% ObjectClass & !is.null(MeanAnSolidPrecip)){ - if(!is.vector(MeanAnSolidPrecip) ){ stop(paste("MeanAnSolidPrecip must be a numeric vector \n",sep="")); return(NULL); } - if(!is.numeric(MeanAnSolidPrecip) ){ stop(paste("MeanAnSolidPrecip must be a numeric vector \n",sep="")); return(NULL); } - if(length(MeanAnSolidPrecip)!=NLayers){ stop(paste("MeanAnSolidPrecip must be a numeric vector of length ",NLayers," \n",sep="")); return(NULL); } - } - - - ##check_PliqAndMelt - if(RunSnowModule & "GR" %in% ObjectClass & "CemaNeige" %in% ObjectClass){ - if("PliqAndMelt" %in% Outputs_Cal == FALSE & "all" %in% Outputs_Cal == FALSE){ - WTxt <- NULL; - WTxt <- paste(WTxt,"\t PliqAndMelt was not defined in Outputs_Cal but is needed to feed the hydrological model with the snow module outputs \n",sep=""); - WTxt <- paste(WTxt,"\t -> it was automatically added \n",sep=""); - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - Outputs_Cal <- c(Outputs_Cal,"PliqAndMelt"); } - if("PliqAndMelt" %in% Outputs_Sim == FALSE & "all" %in% Outputs_Sim == FALSE){ - WTxt <- NULL; - WTxt <- paste(WTxt,"\t PliqAndMelt was not defined in Outputs_Sim but is needed to feed the hydrological model with the snow module outputs \n",sep=""); - WTxt <- paste(WTxt,"\t -> it was automatically added \n",sep=""); - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - Outputs_Sim <- c(Outputs_Sim,"PliqAndMelt"); } - } - - - ##Create_RunOptions - RunOptions <- list(IndPeriod_WarmUp=IndPeriod_WarmUp,IndPeriod_Run=IndPeriod_Run,IniStates=IniStates,IniResLevels=IniResLevels, - Outputs_Cal=Outputs_Cal,Outputs_Sim=Outputs_Sim); - if("CemaNeige" %in% ObjectClass){ - RunOptions <- c(RunOptions,list(RunSnowModule=RunSnowModule,MeanAnSolidPrecip=MeanAnSolidPrecip)); } - class(RunOptions) <- c("RunOptions",ObjectClass); - return(RunOptions); - - -} - diff --git a/files_R/DataAltiExtrapolation_HBAN.R b/files_R/DataAltiExtrapolation_HBAN.R deleted file mode 100644 index 7d6916a8290ecaf3cfd3cb66a733e788a8ce8601..0000000000000000000000000000000000000000 --- a/files_R/DataAltiExtrapolation_HBAN.R +++ /dev/null @@ -1,539 +0,0 @@ -#***************************************************************************************************************** -#' Function which extrapolates the precipitation and air temperature series for different elevation layers (method from Valery, 2010). -#' -#' Elevation layers of equal surface are created the 101 elevation quantiles (\emph{HypsoData}) -#' and the number requested elevation layers (\emph{NLayers}). \cr -#' Forcing data (precipitation and air temperature) are extrapolated using gradients from Valery (2010). -#' (e.g. gradP=0.0004 [m-1] for France and gradT=0.434 [degreC/100m] for January, 1st). \cr -#' This function is used by the \emph{CreateInputsModel} function. \cr -#***************************************************************************************************************** -#' @title Altitudinal extrapolation of precipitation and temperature series -#' @author Laurent Coron, Pierre Brigode (June 2014) -#' @references -#' Turcotte, R., L.-G. Fortin, V. Fortin, J.-P. Fortin and J.-P. Villeneuve (2007), -#' Operational analysis of the spatial distribution and the temporal evolution of the snowpack water equivalent -#' in southern Quebec, Canada, Nordic Hydrology, 38(3), 211, doi:10.2166/nh.2007.009. \cr -#' Valéry, A. (2010), Modélisation précipitations-débit sous influence nivale ? : Elaboration d'un module neige -#' et évaluation sur 380 bassins versants, PhD thesis (in french), AgroParisTech, Paris, France. \cr -#' USACE (1956), Snow Hydrology, pp. 437, U.S. Army Coprs of Engineers (USACE) North Pacific Division, Portland, Oregon, USA. -#' @seealso \code{\link{CreateInputsModel}}, \code{\link{RunModel_CemaNeigeGR4J}} -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param DatesR [POSIXlt] vector of dates -#' @param Precip [numeric] time series of daily total precipitation (catchment average) [mm] -#' @param TempMean [numeric] time series of daily mean air temperature [degC] -#' @param TempMin (optional) [numeric] time series of daily min air temperature [degC] -#' @param TempMax (optional) [numeric] time series of daily max air temperature [degC] -#' @param ZInputs [numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m] -#' @param HypsoData [numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m] -#' @param NLayers [numeric] integer giving the number of elevation layers requested [-] -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return list containing the extrapolated series of precip. and air temp. on each elevation layer -#' \tabular{ll}{ -#' \emph{$LayerPrecip } \tab [list] list of time series of daily precipitation (layer average) [mm] \cr -#' \emph{$LayerTempMean } \tab [list] list of time series of daily mean air temperature (layer average) [degC] \cr -#' \emph{$LayerTempMin } \tab [list] list of time series of daily min air temperature (layer average) [degC] \cr -#' \emph{$LayerTempMax } \tab [list] list of time series of daily max air temperature (layer average) [degC] \cr -#' \emph{$LayerFracSolidPrecip} \tab [list] list of time series of daily solid precip. fract. (layer average) [-] \cr -#' \emph{$ZLayers } \tab [numeric] vector of median elevation for each layer \cr -#' } -#***************************************************************************************************************** -DataAltiExtrapolation_HBAN <- function(DatesR,Precip,TempMean,TempMin=NULL,TempMax=NULL,ZInputs,HypsoData,NLayers,quiet=FALSE){ - - - ##Altitudinal_gradient_functions_______________________________________________________________ - ##unique_gradient_for_precipitation - GradP_Valery2010 <- function(){ - return(0.00041); ### value from Val? PhD thesis page 126 - } - ##daily_gradients_for_mean_min_and_max_air_temperature - GradT_Valery2010 <- function(){ - RESULT <- matrix(c( - 1, 1, 0.434, 0.366, 0.498, - 2, 1, 0.434, 0.366, 0.500, - 3, 1, 0.435, 0.367, 0.501, - 4, 1, 0.436, 0.367, 0.503, - 5, 1, 0.437, 0.367, 0.504, - 6, 1, 0.439, 0.367, 0.506, - 7, 1, 0.440, 0.367, 0.508, - 8, 1, 0.441, 0.368, 0.510, - 9, 1, 0.442, 0.368, 0.512, - 10, 1, 0.444, 0.368, 0.514, - 11, 1, 0.445, 0.368, 0.517, - 12, 1, 0.446, 0.368, 0.519, - 13, 1, 0.448, 0.369, 0.522, - 14, 1, 0.450, 0.369, 0.525, - 15, 1, 0.451, 0.369, 0.527, - 16, 1, 0.453, 0.370, 0.530, - 17, 1, 0.455, 0.370, 0.533, - 18, 1, 0.456, 0.370, 0.537, - 19, 1, 0.458, 0.371, 0.540, - 20, 1, 0.460, 0.371, 0.543, - 21, 1, 0.462, 0.371, 0.547, - 22, 1, 0.464, 0.372, 0.550, - 23, 1, 0.466, 0.372, 0.554, - 24, 1, 0.468, 0.373, 0.558, - 25, 1, 0.470, 0.373, 0.561, - 26, 1, 0.472, 0.374, 0.565, - 27, 1, 0.474, 0.374, 0.569, - 28, 1, 0.476, 0.375, 0.573, - 29, 1, 0.478, 0.375, 0.577, - 30, 1, 0.480, 0.376, 0.582, - 31, 1, 0.483, 0.376, 0.586, - 1, 2, 0.485, 0.377, 0.590, - 2, 2, 0.487, 0.377, 0.594, - 3, 2, 0.489, 0.378, 0.599, - 4, 2, 0.492, 0.379, 0.603, - 5, 2, 0.494, 0.379, 0.607, - 6, 2, 0.496, 0.380, 0.612, - 7, 2, 0.498, 0.381, 0.616, - 8, 2, 0.501, 0.381, 0.621, - 9, 2, 0.503, 0.382, 0.625, - 10, 2, 0.505, 0.383, 0.630, - 11, 2, 0.508, 0.384, 0.634, - 12, 2, 0.510, 0.384, 0.639, - 13, 2, 0.512, 0.385, 0.643, - 14, 2, 0.515, 0.386, 0.648, - 15, 2, 0.517, 0.387, 0.652, - 16, 2, 0.519, 0.387, 0.657, - 17, 2, 0.522, 0.388, 0.661, - 18, 2, 0.524, 0.389, 0.666, - 19, 2, 0.526, 0.390, 0.670, - 20, 2, 0.528, 0.391, 0.674, - 21, 2, 0.530, 0.392, 0.679, - 22, 2, 0.533, 0.393, 0.683, - 23, 2, 0.535, 0.393, 0.687, - 24, 2, 0.537, 0.394, 0.691, - 25, 2, 0.539, 0.395, 0.695, - 26, 2, 0.541, 0.396, 0.699, - 27, 2, 0.543, 0.397, 0.703, - 28, 2, 0.545, 0.398, 0.707, - 29, 2, 0.546, 0.399, 0.709, - 1, 3, 0.547, 0.399, 0.711, - 2, 3, 0.549, 0.400, 0.715, - 3, 3, 0.551, 0.401, 0.718, - 4, 3, 0.553, 0.402, 0.722, - 5, 3, 0.555, 0.403, 0.726, - 6, 3, 0.557, 0.404, 0.729, - 7, 3, 0.559, 0.405, 0.732, - 8, 3, 0.560, 0.406, 0.736, - 9, 3, 0.562, 0.406, 0.739, - 10, 3, 0.564, 0.407, 0.742, - 11, 3, 0.566, 0.408, 0.745, - 12, 3, 0.567, 0.409, 0.748, - 13, 3, 0.569, 0.410, 0.750, - 14, 3, 0.570, 0.411, 0.753, - 15, 3, 0.572, 0.412, 0.756, - 16, 3, 0.573, 0.413, 0.758, - 17, 3, 0.575, 0.414, 0.761, - 18, 3, 0.576, 0.415, 0.763, - 19, 3, 0.577, 0.416, 0.765, - 20, 3, 0.579, 0.417, 0.767, - 21, 3, 0.580, 0.417, 0.769, - 22, 3, 0.581, 0.418, 0.771, - 23, 3, 0.582, 0.419, 0.773, - 24, 3, 0.583, 0.420, 0.774, - 25, 3, 0.584, 0.421, 0.776, - 26, 3, 0.585, 0.422, 0.777, - 27, 3, 0.586, 0.422, 0.779, - 28, 3, 0.587, 0.423, 0.780, - 29, 3, 0.588, 0.424, 0.781, - 30, 3, 0.589, 0.425, 0.782, - 31, 3, 0.590, 0.425, 0.783, - 1, 4, 0.591, 0.426, 0.784, - 2, 4, 0.591, 0.427, 0.785, - 3, 4, 0.592, 0.427, 0.785, - 4, 4, 0.593, 0.428, 0.786, - 5, 4, 0.593, 0.429, 0.787, - 6, 4, 0.594, 0.429, 0.787, - 7, 4, 0.595, 0.430, 0.787, - 8, 4, 0.595, 0.431, 0.788, - 9, 4, 0.596, 0.431, 0.788, - 10, 4, 0.596, 0.432, 0.788, - 11, 4, 0.597, 0.432, 0.788, - 12, 4, 0.597, 0.433, 0.788, - 13, 4, 0.597, 0.433, 0.788, - 14, 4, 0.598, 0.434, 0.788, - 15, 4, 0.598, 0.434, 0.788, - 16, 4, 0.598, 0.435, 0.787, - 17, 4, 0.599, 0.435, 0.787, - 18, 4, 0.599, 0.436, 0.787, - 19, 4, 0.599, 0.436, 0.786, - 20, 4, 0.599, 0.436, 0.786, - 21, 4, 0.600, 0.437, 0.785, - 22, 4, 0.600, 0.437, 0.785, - 23, 4, 0.600, 0.437, 0.784, - 24, 4, 0.600, 0.438, 0.784, - 25, 4, 0.600, 0.438, 0.783, - 26, 4, 0.601, 0.438, 0.783, - 27, 4, 0.601, 0.438, 0.782, - 28, 4, 0.601, 0.439, 0.781, - 29, 4, 0.601, 0.439, 0.781, - 30, 4, 0.601, 0.439, 0.780, - 1, 5, 0.601, 0.439, 0.779, - 2, 5, 0.601, 0.439, 0.778, - 3, 5, 0.601, 0.439, 0.778, - 4, 5, 0.601, 0.440, 0.777, - 5, 5, 0.601, 0.440, 0.776, - 6, 5, 0.601, 0.440, 0.775, - 7, 5, 0.601, 0.440, 0.775, - 8, 5, 0.601, 0.440, 0.774, - 9, 5, 0.601, 0.440, 0.773, - 10, 5, 0.602, 0.440, 0.772, - 11, 5, 0.602, 0.440, 0.772, - 12, 5, 0.602, 0.440, 0.771, - 13, 5, 0.602, 0.440, 0.770, - 14, 5, 0.602, 0.440, 0.770, - 15, 5, 0.602, 0.440, 0.769, - 16, 5, 0.602, 0.440, 0.768, - 17, 5, 0.602, 0.440, 0.768, - 18, 5, 0.602, 0.440, 0.767, - 19, 5, 0.602, 0.440, 0.767, - 20, 5, 0.602, 0.440, 0.766, - 21, 5, 0.602, 0.440, 0.766, - 22, 5, 0.602, 0.440, 0.765, - 23, 5, 0.602, 0.440, 0.765, - 24, 5, 0.602, 0.440, 0.764, - 25, 5, 0.602, 0.440, 0.764, - 26, 5, 0.602, 0.440, 0.764, - 27, 5, 0.602, 0.439, 0.763, - 28, 5, 0.602, 0.439, 0.763, - 29, 5, 0.602, 0.439, 0.763, - 30, 5, 0.602, 0.439, 0.762, - 31, 5, 0.602, 0.439, 0.762, - 1, 6, 0.602, 0.439, 0.762, - 2, 6, 0.602, 0.439, 0.762, - 3, 6, 0.602, 0.439, 0.762, - 4, 6, 0.602, 0.439, 0.762, - 5, 6, 0.602, 0.439, 0.762, - 6, 6, 0.602, 0.438, 0.761, - 7, 6, 0.602, 0.438, 0.761, - 8, 6, 0.602, 0.438, 0.761, - 9, 6, 0.602, 0.438, 0.761, - 10, 6, 0.602, 0.438, 0.761, - 11, 6, 0.602, 0.438, 0.762, - 12, 6, 0.602, 0.438, 0.762, - 13, 6, 0.602, 0.438, 0.762, - 14, 6, 0.602, 0.438, 0.762, - 15, 6, 0.602, 0.437, 0.762, - 16, 6, 0.602, 0.437, 0.762, - 17, 6, 0.602, 0.437, 0.762, - 18, 6, 0.602, 0.437, 0.762, - 19, 6, 0.602, 0.437, 0.763, - 20, 6, 0.602, 0.437, 0.763, - 21, 6, 0.602, 0.437, 0.763, - 22, 6, 0.602, 0.436, 0.763, - 23, 6, 0.602, 0.436, 0.763, - 24, 6, 0.602, 0.436, 0.764, - 25, 6, 0.602, 0.436, 0.764, - 26, 6, 0.601, 0.436, 0.764, - 27, 6, 0.601, 0.436, 0.764, - 28, 6, 0.601, 0.436, 0.764, - 29, 6, 0.601, 0.435, 0.765, - 30, 6, 0.601, 0.435, 0.765, - 1, 7, 0.601, 0.435, 0.765, - 2, 7, 0.600, 0.435, 0.765, - 3, 7, 0.600, 0.435, 0.765, - 4, 7, 0.600, 0.434, 0.766, - 5, 7, 0.600, 0.434, 0.766, - 6, 7, 0.599, 0.434, 0.766, - 7, 7, 0.599, 0.434, 0.766, - 8, 7, 0.599, 0.434, 0.766, - 9, 7, 0.598, 0.433, 0.766, - 10, 7, 0.598, 0.433, 0.766, - 11, 7, 0.598, 0.433, 0.766, - 12, 7, 0.597, 0.433, 0.766, - 13, 7, 0.597, 0.432, 0.767, - 14, 7, 0.597, 0.432, 0.767, - 15, 7, 0.596, 0.432, 0.767, - 16, 7, 0.596, 0.432, 0.766, - 17, 7, 0.595, 0.431, 0.766, - 18, 7, 0.595, 0.431, 0.766, - 19, 7, 0.594, 0.431, 0.766, - 20, 7, 0.594, 0.430, 0.766, - 21, 7, 0.593, 0.430, 0.766, - 22, 7, 0.593, 0.430, 0.766, - 23, 7, 0.592, 0.429, 0.765, - 24, 7, 0.592, 0.429, 0.765, - 25, 7, 0.591, 0.428, 0.765, - 26, 7, 0.590, 0.428, 0.765, - 27, 7, 0.590, 0.428, 0.764, - 28, 7, 0.589, 0.427, 0.764, - 29, 7, 0.588, 0.427, 0.764, - 30, 7, 0.588, 0.426, 0.763, - 31, 7, 0.587, 0.426, 0.763, - 1, 8, 0.586, 0.425, 0.762, - 2, 8, 0.586, 0.425, 0.762, - 3, 8, 0.585, 0.424, 0.761, - 4, 8, 0.584, 0.424, 0.761, - 5, 8, 0.583, 0.423, 0.760, - 6, 8, 0.583, 0.423, 0.760, - 7, 8, 0.582, 0.422, 0.759, - 8, 8, 0.581, 0.421, 0.758, - 9, 8, 0.580, 0.421, 0.758, - 10, 8, 0.579, 0.420, 0.757, - 11, 8, 0.578, 0.420, 0.756, - 12, 8, 0.578, 0.419, 0.755, - 13, 8, 0.577, 0.418, 0.754, - 14, 8, 0.576, 0.418, 0.754, - 15, 8, 0.575, 0.417, 0.753, - 16, 8, 0.574, 0.416, 0.752, - 17, 8, 0.573, 0.415, 0.751, - 18, 8, 0.572, 0.415, 0.750, - 19, 8, 0.571, 0.414, 0.749, - 20, 8, 0.570, 0.413, 0.748, - 21, 8, 0.569, 0.413, 0.747, - 22, 8, 0.569, 0.412, 0.746, - 23, 8, 0.568, 0.411, 0.745, - 24, 8, 0.567, 0.410, 0.744, - 25, 8, 0.566, 0.409, 0.743, - 26, 8, 0.565, 0.409, 0.742, - 27, 8, 0.564, 0.408, 0.741, - 28, 8, 0.563, 0.407, 0.740, - 29, 8, 0.562, 0.406, 0.738, - 30, 8, 0.561, 0.405, 0.737, - 31, 8, 0.560, 0.405, 0.736, - 1, 9, 0.558, 0.404, 0.735, - 2, 9, 0.557, 0.403, 0.734, - 3, 9, 0.556, 0.402, 0.732, - 4, 9, 0.555, 0.401, 0.731, - 5, 9, 0.554, 0.401, 0.730, - 6, 9, 0.553, 0.400, 0.728, - 7, 9, 0.552, 0.399, 0.727, - 8, 9, 0.551, 0.398, 0.725, - 9, 9, 0.550, 0.397, 0.724, - 10, 9, 0.549, 0.396, 0.723, - 11, 9, 0.548, 0.396, 0.721, - 12, 9, 0.546, 0.395, 0.720, - 13, 9, 0.545, 0.394, 0.718, - 14, 9, 0.544, 0.393, 0.717, - 15, 9, 0.543, 0.392, 0.715, - 16, 9, 0.542, 0.391, 0.713, - 17, 9, 0.541, 0.391, 0.712, - 18, 9, 0.540, 0.390, 0.710, - 19, 9, 0.538, 0.389, 0.709, - 20, 9, 0.537, 0.388, 0.707, - 21, 9, 0.536, 0.388, 0.705, - 22, 9, 0.535, 0.387, 0.703, - 23, 9, 0.533, 0.386, 0.702, - 24, 9, 0.532, 0.385, 0.700, - 25, 9, 0.531, 0.385, 0.698, - 26, 9, 0.530, 0.384, 0.696, - 27, 9, 0.528, 0.383, 0.694, - 28, 9, 0.527, 0.383, 0.692, - 29, 9, 0.526, 0.382, 0.690, - 30, 9, 0.525, 0.381, 0.688, - 1, 10, 0.523, 0.381, 0.686, - 2, 10, 0.522, 0.380, 0.684, - 3, 10, 0.521, 0.379, 0.682, - 4, 10, 0.519, 0.379, 0.680, - 5, 10, 0.518, 0.378, 0.678, - 6, 10, 0.517, 0.377, 0.676, - 7, 10, 0.515, 0.377, 0.674, - 8, 10, 0.514, 0.376, 0.671, - 9, 10, 0.512, 0.376, 0.669, - 10, 10, 0.511, 0.375, 0.667, - 11, 10, 0.510, 0.375, 0.664, - 12, 10, 0.508, 0.374, 0.662, - 13, 10, 0.507, 0.374, 0.659, - 14, 10, 0.505, 0.373, 0.657, - 15, 10, 0.504, 0.373, 0.654, - 16, 10, 0.502, 0.372, 0.652, - 17, 10, 0.501, 0.372, 0.649, - 18, 10, 0.499, 0.372, 0.647, - 19, 10, 0.498, 0.371, 0.644, - 20, 10, 0.496, 0.371, 0.641, - 21, 10, 0.495, 0.371, 0.639, - 22, 10, 0.493, 0.370, 0.636, - 23, 10, 0.492, 0.370, 0.633, - 24, 10, 0.490, 0.370, 0.630, - 25, 10, 0.489, 0.369, 0.628, - 26, 10, 0.487, 0.369, 0.625, - 27, 10, 0.485, 0.369, 0.622, - 28, 10, 0.484, 0.368, 0.619, - 29, 10, 0.482, 0.368, 0.616, - 30, 10, 0.481, 0.368, 0.613, - 31, 10, 0.479, 0.368, 0.610, - 1, 11, 0.478, 0.368, 0.607, - 2, 11, 0.476, 0.367, 0.604, - 3, 11, 0.475, 0.367, 0.601, - 4, 11, 0.473, 0.367, 0.598, - 5, 11, 0.471, 0.367, 0.595, - 6, 11, 0.470, 0.367, 0.592, - 7, 11, 0.468, 0.367, 0.589, - 8, 11, 0.467, 0.366, 0.586, - 9, 11, 0.465, 0.366, 0.583, - 10, 11, 0.464, 0.366, 0.580, - 11, 11, 0.462, 0.366, 0.577, - 12, 11, 0.461, 0.366, 0.574, - 13, 11, 0.459, 0.366, 0.571, - 14, 11, 0.458, 0.366, 0.568, - 15, 11, 0.456, 0.366, 0.565, - 16, 11, 0.455, 0.366, 0.562, - 17, 11, 0.454, 0.366, 0.559, - 18, 11, 0.452, 0.365, 0.556, - 19, 11, 0.451, 0.365, 0.553, - 20, 11, 0.450, 0.365, 0.550, - 21, 11, 0.448, 0.365, 0.547, - 22, 11, 0.447, 0.365, 0.544, - 23, 11, 0.446, 0.365, 0.542, - 24, 11, 0.445, 0.365, 0.539, - 25, 11, 0.443, 0.365, 0.536, - 26, 11, 0.442, 0.365, 0.533, - 27, 11, 0.441, 0.365, 0.531, - 28, 11, 0.440, 0.365, 0.528, - 29, 11, 0.439, 0.365, 0.526, - 30, 11, 0.438, 0.365, 0.523, - 1, 12, 0.437, 0.365, 0.521, - 2, 12, 0.436, 0.365, 0.519, - 3, 12, 0.435, 0.365, 0.517, - 4, 12, 0.434, 0.365, 0.515, - 5, 12, 0.434, 0.365, 0.513, - 6, 12, 0.433, 0.365, 0.511, - 7, 12, 0.432, 0.365, 0.509, - 8, 12, 0.431, 0.365, 0.507, - 9, 12, 0.431, 0.365, 0.505, - 10, 12, 0.430, 0.365, 0.504, - 11, 12, 0.430, 0.365, 0.502, - 12, 12, 0.429, 0.365, 0.501, - 13, 12, 0.429, 0.365, 0.500, - 14, 12, 0.429, 0.365, 0.498, - 15, 12, 0.428, 0.365, 0.497, - 16, 12, 0.428, 0.365, 0.496, - 17, 12, 0.428, 0.365, 0.496, - 18, 12, 0.428, 0.365, 0.495, - 19, 12, 0.428, 0.365, 0.494, - 20, 12, 0.428, 0.365, 0.494, - 21, 12, 0.428, 0.365, 0.494, - 22, 12, 0.428, 0.365, 0.493, - 23, 12, 0.429, 0.365, 0.493, - 24, 12, 0.429, 0.366, 0.493, - 25, 12, 0.429, 0.366, 0.493, - 26, 12, 0.430, 0.366, 0.494, - 27, 12, 0.430, 0.366, 0.494, - 28, 12, 0.431, 0.366, 0.495, - 29, 12, 0.431, 0.366, 0.495, - 30, 12, 0.432, 0.366, 0.496, - 31, 12, 0.433, 0.366, 0.497),ncol=5,byrow=TRUE); - dimnames(RESULT) <- list(1:366,c("day","month","grad_Tmean","grad_Tmin","grad_Tmax")); - return(RESULT); - } - - - - ##Format_______________________________________________________________________________________ - HypsoData <- as.double(HypsoData); - ZInputs <- as.double(ZInputs); - - - ##ElevationLayers_Creation_____________________________________________________________________ - ZLayers <- as.double(rep(NA,NLayers)); - if(!identical(HypsoData,as.double(rep(NA,101)))){ - nmoy <- 100 %/% NLayers; - nreste <- 100 %% NLayers; - ncont <- 0; - for(iLayer in 1:NLayers){ - if(nreste > 0){ nn <- nmoy+1; nreste <- nreste-1; } else { nn <- nmoy; } - if(nn==1){ ZLayers[iLayer] <- HypsoData[ncont+1]; } - if(nn==2){ ZLayers[iLayer] <- 0.5 * (HypsoData[ncont+1] + HypsoData[ncont+2]); } - if(nn>2 ){ ZLayers[iLayer] <- HypsoData[ncont+nn/2]; } - ncont <- ncont+nn; - } - } - - - ##Precipitation_extrapolation__________________________________________________________________ - ##Initialisation - LayerPrecip <- list(); - if(identical(ZInputs,HypsoData[51]) & NLayers==1){ - LayerPrecip[[1]] <- as.double(Precip); - } else { - ##Elevation_gradients_for_daily_mean_precipitation - GradP <- GradP_Valery2010(); ### single value - TabGradP <- rep(GradP,length(Precip)); - ##Extrapolation - ##Thresold_of_inputs_median_elevation - Zthreshold <- 4000; - ##_On_each_elevation_layer... - for(iLayer in 1:NLayers){ - ##If_inputs_median_elevation_greater_then_Zthreshold... - if(ZInputs > Zthreshold){ - if(ZLayers[iLayer] > Zthreshold){ LayerPrecip[[iLayer]] <- as.double(Precip); } - if(ZLayers[iLayer] <= Zthreshold){ LayerPrecip[[iLayer]] <- as.double(Precip*exp(TabGradP*(ZLayers[iLayer]-ZInputs))); } - ##If_inputs_median_elevation_smaller_than_Zthreshold... - } else { - if(ZLayers[iLayer] > Zthreshold){ LayerPrecip[[iLayer]] <- as.double(Precip*exp(TabGradP*(Zthreshold-ZInputs))); } - if(ZLayers[iLayer] <= Zthreshold){ LayerPrecip[[iLayer]] <- as.double(Precip*exp(TabGradP*(ZLayers[iLayer]-ZInputs))); } - } - } - } - - - - ##Temperature_extrapolation____________________________________________________________________ - ##Initialisation - LayerTempMean <- list(); LayerTempMin <- list(); LayerTempMax <- list(); - if(identical(ZInputs,HypsoData[51]) & NLayers==1){ - LayerTempMean[[1]] <- as.double(TempMean); - if(!is.null(TempMin) & !is.null(TempMax)){ LayerTempMin[[1]] <- as.double(TempMin); LayerTempMax[[1]] <- as.double(TempMax); } - } else { - ##Elevation_gradients_for_daily_mean_min_and_max_temperature - GradT <- GradT_Valery2010(); ### Day, Month, GradTmean, GradTmin and GradTmax for iCol=1,2,3,4,5, respectively - TabGradT <- matrix(NA,nrow=length(Precip),ncol=3); - for(iday in 1:366){ - ind <- which(as.numeric(format(DatesR,format="%d"))==GradT[iday,1] & as.numeric(format(DatesR,format="%m"))==GradT[iday,2]); - TabGradT[ind,1:3] <- GradT[iday,3:5]; - } - ##Extrapolation - ##On_each_elevation_layer... - for(iLayer in 1:NLayers){ - LayerTempMean[[iLayer]] <- as.double(TempMean + (ZInputs-ZLayers[iLayer])*abs(TabGradT[,1])/100); - if(!is.null(TempMin) & !is.null(TempMax)){ - LayerTempMin[[iLayer]] <- as.double(TempMin + (ZInputs-ZLayers[iLayer])*abs(TabGradT[,2])/100); - LayerTempMax[[iLayer]] <- as.double(TempMax + (ZInputs-ZLayers[iLayer])*abs(TabGradT[,3])/100); - } - } - } - - - - ##Solid_Fraction_for_each_elevation_layer______________________________________________________ - LayerFracSolidPrecip <- list(); - ##Thresold_of_inputs_median_elevation - Zthreshold <- 1500; - ##On_each_elevation_layer... - for(iLayer in 1:NLayers){ - Option <- "USACE"; - if(!is.na(ZInputs)){ if(ZInputs < Zthreshold & !is.null(TempMin) & !is.null(TempMax)){ Option <- "Hydrotel"; } } - ##Turcotte_formula_from_Hydrotel - if(Option=="Hydrotel"){ - TempMin <- LayerTempMin[[iLayer]]; - TempMax <- LayerTempMax[[iLayer]]; - SolidFraction <- 1 - TempMax/(TempMax - TempMin); - SolidFraction[TempMin >= 0] <- 0; - SolidFraction[TempMax <= 0] <- 1; - } - ##USACE_formula - if(Option=="USACE"){ - USACE_Tmin <- -1.0; - USACE_Tmax <- 3.0; - TempMean <- LayerTempMean[[iLayer]]; - SolidFraction <- 1- (TempMean - USACE_Tmin)/(USACE_Tmax - USACE_Tmin); - SolidFraction[TempMean > USACE_Tmax] <- 0; - SolidFraction[TempMean < USACE_Tmin] <- 1; - } - LayerFracSolidPrecip[[iLayer]] <- as.double(SolidFraction); - } - - - - - ##END__________________________________________________________________________________________ - return(list(LayerPrecip=LayerPrecip,LayerTempMean=LayerTempMean,LayerTempMin=LayerTempMin,LayerTempMax=LayerTempMax, - LayerFracSolidPrecip=LayerFracSolidPrecip,ZLayers=ZLayers)); - -} - - diff --git a/files_R/ErrorCrit.R b/files_R/ErrorCrit.R deleted file mode 100644 index fe874c83400ee80199235af8100a22900744cb42..0000000000000000000000000000000000000000 --- a/files_R/ErrorCrit.R +++ /dev/null @@ -1,22 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion with the provided function. -#***************************************************************************************************************** -#' @title Error criterion using the provided function -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}} -#' @example tests/example_ErrorCrit.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs, see \code{\link{ErrorCrit_RMSE}} or \code{\link{ErrorCrit_NSE}} for details -#*****************************************************************************************************************' -ErrorCrit <- function(InputsCrit,OutputsModel,FUN_CRIT,quiet=FALSE){ - return( FUN_CRIT(InputsCrit,OutputsModel,quiet=quiet) ) -} - diff --git a/files_R/ErrorCrit_KGE.R b/files_R/ErrorCrit_KGE.R deleted file mode 100644 index 38ecb2fe0ac4b322a5998401fa062bd3444670fe..0000000000000000000000000000000000000000 --- a/files_R/ErrorCrit_KGE.R +++ /dev/null @@ -1,114 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE formula proposed by Gupta et al. (2009). -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the KGE formula -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_KGE <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "KGE[Q]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE[sqrt(Q)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "KGE[log(Q)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "KGE[1/Q]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "KGE[sort(Q)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," rPEARSON(sim vs. obs)",sep=""); - SubCritValues[iCrit] <- NA; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_alpha_____________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," STDEVsim/STDEVobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- sd(VarSim[!TS_ignore]) / sd(VarObs[!TS_ignore]); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," MEANsim/MEANobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) ); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R/ErrorCrit_KGE2.R b/files_R/ErrorCrit_KGE2.R deleted file mode 100644 index c6bb1ed8de4fc62ec3a46870af4cec5e14436d88..0000000000000000000000000000000000000000 --- a/files_R/ErrorCrit_KGE2.R +++ /dev/null @@ -1,119 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE' formula proposed by Kling et al. (2012). -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the KGE' formula -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' Kling, H., Fuchs, M. and Paulin, M. (2012), -#' Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, -#' Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011. -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#*****************************************************************************************************************' -ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "KGE'[Q]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE'[sqrt(Q)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "KGE'[log(Q)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "KGE'[1/Q]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "KGE'[sort(Q)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," rPEARSON(sim vs. obs)",sep=""); - SubCritValues[iCrit] <- NA; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_gama______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," CVsim/CVobs",sep=""); - SubCritValues[iCrit] <- NA; - CVsim <- sd(VarSim[!TS_ignore])/meanVarSim; - CVobs <- sd(VarObs[!TS_ignore])/meanVarObs; - Crit <- CVsim / CVobs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," MEANsim/MEANobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) ); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R/ErrorCrit_NSE.R b/files_R/ErrorCrit_NSE.R deleted file mode 100644 index 48f3caeaa0e23bb5a5eddf0d7fecdbca1b8bebc7..0000000000000000000000000000000000000000 --- a/files_R/ErrorCrit_NSE.R +++ /dev/null @@ -1,83 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the NSE formula proposed by Nash & Sutcliffe (1970). -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the NSE formula -#' @author Laurent Coron (June 2014) -#' @references -#' Nash, J.E. and Sutcliffe, J.V. (1970), -#' River flow forecasting through conceptual models part 1. -#' A discussion of principles, Journal of Hydrology, 10(3), 282-290, doi:10.1016/0022-1694(70)90255-6. \cr -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_NSE <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "NSE[Q]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "NSE[sqrt(Q)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "NSE[log(Q)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "NSE[1/Q]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "NSE[sort(Q)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - - -##ErrorCrit______________________________________ - Emod <- sum((VarSim[!TS_ignore]-VarObs[!TS_ignore])^2); - Eref <- sum((VarObs[!TS_ignore]-mean(VarObs[!TS_ignore]))^2); - Crit <- (1-Emod/Eref); - if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R/ErrorCrit_RMSE.R b/files_R/ErrorCrit_RMSE.R deleted file mode 100644 index 9e21667b676b89343eb7fd5c4821357fba5efd99..0000000000000000000000000000000000000000 --- a/files_R/ErrorCrit_RMSE.R +++ /dev/null @@ -1,76 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the root mean square error (RMSE). -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the RMSE -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_RMSE <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "RMSE[Q]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "RMSE[sqrt(Q)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "RMSE[log(Q)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "RMSE[1/Q]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "RMSE[sort(Q)]"; } - - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - -##ErrorCrit______________________________________ - Crit <- sqrt(sum((VarSim-VarObs)^2,na.rm=TRUE)/sum(!is.na(VarObs))); - if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R/PEdaily_Oudin.R b/files_R/PEdaily_Oudin.R deleted file mode 100644 index 1f3b2c6d311a6b514459677e2772a0489961b80c..0000000000000000000000000000000000000000 --- a/files_R/PEdaily_Oudin.R +++ /dev/null @@ -1,58 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes daily PE using the formula from Oudin et al. (2005). -#***************************************************************************************************************** -#' @title Computation of daily series of potential evapotranspiration with Oudin's formula -#' @author Laurent Coron (December 2013) -#' @references -#' Oudin, L., F. Hervieu, C. Michel, C. Perrin, V. Andréassian, F. Anctil and C. Loumagne (2005), -#' Which potential evapotranspiration input for a lumped rainfall-runoff model?: Part 2-Towards a -#' simple and efficient potential evapotranspiration model for rainfall-runoff modelling, Journal of Hydrology, -#' 303(1-4), 290-306, doi:10.1016/j.jhydrol.2004.08.026. -#' @examples -#' require(airGR) -#' data(L0123001) -#' PotEvap <- PEdaily_Oudin(JD=as.POSIXlt(BasinObs$DatesR)$yday,Temp=BasinObs$T,LatRad=0.8) -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param JD [numeric] time series of julian day [-] -#' @param Temp [numeric] time series of daily mean air temperature [degC] -#' @param LatRad [numeric] latitude of measurement for the temperature series [rad] -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [numeric] time series of daily potential evapotranspiration [mm/d] -#*****************************************************************************************************************' -PEdaily_Oudin <- function(JD,Temp,LatRad){ - - PE_Oudin_D <- rep(NA,length(Temp)); - for(k in 1:length(Temp)){ - - FI <- LatRad ### latitude in rad - ### FI <- LatDeg/(180/pi) ### conversion from deg to rad - COSFI <- cos(FI) - AFI <- abs(LatRad/42.) - - TETA <- 0.4093*sin(JD[k]/58.1-1.405) - COSTETA <- cos(TETA) - COSGZ <- max(0.001,cos(FI-TETA)) - GZ <- acos(COSGZ) - COSGZ2 <- COSGZ*COSGZ - if(COSGZ2 >= 1){ SINGZ <- 0. } else { SINGZ <- sqrt(1.-COSGZ2) } - COSOM <- 1.-COSGZ/COSFI/COSTETA - if(COSOM < -1.){ COSOM <- -1. } - if(COSOM > 1.){ COSOM <- 1. } - COSOM2 <- COSOM*COSOM - if(COSOM2 >= 1.){ SINOM <- 0. } else { SINOM <- sqrt(1.-COSOM2) } - OM <- acos(COSOM) - COSPZ <- COSGZ+COSFI*COSTETA*(SINOM/OM-1.) - if(COSPZ < 0.001){ COSPZ <- 0.001 } - ETA <- 1.+cos(JD[k]/58.1)/30. - GE <- 446.*OM*COSPZ*ETA - - if(Temp[k] >= -5.0) { PE_Oudin_D[k] <- GE*(Temp[k]+5.)/100./28.5 } else { PE_Oudin_D[k] <- 0 } - - } - - return(PE_Oudin_D); - -} - diff --git a/files_R/RunModel.R b/files_R/RunModel.R deleted file mode 100644 index 4acfd1e28be3e73985aac908030b6ad6c86fe653..0000000000000000000000000000000000000000 --- a/files_R/RunModel.R +++ /dev/null @@ -1,22 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run with the provided function. -#***************************************************************************************************************** -#' @title Run with the provided hydrological model function -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of model parameters -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#*****************************************************************************************************************' -RunModel <- function(InputsModel,RunOptions,Param,FUN_MOD){ - return( FUN_MOD(InputsModel,RunOptions,Param) ) -} - diff --git a/files_R/RunModel_CemaNeige.R b/files_R/RunModel_CemaNeige.R deleted file mode 100644 index 6842f722cfc1ae6d071d0966bd55aaaf9dd7d850..0000000000000000000000000000000000000000 --- a/files_R/RunModel_CemaNeige.R +++ /dev/null @@ -1,131 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeige. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the CemaNeige snow module -#' @author Laurent Coron (January 2014) -#' @references -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel_CemaNeige.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 2 parameters -#' \tabular{ll}{ -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer)\cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#*****************************************************************************************************************' -RunModel_CemaNeige <- function(InputsModel,RunOptions,Param){ - - NParam <- 2; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,0)){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):length(IndPeriod1); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - - ##SNOW_MODULE________________________________________________________________________________## - ParamCemaNeige <- Param; - NLayers <- length(InputsModel$LayerPrecip); - if(sum(is.na(ParamCemaNeige))!=0){ stop("Param contains missing values \n"); return(NULL); } - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (2*(iLayer-1)+1):(2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=as.integer(length(IndPeriod1)), ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=length(IndPeriod1),ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - - ##Output_data_preparation - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- list(CemaNeigeLayers); - names(OutputsModel) <- NameCemaNeigeLayers; } - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",NameCemaNeigeLayers); } - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(CemaNeigeLayers), - CemaNeigeStateEnd ); - names(OutputsModel) <- c(NameCemaNeigeLayers,"StateEnd"); } - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - list(CemaNeigeLayers), - CemaNeigeStateEnd ); - names(OutputsModel) <- c("DatesR",NameCemaNeigeLayers,"StateEnd"); } - - ##End - class(OutputsModel) <- c("OutputsModel","daily","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R/RunModel_CemaNeigeGR4J.R b/files_R/RunModel_CemaNeigeGR4J.R deleted file mode 100644 index 541e7ecc182c01d5af967fbfaecad9ba73f415fe..0000000000000000000000000000000000000000 --- a/files_R/RunModel_CemaNeigeGR4J.R +++ /dev/null @@ -1,208 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeigeGR4J. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the CemaNeigeGR4J hydrological model -#' @author Laurent Coron (December 2013) -#' @references -#' Perrin, C., C. Michel and V. Andréassian (2003), -#' Improvement of a parsimonious model for streamflow simulation, -#' Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7. -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{RunModel_GR4J}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel_CemaNeigeGR4J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 6 parameters -#' \tabular{ll}{ -#' GR4J X1 \tab production store capacity [mm] \cr -#' GR4J X2 \tab intercatchment exchange coefficient [mm/d] \cr -#' GR4J X3 \tab routing store capacity [mm] \cr -#' GR4J X4 \tab unit hydrograph time constant [d] \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#*****************************************************************************************************************' -RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ - - NParam <- 6; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr4j",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R/RunModel_CemaNeigeGR5J.R b/files_R/RunModel_CemaNeigeGR5J.R deleted file mode 100644 index eef4427ebc46bb37e81b56b526714c502883192c..0000000000000000000000000000000000000000 --- a/files_R/RunModel_CemaNeigeGR5J.R +++ /dev/null @@ -1,210 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeigeGR5J. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the CemaNeigeGR5J hydrological model -#' @author Laurent Coron (December 2013) -#' @references -#' Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances -#' et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr -#' Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), -#' A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, -#' Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{RunModel_GR5J}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel_CemaNeigeGR5J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 7 parameters -#' \tabular{ll}{ -#' GR5J X1 \tab production store capacity [mm] \cr -#' GR5J X2 \tab intercatchment exchange coefficient 1 [mm/d] \cr -#' GR5J X3 \tab routing store capacity [mm] \cr -#' GR5J X4 \tab unit hydrograph time constant [d] \cr -#' GR5J X5 \tab intercatchment exchange coefficient 2 [-] \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#*****************************************************************************************************************' -RunModel_CemaNeigeGR5J <- function(InputsModel,RunOptions,Param){ - - NParam <- 7; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr5j",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R/RunModel_CemaNeigeGR6J.R b/files_R/RunModel_CemaNeigeGR6J.R deleted file mode 100644 index b5a634d9d5877f29851334f8db6fd1b96138f127..0000000000000000000000000000000000000000 --- a/files_R/RunModel_CemaNeigeGR6J.R +++ /dev/null @@ -1,211 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeigeGR6J. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the CemaNeigeGR6J hydrological model -#' @author Laurent Coron (December 2013) -#' @references -#' Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), -#' A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, -#' Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_GR6J}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 8 parameters -#' \tabular{ll}{ -#' GR6J X1 \tab production store capacity [mm] \cr -#' GR6J X2 \tab intercatchment exchange coefficient 1 [mm/d] \cr -#' GR6J X3 \tab routing store capacity [mm] \cr -#' GR6J X4 \tab unit hydrograph time constant [d] \cr -#' GR6J X5 \tab intercatchment exchange coefficient 2 [-] \cr -#' GR6J X6 \tab coefficient for emptying exponential store [-] \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QR1 } \tab [numeric] series of exponential store outflow (QR1) [mm/d] \cr -#' \emph{$Exp } \tab [numeric] series of exponential store level (X(6)) (negative) [mm] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_CemaNeigeGR6J <- function(InputsModel,RunOptions,Param){ - - NParam <- 8; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr6j",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R/RunModel_GR4J.R b/files_R/RunModel_GR4J.R deleted file mode 100644 index 6851f4bef86b0b9c401b37f00750fa9b181f84dc..0000000000000000000000000000000000000000 --- a/files_R/RunModel_GR4J.R +++ /dev/null @@ -1,128 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for GR4J. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the GR4J hydrological model -#' @author Laurent Coron (December 2013) -#' @references -#' Perrin, C., C. Michel and V. Andréassian (2003), -#' Improvement of a parsimonious model for streamflow simulation, -#' Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7. -#' @seealso \code{\link{RunModel_GR5J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeGR4J}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel_GR4J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 4 parameters -#' \tabular{ll}{ -#' GR4J X1 \tab production store capacity [mm] \cr -#' GR4J X2 \tab intercatchment exchange coefficient [mm/d] \cr -#' GR4J X3 \tab routing store capacity [mm] \cr -#' GR4J X4 \tab unit hydrograph time constant [d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_GR4J <- function(InputsModel,RunOptions,Param){ - - NParam <- 4; - FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); - } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr4j",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$Precip[IndPeriod1], ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=as.integer(length(Param)), ### number of model parameter - Param=Param, ### parameter set - NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising - StateStart=RunOptions$IniStates, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputs)), ### number of output series - IndOutputs=IndOutputs, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(OutputsModel) <- FortranOutputs[IndOutputs]; } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR"); - return(OutputsModel); - -} - diff --git a/files_R/RunModel_GR5J.R b/files_R/RunModel_GR5J.R deleted file mode 100644 index 0509b6b0787b647431118994f5e67f0d633af52c..0000000000000000000000000000000000000000 --- a/files_R/RunModel_GR5J.R +++ /dev/null @@ -1,131 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for GR5J. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the GR5J hydrological model -#' @author Laurent Coron (December 2013) -#' @references -#' Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances -#' et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr -#' Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet, and V. Andréassian (2011), -#' A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, -#' Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeGR5J}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel_GR5J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 5 parameters -#' \tabular{ll}{ -#' GR5J X1 \tab production store capacity [mm] \cr -#' GR5J X2 \tab intercatchment exchange coefficient 1 [mm/d] \cr -#' GR5J X3 \tab routing store capacity [mm] \cr -#' GR5J X4 \tab unit hydrograph time constant [d] \cr -#' GR5J X5 \tab intercatchment exchange coefficient 2 [-] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#*****************************************************************************************************************' -RunModel_GR5J <- function(InputsModel,RunOptions,Param){ - - NParam <- 5; - FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); - } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr5j",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$Precip[IndPeriod1], ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=as.integer(length(Param)), ### number of model parameter - Param=Param, ### parameter set - NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising - StateStart=RunOptions$IniStates, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputs)), ### number of output series - IndOutputs=IndOutputs, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(OutputsModel) <- FortranOutputs[IndOutputs]; } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR"); - return(OutputsModel); - -} - diff --git a/files_R/RunModel_GR6J.R b/files_R/RunModel_GR6J.R deleted file mode 100644 index ed6f51b604480b2b8039b3bcb8434f71750f0d32..0000000000000000000000000000000000000000 --- a/files_R/RunModel_GR6J.R +++ /dev/null @@ -1,132 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for GR6J. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the GR6J hydrological model -#' @author Laurent Coron (December 2013) -#' @references -#' Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), -#' A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, -#' Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR5J}}, \code{\link{RunModel_CemaNeigeGR6J}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}. -#' @example tests/example_RunModel_GR6J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 6 parameters -#' \tabular{ll}{ -#' GR6J X1 \tab production store capacity [mm] \cr -#' GR6J X2 \tab intercatchment exchange coefficient 1 [mm/d] \cr -#' GR6J X3 \tab routing store capacity [mm] \cr -#' GR6J X4 \tab unit hydrograph time constant [d] \cr -#' GR6J X5 \tab intercatchment exchange coefficient 2 [-] \cr -#' GR6J X6 \tab coefficient for emptying exponential store [-] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QR1 } \tab [numeric] series of exponential store outflow (QR1) [mm/d] \cr -#' \emph{$Exp } \tab [numeric] series of exponential store level (X(6)) (negative) [mm] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_GR6J <- function(InputsModel,RunOptions,Param){ - - NParam <- 6; - FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); - } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr6j",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$Precip[IndPeriod1], ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=as.integer(length(Param)), ### number of model parameter - Param=Param, ### parameter set - NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising - StateStart=RunOptions$IniStates, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputs)), ### number of output series - IndOutputs=IndOutputs, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(OutputsModel) <- FortranOutputs[IndOutputs]; } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR"); - return(OutputsModel); - -} - diff --git a/files_R/TransfoParam.R b/files_R/TransfoParam.R deleted file mode 100644 index ae0da09cbbe560fc038fb2cde46cb8e18b31fe9d..0000000000000000000000000000000000000000 --- a/files_R/TransfoParam.R +++ /dev/null @@ -1,19 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa) using the provided function. -#************************************************************************************************** -#' @title Transformation of the parameters using the provided function -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}} -#' @example tests/example_TransfoParam.R -#' @encoding UTF-8 -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @param FUN_TRANSFO [function] model parameters transformation function (e.g. TransfoParam_GR4J, TransfoParam_CemaNeigeGR4J) -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam <- function(ParamIn,Direction,FUN_TRANSFO){ - return( FUN_TRANSFO(ParamIn,Direction) ) -} - diff --git a/files_R/TransfoParam_CemaNeige.R b/files_R/TransfoParam_CemaNeige.R deleted file mode 100644 index 73ba2134c7f1a4708abdb7908582585e64ca6df9..0000000000000000000000000000000000000000 --- a/files_R/TransfoParam_CemaNeige.R +++ /dev/null @@ -1,37 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa). -#************************************************************************************************** -#' @title Transformation of the parameters from the CemaNeige module -#' @author Laurent Coron (December 2013) -#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}} -#' @example tests/example_TransfoParam_CemaNeige.R -#' @encoding UTF-8 -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#************************************************************************************************** -TransfoParam_CemaNeige <- function(ParamIn,Direction){ - - NParam <- 2; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the CemaNeige module requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - ParamOut <- ParamIn; - ParamOut[,1] <- (ParamIn[,1]+9.99)/19.98; ### CemaNeige X1 (weighting coefficient for snow pack thermal state) - ParamOut[,2] <- exp(ParamIn[,2]); ### CemaNeige X2 (degree-day melt coefficient) - } - if(Direction=="RT"){ - ParamOut <- ParamIn; - ParamOut[,1] <- ParamIn[,1]*19.98-9.99; ### CemaNeige X1 (weighting coefficient for snow pack thermal state) - ParamOut[,2] <- log(ParamIn[,2]); ### CemaNeige X2 (degree-day melt coefficient) - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - diff --git a/files_R/TransfoParam_GR4J.R b/files_R/TransfoParam_GR4J.R deleted file mode 100644 index 2613179d3797eff0c8e0f171a60b8e6c7fc33fed..0000000000000000000000000000000000000000 --- a/files_R/TransfoParam_GR4J.R +++ /dev/null @@ -1,41 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa). -#************************************************************************************************** -#' @title Transformation of the parameters from the GR4J model -#' @author Laurent Coron (December 2013) -#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}} -#' @example tests/example_TransfoParam_GR4J.R -#' @encoding UTF-8 -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#************************************************************************************************** -TransfoParam_GR4J <- function(ParamIn,Direction){ - - NParam <- 4; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the GR4J model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - ParamOut <- ParamIn; - ParamOut[,1] <- exp(1.5*ParamIn[,1]); ### GR4J X1 (production store capacity) - ParamOut[,2] <- sinh(ParamIn[,2]); ### GR4J X2 (groundwater exchange coefficient) - ParamOut[,3] <- exp(ParamIn[,3]); ### GR4J X3 (routing store capacity) - ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98; ### GR4J X4 (unit hydrograph time constant) - } - if(Direction=="RT"){ - ParamOut <- ParamIn; - ParamOut[,1] <- log(ParamIn[,1])/1.5; ### GR4J X1 (production store capacity) - ParamOut[,2] <- asinh(ParamIn[,2]); ### GR4J X2 (groundwater exchange coefficient) - ParamOut[,3] <- log(ParamIn[,3]); ### GR4J X3 (routing store capacity) - ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5; ### GR4J X4 (unit hydrograph time constant) - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - diff --git a/files_R/TransfoParam_GR5J.R b/files_R/TransfoParam_GR5J.R deleted file mode 100644 index 126d25ba8597f8b17dd0f624c44075f52ab502d5..0000000000000000000000000000000000000000 --- a/files_R/TransfoParam_GR5J.R +++ /dev/null @@ -1,45 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa). -#************************************************************************************************** -#' @title Transformation of the parameters from the GR5J model -#' @author Laurent Coron (December 2013) -#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}} -#' @example tests/example_TransfoParam_GR5J.R -#' @encoding UTF-8 -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#************************************************************************************************** -TransfoParam_GR5J <- function(ParamIn,Direction){ - - NParam <- 5; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the GR5J model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - ParamOut <- ParamIn; - ParamOut[,1] <- exp(1.5*ParamIn[,1]); ### GR5J X1 (production store capacity) - ParamOut[,2] <- sinh(ParamIn[,2]); ### GR5J X2 (groundwater exchange coefficient 1) - ParamOut[,3] <- exp(ParamIn[,3]); ### GR5J X3 (routing store capacity) - ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98; ### GR5J X4 (unit hydrograph time constant) - ### ParamOut[,5] <- sinh(ParamIn[,5]); ### GR5J X5 (groundwater exchange coefficient 2) - ParamOut[,5] <- ParamIn[,5]/5; ### GR5J X5 (groundwater exchange coefficient 2) - } - if(Direction=="RT"){ - ParamOut <- ParamIn; - ParamOut[,1] <- log(ParamIn[,1]) / 1.5; ### GR5J X1 (production store capacity) - ParamOut[,2] <- asinh(ParamIn[,2]); ### GR5J X2 (groundwater exchange coefficient 1) - ParamOut[,3] <- log(ParamIn[,3]); ### GR5J X3 (routing store capacity) - ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5; ### GR5J X4 (unit hydrograph time constant) - ### ParamOut[,5] <- asinh(ParamIn[,5]); ### GR5J X5 (groundwater exchange coefficient 2) - ParamOut[,5] <- ParamIn[,5]*5; ### GR5J X5 (groundwater exchange coefficient 2) - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - diff --git a/files_R/TransfoParam_GR6J.R b/files_R/TransfoParam_GR6J.R deleted file mode 100644 index 9ae1ab650463c6e3d23739fee0be1a12cc8a56c2..0000000000000000000000000000000000000000 --- a/files_R/TransfoParam_GR6J.R +++ /dev/null @@ -1,47 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa). -#************************************************************************************************** -#' @title Transformation of the parameters from the GR6J model -#' @author Laurent Coron (December 2013) -#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_CemaNeige}} -#' @example tests/example_TransfoParam_GR6J.R -#' @encoding UTF-8 -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#************************************************************************************************** -TransfoParam_GR6J <- function(ParamIn,Direction){ - - NParam <- 6; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the GR6J model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - ParamOut <- ParamIn; - ParamOut[,1] <- exp(1.5*ParamIn[,1]); ### GR6J X1 (production store capacity) - ParamOut[,2] <- sinh(ParamIn[,2]); ### GR6J X2 (groundwater exchange coefficient 1) - ParamOut[,3] <- exp(ParamIn[,3]); ### GR6J X3 (routing store capacity) - ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98; ### GR6J X4 (unit hydrograph time constant) - ### ParamOut[,5] <- sinh(Xtran[,5]); ### GR6J X5 (groundwater exchange coefficient 2) - ParamOut[,5] <- ParamIn[,5]/5; ### GR6J X5 (groundwater exchange coefficient 2) - ParamOut[,6] <- exp(ParamIn[,6]); ### GR6J X6 (coefficient for emptying exponential store) - } - if(Direction=="RT"){ - ParamOut <- ParamIn; - ParamOut[,1] <- log(ParamIn[,1]) / 1.5; ### GR6J X1 (production store capacity) - ParamOut[,2] <- asinh(ParamIn[,2]); ### GR6J X2 (groundwater exchange coefficient 1) - ParamOut[,3] <- log(ParamIn[,3]); ### GR6J X3 (routing store capacity) - ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5; ### GR6J X4 (unit hydrograph time constant) - ### ParamOut[,5] <- asinh(ParamIn[,5]); ### GR6J X5 (groundwater exchange coefficient 2) - ParamOut[,5] <- ParamIn[,5]*5; ### GR6J X5 (groundwater exchange coefficient 2) - ParamOut[,6] <- log(ParamIn[,6]); ### GR6J X6 (coefficient for emptying exponential store) - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - diff --git a/files_R/plot_OutputsModel.R b/files_R/plot_OutputsModel.R deleted file mode 100644 index 8ddd969324a68b486f7d371f798df71d818e133b..0000000000000000000000000000000000000000 --- a/files_R/plot_OutputsModel.R +++ /dev/null @@ -1,286 +0,0 @@ -#***************************************************************************************************************** -#' Function which creates a screen plot giving an overview of the model outputs -#' -#' Dashboard of results including various graphs (depending on the model): -#' (1) time series of total precipitation and simulated flows (and observed flows if provided) -#' (2) interannual median monthly simulated flow (and observed flows if provided) -#' (3) correlation plot between simulated and observed flows (if observed flows provided) -#' (4) cumulative frequency plot for simulated flows (and observed flows if provided) -#***************************************************************************************************************** -#' @title Default preview of model outputs -#' @author Laurent Coron (June 2014) -#' @example tests/example_plot_OutputsModel.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param OutputsModel [object of class \emph{OutputsModel}] list of model outputs (which must at least include DatesR, Precip and Qsim) [POSIXlt, mm, mm] -#' @param Qobs (optional) [numeric] time series of observed flow (for the same time-steps than simulated) [mm] -#' @param IndPeriod_Plot (optional) [numeric] indices of the time-steps to be plotted (among the OutputsModel series) -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return screen plot window -#*****************************************************************************************************************' -plot_OutputsModel <- function(OutputsModel,Qobs=NULL,IndPeriod_Plot=NULL,quiet=FALSE){ - - -### Qobs=BasinData$TabObsQmm[IndPeriod_Run] - - if(!inherits(OutputsModel,"GR") & !inherits(OutputsModel,"CemaNeige")){ stop(paste("OutputsModel not in the correct format for default plotting \n",sep="")); return(NULL); } - - BOOL_Dates <- FALSE; - if("DatesR" %in% names(OutputsModel)){ BOOL_Dates <- TRUE; } - BOOL_Pobs <- FALSE; - if("Precip" %in% names(OutputsModel)){ BOOL_Pobs <- TRUE; } - BOOL_Qsim <- FALSE; - if("Qsim" %in% names(OutputsModel)){ BOOL_Qsim <- TRUE; } - BOOL_Qobs <- FALSE; - if(BOOL_Qsim & length(Qobs)==length(OutputsModel$Qsim)){ if(sum(is.na(Qobs))!=length(Qobs)){ BOOL_Qobs <- TRUE; } } - BOOL_Snow <- FALSE; - if("CemaNeigeLayers" %in% names(OutputsModel)){ if("SnowPack" %in% names(OutputsModel$CemaNeigeLayers[[1]])){ BOOL_Snow <- TRUE; } } - BOOL_Psol <- FALSE; - if("CemaNeigeLayers" %in% names(OutputsModel)){ if("Psol" %in% names(OutputsModel$CemaNeigeLayers[[1]])){ BOOL_Psol <- TRUE; } } - - if(!BOOL_Dates){ - stop(paste("OutputsModel must contain at least DatesR to allow plotting \n",sep="")); return(NULL); } - if(inherits(OutputsModel,"GR") & !BOOL_Qsim){ - stop(paste("OutputsModel must contain at least Qsim to allow plotting \n",sep="")); return(NULL); } - - if(BOOL_Dates){ - MyRollMean1 <- function(x,n){ - return(filter(x,rep(1/n,n),sides=2)); } - MyRollMean2 <- function(x,n){ - return(filter(c(tail(x,n%/%2),x,x[1:(n%/%2)]),rep(1/n,n),sides=2)[(n%/%2+1):(length(x)+n%/%2)]); } - BOOL_TS <- FALSE; - TimeStep <- difftime(tail(OutputsModel$DatesR,1),tail(OutputsModel$DatesR,2),units="secs")[[1]]; - if(TimeStep== 60){ BOOL_TS <- TRUE; plotunit <- "[mm/s]"; } - if(TimeStep== 60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/h]"; } - if(TimeStep==24*60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/d]"; } - if(TimeStep %in% c(28,29,30,31)*24*60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/month]"; } - if(!BOOL_TS){ stop(paste("the time step of the model inputs could not be found \n",sep="")); return(NULL); } - } - if(length(IndPeriod_Plot)==0){ IndPeriod_Plot <- 1:length(OutputsModel$DatesR); } - if(inherits(OutputsModel,"CemaNeige")){ NLayers <- length(OutputsModel$CemaNeigeLayers); } - - ZERO_Qobs <- FALSE; if(BOOL_Qobs){ ZERO_Qobs <- sum(round(Qobs[IndPeriod_Plot],4)==0,na.rm=TRUE)>0; } - ZERO_Qsim <- FALSE; if(BOOL_Qsim){ ZERO_Qsim <- sum(round(OutputsModel$Qsim[IndPeriod_Plot],4)==0,na.rm=TRUE)>0; } - if(ZERO_Qobs & !quiet){ warning("\t zeroes detected in Qobs -> some plots in the log space will not be created \n"); } - if(ZERO_Qsim & !quiet){ warning("\t zeroes detected in Qsim -> some plots in the log space will not be created \n"); } - - ##Options - BLOC <- TRUE; if(BLOC){ - cexaxis <- 1.0; cexlab <- 0.9; cexleg=1.0; lwd=1.8; lineX=3.0; lineY=3.0; - - matlayout <- NULL; iPlot <- 0; - if(BOOL_Pobs){ - matlayout <- rbind(matlayout,c(iPlot+1,iPlot+1,iPlot+1)); iPlot <- iPlot+1; } - if(BOOL_Snow){ - matlayout <- rbind(matlayout,c(iPlot+1,iPlot+1,iPlot+1),c(iPlot+1,iPlot+1,iPlot+1)); iPlot <- iPlot+1; } - if(BOOL_Qsim | BOOL_Qobs){ - matlayout <- rbind(matlayout,c(iPlot+1,iPlot+1,iPlot+1),c(iPlot+1,iPlot+1,iPlot+1)); iPlot <- iPlot+1; } - if(BOOL_TS & BOOL_Qsim){ - matlayout <- rbind(matlayout,c(iPlot+1,iPlot+2,iPlot+3),c(iPlot+1,iPlot+2,iPlot+3)); iPlot <- iPlot+3; } - iPlotMax <- iPlot; - - isRStudio <- Sys.getenv("RSTUDIO") == "1"; - if(!isRStudio){ - if(iPlotMax==1){ dev.new(width=10,height=02); } - if(iPlotMax==2){ dev.new(width=10,height=05); } - if(iPlotMax==3){ dev.new(width=10,height=05); } - if(iPlotMax==5){ dev.new(width=10,height=07); } - if(iPlotMax==6){ dev.new(width=10,height=10); } - } - layout(matlayout); - - Xaxis <- 1:length(IndPeriod_Plot); - if(BOOL_Dates){ - Seq1 <- which(OutputsModel$DatesR[IndPeriod_Plot]$mday==1 & OutputsModel$DatesR[IndPeriod_Plot]$mon %in% c(0,3,6,9)); - Seq2 <- which(OutputsModel$DatesR[IndPeriod_Plot]$mday==1 & OutputsModel$DatesR[IndPeriod_Plot]$mon==0); - } - } - - kPlot <- 0; - - ##Precip - if(BOOL_Pobs){ - kPlot <- kPlot+1; mar <- c(3,6,1,2); - par(new=FALSE,mar=mar,las=0) - ylim1 <- range(OutputsModel$Precip[IndPeriod_Plot],na.rm=TRUE); ylim2 <- ylim1; ylim2 <- rev(ylim2); - plot(Xaxis,OutputsModel$Precip[IndPeriod_Plot],type="h",ylim=ylim2,col="royalblue",lwd=0.7,xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i"); - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - par(las=0); mtext(side=2,paste("precip. ",plotunit,sep=""),line=lineY,cex=cexlab,adj=1); par(las=1); - if(BOOL_Psol){ - par(new=TRUE); - for(iLayer in 1:NLayers){ - if(iLayer==1){ PsolLayerMean <- OutputsModel$CemaNeigeLayers[[iLayer]]$Psol/NLayers; - } else { PsolLayerMean <- PsolLayerMean + OutputsModel$CemaNeigeLayers[[iLayer]]$Psol/NLayers; } } - plot(Xaxis,PsolLayerMean[IndPeriod_Plot],type="h",ylim=ylim2,col="lightblue",lwd=0.7,xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i"); - } - if(BOOL_Dates){ - axis(side=1,at=Seq1,labels=FALSE,cex.axis=cexaxis); - axis(side=1,at=Seq2,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq2],lwd.ticks=1.5,cex.axis=cexaxis); - } else { axis(side=1,at=pretty(Xaxis),labels=pretty(Xaxis),cex.axis=cexaxis); } - } - - - ##SnowPack - if(BOOL_Snow){ - kPlot <- kPlot+1; mar <- c(3,6,1,2); - par(new=FALSE,mar=mar,las=0) - ylim1 <- c(+99999,-99999) - for(iLayer in 1:NLayers){ - ylim1[1] <- min(ylim1[1],OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack); - ylim1[2] <- max(ylim1[2],OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack); - if(iLayer==1){ SnowPackLayerMean <- OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack/NLayers; - } else { SnowPackLayerMean <- SnowPackLayerMean + OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack/NLayers; } - } - plot(SnowPackLayerMean[IndPeriod_Plot],type="l",ylim=ylim1,lwd=lwd*1.2,col="royalblue",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i") - for(iLayer in 1:NLayers){ lines(OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack[IndPeriod_Plot],lty=3,col="royalblue",lwd=lwd*0.8); } - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - par(las=0); mtext(side=2,paste("snow pack ","[mm]",sep=""),line=lineY,cex=cexlab); par(las=1); - legend("topright",c(paste("mean snow pack",sep=""),paste("snow pack for each layer",sep="")),col=c("royalblue","royalblue"),lty=c(1,3),lwd=c(lwd*1.2,lwd*0.8),bty="o",bg=rgb(1,1,1,alpha=0.7),box.col=rgb(1,1,1,alpha=0.7),cex=cexleg) - box() - if(BOOL_Dates){ - axis(side=1,at=Seq1,labels=FALSE,cex.axis=cexaxis); - axis(side=1,at=Seq2,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq2],lwd.ticks=1.5,cex.axis=cexaxis); - } else { axis(side=1,at=pretty(Xaxis),labels=pretty(Xaxis),cex.axis=cexaxis); } - } - - - ##Flows - if(BOOL_Qsim){ - kPlot <- kPlot+1; mar <- c(3,6,1,2); - par(new=FALSE,mar=mar,las=0) - ylim1 <- range(OutputsModel$Qsim[IndPeriod_Plot],na.rm=TRUE); - if(BOOL_Qobs){ ylim1 <- range(c(ylim1,Qobs[IndPeriod_Plot]),na.rm=TRUE); } - ylim2 <- c(ylim1[1],1.2*ylim1[2]); - plot(Xaxis,rep(NA,length(Xaxis)),type="n",ylim=ylim2,xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i"); - txtleg <- NULL; colleg <- NULL; - if(BOOL_Qobs){ lines(Xaxis,Qobs[IndPeriod_Plot],lwd=lwd,lty=1,col="black"); txtleg <- c(txtleg,"observed"); colleg <- c(colleg,"black"); } - if(BOOL_Qsim){ lines(Xaxis,OutputsModel$Qsim[IndPeriod_Plot],lwd=lwd,lty=1,col="orangered"); txtleg <- c(txtleg,"simulated"); colleg <- c(colleg,"orangered"); } - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - par(las=0); mtext(side=2,paste("flow ",plotunit,sep=""),line=lineY,cex=cexlab); par(las=1); - if(BOOL_Dates){ - axis(side=1,at=Seq1,labels=FALSE,cex.axis=cexaxis); - axis(side=1,at=Seq2,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq2],lwd.ticks=1.5,cex.axis=cexaxis); - } else { axis(side=1,at=pretty(Xaxis),labels=pretty(Xaxis),cex.axis=cexaxis); } - legend("topright",txtleg,col=colleg,lty=1,lwd=lwd,bty="o",bg=rgb(1,1,1,alpha=0.7),box.col=rgb(1,1,1,alpha=0.7),cex=cexleg) - box() - } - - - ##Regime - if(BOOL_TS & BOOL_Qsim){ - kPlot <- kPlot+1; mar <- c(6,6,1,2); - par(new=FALSE,mar=mar,las=0) - MatData <- cbind(rep(NA,length(IndPeriod_Plot)),rep(NA,length(IndPeriod_Plot)),rep(NA,length(IndPeriod_Plot)),OutputsModel$Qsim[IndPeriod_Plot]); - if(BOOL_Pobs){ MatData[,1] <- OutputsModel$Precip[IndPeriod_Plot]; } - if(BOOL_Psol){ MatData[,2] <- PsolLayerMean[IndPeriod_Plot]; } - if(BOOL_Qobs){ MatData[,3] <- Qobs[IndPeriod_Plot]; } - - AggregDataD <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR[IndPeriod_Plot],format="%m%d%H%M%S"))),FUN=median,na.rm=T)); - colnames(AggregDataD) <- c("AggregDatesDaily","Precip","Psol","Qobs","Qsim"); - AggregDataM <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR[IndPeriod_Plot],format="%m%H%M%S"))),FUN=median,na.rm=T)); - colnames(AggregDataM) <- c("AggregDatesMonthly","Precip","Psol","Qobs","Qsim"); - Window <- 31*(24*60*60/TimeStep); - AggregDataD2 <- as.data.frame(cbind(AggregDataD$AggregDatesDaily, MyRollMean2(AggregDataD$Precip,Window), MyRollMean2(AggregDataD$Psol,Window), - MyRollMean2(AggregDataD$Qobs,Window) , MyRollMean2(AggregDataD$Qsim,Window))); - colnames(AggregDataD2) <- colnames(AggregDataD); - - TmpDates <- formatC(AggregDataD2$AggregDatesDaily,format="d",width=10,flag="0"); - xLabels1 <- paste(substr(TmpDates,3,4),"/",substr(TmpDates,1,2),sep="") - - Seq1 <- 1:nrow(AggregDataD2); SeqLab1 <- Seq1[substr(xLabels1,1,2)=="01"]; SeqLab1 <- c(SeqLab1,length(xLabels1)); - Seq2 <- which(substr(TmpDates,3,4)==15); SeqLab2 <- c("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"); - ylimQ <- range(c(AggregDataD2$Qobs[Seq1],AggregDataD2$Qsim[Seq1]),na.rm=TRUE); - if(BOOL_Pobs){ ylimP <- c(max(AggregDataM$Precip,na.rm=TRUE),0); } - - txtleg <- NULL; colleg <- NULL; lwdleg <- NULL; - lwdP=10 - if(BOOL_Pobs){ - plot(Seq2,AggregDataM$Precip[1:12],type="h",xlim=range(Seq1),ylim=c(3*ylimP[1],ylimP[2]),lwd=lwdP,lend=1,lty=1,col="royalblue",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",yaxs="i",bty="n") - txtleg <- c(txtleg,"Ptot" ); colleg <- c(colleg,"royalblue"); lwdleg <- c(lwdleg,lwdP/3); - axis(side=2,at=pretty(0.8*ylimP,n=3),labels=pretty(0.8*ylimP,n=3),cex.axis=cexaxis,col.axis="royalblue",col.ticks="royalblue"); - ### par(las=0); mtext(side=2,paste("mean precip regime ",plotunit,sep=""),line=lineY,cex=cexlab); par(las=1); - par(new=TRUE); } - - if(BOOL_Psol){ - plot(Seq2,AggregDataM$Psol[1:12],type="h",xlim=range(Seq1),ylim=c(3*ylimP[1],ylimP[2]),lwd=lwdP,lend=1,lty=1,col="lightblue",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",yaxs="i",bty="n"); - txtleg <- c(txtleg,"Psol" ); colleg <- c(colleg,"lightblue"); lwdleg <- c(lwdleg,lwdP/3); - par(new=TRUE); } - - plot(0,0,type="n",xlim=range(Seq1),ylim=c(ylimQ[1],2*ylimQ[2]),xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i") - if(BOOL_Qobs){ lines(Seq1,AggregDataD2$Qobs[Seq1],lwd=lwd,lty=1,col="black" ); txtleg <- c(txtleg,"Qobs" ); colleg <- c(colleg,"black" ); lwdleg <- c(lwdleg,lwd); } - if(BOOL_Qsim){ lines(Seq1,AggregDataD2$Qsim[Seq1],lwd=lwd,lty=1,col="orangered"); txtleg <- c(txtleg,"Qsim"); colleg <- c(colleg,"orangered"); lwdleg <- c(lwdleg,lwd); } - - axis(side=1,at=SeqLab1 ,labels=xLabels1[SeqLab1],cex.axis=cexaxis) - axis(side=2,at=pretty(ylimQ),labels=pretty(ylimQ),cex.axis=cexaxis) - par(las=0); mtext(side=1,paste("31-days rolling mean",sep=""),line=lineX,cex=cexlab); par(las=1); - posleg <- "topright"; txtlab <- "flow regime"; - if(BOOL_Pobs){ posleg <- "right"; txtlab <- "precip. & flow regime"; } - par(las=0); mtext(side=2,paste(txtlab," ",plotunit,sep=""),line=lineY,cex=cexlab); par(las=1); - posleg <- "topright"; if(BOOL_Pobs){ posleg <- "right"; } - legend(posleg,txtleg,col=colleg,lty=1,lwd=lwdleg,bty="o",bg=rgb(1,1,1,alpha=0.7),box.col=rgb(1,1,1,alpha=0.7),cex=cexleg) - box() - } - - - ##Cumulative_frequency - if((BOOL_Qsim | BOOL_Qobs) & !ZERO_Qsim & !ZERO_Qobs){ - kPlot <- kPlot+1; mar <- c(6,6,1,2); - par(new=FALSE,mar=mar,las=0) - xlim <- range(log(c(Qobs[IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot])),na.rm=TRUE); - ylim <- c(0,1); - seqDATA1 <- log(c(0.01,0.02,0.03,0.05,0.1,0.2,0.3,0.5,1,2,3,5,10,20,30,50)); seqDATA2 <- exp(seqDATA1); - plot(0,0,type="n",xlim=xlim,ylim=ylim,xaxt="n",yaxt="n",xlab="",ylab="",main=""); - ### abline(h=0,lty=2,col=grey(0.5)); - ### abline(h=1,lty=2,col=grey(0.5)); - axis(side=1,at=seqDATA1,labels=seqDATA2,cex.axis=cexaxis); - par(las=0); mtext(side=1,text=paste("flow ",plotunit,"",sep=""),line=lineX,cex=cexlab); par(las=1); - axis(side=2,at=pretty(ylim),labels=pretty(ylim),cex.axis=cexaxis); - par(las=0); mtext(side=2,text="non-exceedance prob. [-]",line=lineY,cex=cexlab); par(las=1); - txtleg <- NULL; colleg <- NULL; - if(BOOL_Qobs){ - DATA2 <- log(Qobs[IndPeriod_Plot]); - SeqQuant <- seq(0,1,by=1/(length(DATA2))); Quant <- as.numeric(quantile(DATA2,SeqQuant,na.rm=TRUE)); - Fn <- ecdf(DATA2); XXX <- DATA2; XXX <- XXX[order( Fn(DATA2) )]; YYY <- Fn(DATA2); YYY <- YYY[order( Fn(DATA2) )]; - lines(XXX,YYY,lwd=1,col="black"); - txtleg <- c(txtleg,"observed"); colleg <- c(colleg,"black"); } - if(BOOL_Qsim){ - DATA2 <- log(OutputsModel$Qsim[IndPeriod_Plot]); - SeqQuant <- seq(0,1,by=1/(length(DATA2))); Quant <- as.numeric(quantile(DATA2,SeqQuant,na.rm=TRUE)); - Fn <- ecdf(DATA2); XXX <- DATA2; XXX <- XXX[order( Fn(DATA2) )]; YYY <- Fn(DATA2); YYY <- YYY[order( Fn(DATA2) )]; - lines(XXX,YYY,lwd=1,col="orangered"); - txtleg <- c(txtleg,"simulated"); colleg <- c(colleg,"orangered"); } - legend("bottomright",title="log scale",txtleg,col=colleg,lty=1,lwd=lwd,bty="o",bg=rgb(1,1,1,alpha=0.7),box.col=rgb(1,1,1,alpha=0.7),cex=cexleg) - box() - } - - - ##Correlation_QQ - if(BOOL_Qsim & BOOL_Qobs & !ZERO_Qsim & !ZERO_Qobs){ - kPlot <- kPlot+1; mar <- c(6,6,1,2); - par(new=FALSE,mar=mar,las=0) - xylim <- log(range(c(Qobs[IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot]),na.rm=TRUE)); - plot(log(Qobs[IndPeriod_Plot]),log(OutputsModel$Qsim[IndPeriod_Plot]),type="p",pch=1,cex=0.9,col="black",xlim=xylim,ylim=xylim,xaxt="n",yaxt="n",xlab="",ylab="") - abline(a=0,b=1,col="royalblue"); - seqDATA1 <- log(c(0.01,0.02,0.03,0.05,0.1,0.2,0.3,0.5,1,2,3,5,10,20,30,50)); seqDATA2 <- exp(seqDATA1); - axis(side=1,at=seqDATA1,labels=seqDATA2,cex=cexaxis); - axis(side=2,at=seqDATA1,labels=seqDATA2,cex=cexaxis); - par(las=0); mtext(side=1,paste("observed flow ",plotunit,"",sep=""),line=lineX,cex=cexlab); par(las=1); - par(las=0); mtext(side=2,paste("simulated flow ",plotunit,"",sep=""),line=lineY,cex=cexlab); par(las=1); - legend("bottomright","log scale",lty=1,col=NA,bty="o",bg=rgb(1,1,1,alpha=0.7),box.col=rgb(1,1,1,alpha=0.7),cex=cexleg) - box() - } - - ##Empty_plots - while(kPlot < iPlotMax){ - kPlot <- kPlot+1; - par(new=FALSE) - plot(0,0,type="n",xlab="",ylab="",axes=FALSE) - } - - ##Restoring_layout_options - layout(1); - - -} diff --git a/files_R_PLUS/Calibration_nlminb.R b/files_R_PLUS/Calibration_nlminb.R deleted file mode 100644 index c97a16de4c2f729f81abf9b431c56ec210011de4..0000000000000000000000000000000000000000 --- a/files_R_PLUS/Calibration_nlminb.R +++ /dev/null @@ -1,144 +0,0 @@ -#************************************************************************************************* -#' Calibration algorithm which minimises the error criterion. \cr -#' \cr -#' The algorithm is based on the "nlminb" function from the "stats" R-package. -#' -#' To optimise the exploration of the parameter space, transformation functions are used to convert -#' the model parameters. This is done using the TransfoParam functions. -#************************************************************************************************* -#' @title Calibration algorithm which minimises the error criterion using the stats::nlminb function -#' @author Laurent Coron (August 2013) -#' @example tests/example_Calibration_nlminb.R -#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_HBAN}}, \code{\link{Calibration_optim}}, -#' \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, -#' \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param CalibOptions [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$ParamFinalR } \tab [numeric] parameter set obtained at the end of the calibration \cr -#' \emph{$CritFinal } \tab [numeric] error criterion obtained at the end of the calibration \cr -#' \emph{$Nruns } \tab [numeric] number of model runs done during the calibration \cr -#' \emph{$CritName } \tab [character] name of the calibration criterion \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' } -#**************************************************************************************************' -Calibration_nlminb <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){ - - ##_check_class - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); } - if(inherits(CalibOptions,"nlminb")==FALSE){ stop("CalibOptions must be of class 'nlminb' if Calibration_nlminb is used \n"); return(NULL); } - - - ##_check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - if(identical(FUN_MOD,RunModel_GR4J )){ FUN_TRANSFO <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J )){ FUN_TRANSFO <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J )){ FUN_TRANSFO <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ FUN_TRANSFO <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; } - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[, 1:(NParam-2)],Direction); - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam ],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL); } - } - - ##_RunModelAndCrit - RunModelAndCrit <- function(par,InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO){ - ParamT <- NA*CalibOptions$FixedParam; - ParamT[CalibOptions$OptimParam] <- par; - Param <- FUN_TRANSFO(ParamIn=ParamT,Direction="TR"); - Param[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param); - OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - return(OutputsCrit$CritValue*OutputsCrit$Multiplier); - } - - ##_temporary_change_of_Outputs_Sim - RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal; ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration - ##_screenPrint - if(!quiet){ - cat(paste("\t Calibration in progress (function nlminb from the stats package) \n",sep="")); - } - - ##_lower_and_upper_limit_values (transformed) - RangesR <- CalibOptions$SearchRanges; - RangesT <- FUN_TRANSFO(RangesR,"RT"); - lower <- RangesT[1,CalibOptions$OptimParam]; - upper <- RangesT[2,CalibOptions$OptimParam]; - - ##_starting_values (transformed) - ParamStartT <- FUN_TRANSFO(CalibOptions$StartParam,"RT"); - par_start <- ParamStartT[CalibOptions$OptimParam]; - - - ##_calibration - RESULT <- nlminb(start=par_start,objective=RunModelAndCrit,gradient=NULL,hessian=NULL, - InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO, ## arguments for the RunModelAndCrit function (other than par) - scale=1,lower=lower,upper=upper,control=list()) - - - ##_outputs_preparation - ParamFinalT <- NA*ParamStartT; - ParamFinalT[CalibOptions$OptimParam] <- as.numeric(RESULT$par); - ParamFinalR <- FUN_TRANSFO(ParamFinalT,"TR"); - ParamFinalR[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - CritFinal <- as.numeric(RESULT$objective); - - ##_storage_of_crit_info - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=ParamFinalR); - OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - CritName <- OutputsCrit$CritName; - CritBestValue <- OutputsCrit$CritBestValue; - Multiplier <- OutputsCrit$Multiplier; - - ##_screenPrint - if(!quiet){ - if(RESULT$convergence==0){ - cat(paste("\t Calibration completed: \n",sep="")); - cat(paste("\t Param = ",paste(formatC(ParamFinalR,format="f",width=8,digits=3),collapse=" , "),"\n",sep="")); - cat(paste("\t Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritFinal*Multiplier,format="f",digits=4),"\n",sep="")); - } else { - cat(paste("\t Calibration failed: \n",sep="")); - cat(paste("\t ",RESULT$message,sep="")); - } - } - - - ##_function_output - OutputsCalib <- list(as.double(ParamFinalR),CritFinal*Multiplier,as.integer(RESULT$evaluations[2]),CritName,CritBestValue); - names(OutputsCalib) <- c("ParamFinalR","CritFinal","Nruns","CritName","CritBestValue"); - class(OutputsCalib) <- c("OutputsCalib","nlminb"); - return(OutputsCalib); - - -} - - - - diff --git a/files_R_PLUS/Calibration_nsga2.R b/files_R_PLUS/Calibration_nsga2.R deleted file mode 100644 index 13ff1c91310e9daaeefa40e1bd76b3c400527ed0..0000000000000000000000000000000000000000 --- a/files_R_PLUS/Calibration_nsga2.R +++ /dev/null @@ -1,148 +0,0 @@ -#************************************************************************************************* -#' Calibration algorithm which minimises the multiple error criteria. \cr -#' \cr -#' The algorithm is based on the "nsga2" function from the "mco" R-package. -#' -#' To optimise the exploration of the parameter space, transformation functions are used to convert -#' the model parameters. This is done using the TransfoParam functions. -#************************************************************************************************* -#' @title Calibration algorithm which minimises the error criterion using the mco::nsga2 function -#' @author Laurent Coron (August 2013) -#' @example tests/example_Calibration_nsga2.R -#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_HBAN}}, \code{\link{Calibration_optim}}, -#' \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorMultiCrit_KGE2}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, -#' \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param CalibOptions [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorMultiCrit_KGE2) -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$MatParamFinalR } \tab [numeric] matrix of parameter sets obtained at the end of the calibration \cr -#' \emph{$MatCritFinal } \tab [numeric] matrix of error criteria obtained at the end of the calibration \cr -#' \emph{$NRuns } \tab [numeric] number of model runs done during the calibration \cr -#' \emph{$MultiCritNames } \tab [character] names of the calibration criteria \cr -#' \emph{$MultiCritBestValues} \tab [numeric] theoretical best criteria values \cr -#' } -#**************************************************************************************************' -Calibration_nsga2 <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){ - - - ##_check_class - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); } - if(inherits(CalibOptions,"nsga2")==FALSE){ stop("CalibOptions must be of class 'nsga2' if Calibration_nsga2 is used \n"); return(NULL); } - - - ##_check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - if(identical(FUN_MOD,RunModel_GR4J )){ FUN_TRANSFO <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J )){ FUN_TRANSFO <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J )){ FUN_TRANSFO <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ FUN_TRANSFO <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; } - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[, 1:(NParam-2)],Direction); - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam ],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL); } - } - - ##_RunModelAndMultiCrit - RunModelAndMultiCrit <- function(par,InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO){ - ParamT <- NA*CalibOptions$FixedParam; - ParamT[CalibOptions$OptimParam] <- par; - Param <- FUN_TRANSFO(ParamIn=ParamT,Direction="TR"); - Param[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param); - OutputsMultiCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - return(OutputsMultiCrit$MultiCritValues*OutputsMultiCrit$Multipliers); - } - - - ##_temporary_change_of_Outputs_Sim - RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal; ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration - ##_screenPrint - if(!quiet){ - cat(paste("\t Calibration in progress (function nsga2 from the mco package) \n",sep="")); - } - - ##_lower_and_upper_limit_values (transformed) - RangesR <- CalibOptions$SearchRanges; - RangesT <- FUN_TRANSFO(RangesR,"RT"); - lower <- RangesT[1,CalibOptions$OptimParam]; - upper <- RangesT[2,CalibOptions$OptimParam]; - - ##_starting_values (transformed) - ParamStartT <- FUN_TRANSFO(CalibOptions$StartParam,"RT"); - par_start <- ParamStartT[CalibOptions$OptimParam]; - idim=length(par_start); - - ##_first_run_to_get_the_number_of_output_dimensions - MultiCrit <- RunModelAndMultiCrit(par=par_start,InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO); - odim=length(MultiCrit); - - - ##_calibration - RESULT <- nsga2(fn=RunModelAndMultiCrit, - idim=idim,odim=odim, - InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO, ## arguments for the RunModelAndMultiCrit function (other than par) - constraints=NULL,cdim=0, - lower.bounds=lower,upper.bounds=upper, - popsize=CalibOptions$PopSize,generations=CalibOptions$NGenerations, - cprob=CalibOptions$CProb,cdist=CalibOptions$CDist, - mprob=CalibOptions$MProb,mdist=CalibOptions$MDist) - - - ##_outputs_preparation - MatParamFinalT <- matrix(NA,nrow=nrow(RESULT$par),ncol=length(CalibOptions$OptimParam)); - MatParamFinalT[,CalibOptions$OptimParam] <- RESULT$par; - MatParamFinalR <- FUN_TRANSFO(MatParamFinalT,"TR"); - MatParamFinalR[,!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - MatCritFinal <- RESULT$value; - BoolPareto <- RESULT$pareto.optimal; - - ##_storage_of_crit_info - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=MatParamFinalR[1,]); - OutputsMultiCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - MultiCritNames <- OutputsMultiCrit$MultiCritNames; - MultiCritBestValues <- OutputsMultiCrit$MultiCritBestValues; - Multipliers <- OutputsMultiCrit$Multipliers; - - ##_screenPrint - if(!quiet){ - cat(paste("\t Calibration completed \n",sep="")); - } - - ##_function_output - OutputsCalib <- list(MatParamFinalR,t(apply(MatCritFinal,1,function(x) x*Multipliers )),BoolPareto,MultiCritNames,MultiCritBestValues); - names(OutputsCalib) <- c("MatParamFinalR","MatCritFinal","BoolPareto","MultiCritNames","MultiCritBestValues"); - class(OutputsCalib) <- c("OutputsCalib","nsga2"); - return(OutputsCalib); - - -} - - - diff --git a/files_R_PLUS/Calibration_sce.R b/files_R_PLUS/Calibration_sce.R deleted file mode 100644 index 8754ca196fad4d290096e3ffea6f403aebb91f9b..0000000000000000000000000000000000000000 --- a/files_R_PLUS/Calibration_sce.R +++ /dev/null @@ -1,558 +0,0 @@ -#************************************************************************************************* -#' Calibration algorithm which minimises the error criterion. \cr -#' \cr -#' The algorithm is based on the "SCEoptim" function from the "hydromad" R-package -#' available at http://hydromad.catchment.org/ -#' -#' To optimise the exploration of the parameter space, transformation functions are used to convert -#' the model parameters. This is done using the TransfoParam functions. -#************************************************************************************************* -#' @title Calibration algorithm which minimises the error criterion using the hydromad::SCEoptim function -#' @author Laurent Coron (August 2013) -#' @example tests/example_Calibration_sce.R -#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_HBAN}}, \code{\link{Calibration_optim}}, -#' \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}}, -#' \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, -#' \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param CalibOptions [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$ParamFinalR } \tab [numeric] parameter set obtained at the end of the calibration \cr -#' \emph{$CritFinal } \tab [numeric] error criterion obtained at the end of the calibration \cr -#' \emph{$Nruns } \tab [numeric] number of model runs done during the calibration \cr -#' \emph{$CritName } \tab [character] name of the calibration criterion \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' } -#************************************************************************************************** -Calibration_sce <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){ - - - ##_check_class - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); } - if(inherits(CalibOptions,"sce")==FALSE){ stop("CalibOptions must be of class 'sce' if Calibration_sce is used \n"); return(NULL); } - - - ##_check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - if(identical(FUN_MOD,RunModel_GR4J )){ FUN_TRANSFO <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J )){ FUN_TRANSFO <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J )){ FUN_TRANSFO <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ FUN_TRANSFO <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; } - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[, 1:(NParam-2)],Direction); - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam ],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL); } - } - - ##_RunModelAndCrit - RunModelAndCrit <- function(par,InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO){ - ParamT <- NA*CalibOptions$FixedParam; - ParamT[CalibOptions$OptimParam] <- par; - Param <- FUN_TRANSFO(ParamIn=ParamT,Direction="TR"); - Param[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param); - OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - return(OutputsCrit$CritValue*OutputsCrit$Multiplier); - } - - ##_temporary_change_of_Outputs_Sim - RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal; ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration - ##_screenPrint - if(!quiet){ - cat(paste("\t Calibration in progress (function SCEoptim from the hydromad package) \n",sep="")); - } - - ##_lower_and_upper_limit_values (transformed) - RangesR <- CalibOptions$SearchRanges; - RangesT <- FUN_TRANSFO(RangesR,"RT"); - lower <- RangesT[1,CalibOptions$OptimParam]; - upper <- RangesT[2,CalibOptions$OptimParam]; - - ##_starting_values (transformed) - ParamStartT <- FUN_TRANSFO(CalibOptions$StartParam,"RT"); - par_start <- ParamStartT[CalibOptions$OptimParam]; - - - ##_calibration - RESULT <- SCEoptim(FUN=RunModelAndCrit,par=par_start, - InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO, ## arguments for the RunModelAndCrit function (other than par) - lower=lower,upper=upper,control=list()) - - - ##_outputs_preparation - ParamFinalT <- NA*ParamStartT; - ParamFinalT[CalibOptions$OptimParam] <- RESULT$par; - ParamFinalR <- FUN_TRANSFO(ParamFinalT,"TR"); - ParamFinalR[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; - CritFinal <- RESULT$value; - - ##_storage_of_crit_info - OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=ParamFinalR); - OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel); - CritName <- OutputsCrit$CritName; - CritBestValue <- OutputsCrit$CritBestValue; - Multiplier <- OutputsCrit$Multiplier; - - ##_screenPrint - if(!quiet){ - if(RESULT$convergence==0){ - cat(paste("\t Calibration completed: \n",sep="")); - cat(paste("\t Param ",paste(formatC(ParamFinalR,format="f",width=8,digits=3),collapse=" , "),"\n",sep="")); - cat(paste("\t Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritFinal*Multiplier,format="f",digits=4),"\n",sep="")); - } else { - cat(paste("\t Calibration failed: \n",sep="")); - cat(paste("\t ",RESULT$message,sep="")); - } - } - - - ##_function_output - OutputsCalib <- list(as.double(ParamFinalR),CritFinal*Multiplier,as.integer(RESULT$counts[1]),CritName,CritBestValue); - names(OutputsCalib) <- c("ParamFinalR","CritFinal","Nruns","CritName","CritBestValue"); - class(OutputsCalib) <- c("OutputsCalib","sce"); - return(OutputsCalib); - - -} - - - - -#************************************************************************************************** -# Various functions copied from the sources of the hydromad R-package (file sce.R in version 0.9-19) -# available at http://hydromad.catchment.org/ -# All these functions are useful to make a calibration using the sce procedure -#************************************************************************************************** -## Translated from MATLAB to R -## and substantially revised by Felix Andrews <felix@nfrac.org> -## 2009-08-18 - -## Changed sampling scheme of parents from each complex; -## convergence criteria; memory error; initial sampling; etc. - - -# Copyright (C) 2006 Brecht Donckels, BIOMATH, brecht.donckels@ugent.be -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -# USA. - - -## Originally based on code by Qingyun Duan, 16 May 2005 -## http://www.mathworks.com.au/matlabcentral/fileexchange/7671 - - -## NOTE: keep this in sync with the help page! -sceDefaults <- function() - list(ncomplex = 5, ## number of complexes - cce.iter = NA, ## number of iteration in inner loop (CCE algorithm) - fnscale = 1, ## function scaling factor (set to -1 for maximisation) - elitism = 1, ## controls amount of weighting in sampling towards the better parameter sets - initsample = "latin", ## sampling scheme for initial values -- "latin" or "random" - reltol = 1e-5, ## convergence threshold: relative improvement factor required in an SCE iteration - tolsteps = 7, ## number of iterations within reltol to confirm convergence - maxit = 10000, ## maximum number of iterations - maxeval = Inf, ## maximum number of function evaluations - maxtime = Inf, ## maximum duration of optimization in seconds - returnpop = FALSE, ## whether to return populations from all iterations - trace = 0, ## level of user feedback - REPORT = 1) ## number of iterations between reports when trace >= 1 - - -SCEoptim <- function(FUN, par, ..., - lower = -Inf, upper = Inf, - control = list()) -{ - FUN <- match.fun(FUN) - stopifnot(is.numeric(par)) - stopifnot(length(par) > 0) - stopifnot(is.numeric(lower)) - stopifnot(is.numeric(upper)) - ## allow `lower` or `upper` to apply to all parameters - if (length(lower) == 1) - lower <- rep(lower, length = length(par)) - if (length(upper) == 1) - upper <- rep(upper, length = length(par)) - stopifnot(length(lower) == length(par)) - stopifnot(length(upper) == length(par)) - - ## determine number of variables to be optimised - NDIM <- length(par) - - ## update default options with supplied options - stopifnot(is.list(control)) - control <- modifyList(sceDefaults(), control) - isValid <- names(control) %in% names(sceDefaults()) - if (any(!isValid)) - stop("unrecognised options: ", - toString(names(control)[!isValid])) - - returnpop <- control$returnpop - trace <- control$trace - nCOMPLEXES <- control$ncomplex - CCEITER <- control$cce.iter - MAXIT <- control$maxit - MAXEVAL <- control$maxeval - - ## recommended number of CCE steps in Duan et al 1994: - if (is.na(CCEITER)) - CCEITER <- 2 * NDIM + 1 - - if (is.finite(MAXEVAL)) { - ## upper bound on number of iterations to reach MAXEVAL - MAXIT <- min(MAXIT, ceiling(MAXEVAL / (nCOMPLEXES * CCEITER))) - } - - ## define number of points in each complex - nPOINTS_COMPLEX <- 2 * NDIM + 1 - - ## define number of points in each simplex - nPOINTS_SIMPLEX <- NDIM+1 - - ## define total number of points - nPOINTS <- nCOMPLEXES * nPOINTS_COMPLEX - - ## initialise counters - funevals <- 0 - - - costFunction <- function(FUN, par, ...) - { - ## check lower and upper bounds - i <- which(par < lower) - if (any(i)) { - i <- i[1] - return( 1e12 + (lower[i] - par[i]) * 1e6 ) - } - i <- which(par > upper) - if (any(i)) { - i <- i[1] - return( 1e12 + (par[i] - upper[i]) * 1e6 ) - } - funevals <<- funevals + 1 - result <- FUN(par, ...) * control$fnscale - if (is.na(result)) - result <- 1e12 - result - } - - simplexStep <- function(P, FAC) - { - ## Extrapolates by a factor FAC through the face of the simplex across from - ## the highest (i.e. worst) point. - worst <- nPOINTS_SIMPLEX - centr <- apply(P[-worst,,drop=FALSE], 2, mean) - newpar <- centr*(1-FAC) + P[worst,]*FAC - newpar - } - - - ## initialise population matrix - POPULATION <- matrix(as.numeric(NA), nrow = nPOINTS, ncol = NDIM) - if (!is.null(names(par))) - colnames(POPULATION) <- names(par) - POP.FITNESS <- numeric(length = nPOINTS) - POPULATION[1,] <- par - - ## generate initial parameter values by random uniform sampling - finitelower <- ifelse(is.infinite(lower), -(abs(par)+2)*5, lower) - finiteupper <- ifelse(is.infinite(upper), +(abs(par)+2)*5, upper) - if (control$initsample == "latin") { - for (i in 1:NDIM) { - tmp <- seq(finitelower[i], finiteupper[i], length = nPOINTS-1) - tmp <- jitter(tmp, factor = 2) - tmp <- pmax(finitelower[i], pmin(finiteupper[i], tmp)) - POPULATION[-1,i] <- sample(tmp) - } - } else { - for (i in 1:NDIM) - POPULATION[-1,i] <- runif(nPOINTS-1, finitelower[i], finiteupper[i]) - } - - ## only store all iterations if requested -- could be big! - if (!is.finite(MAXIT)) { - MAXIT <- 10000 - warning("setting maximum iterations to 10000") - } - if (returnpop) { - POP.ALL <- array(as.numeric(NA), dim = c(nPOINTS, NDIM, MAXIT)) - if (!is.null(names(par))) - dimnames(POP.ALL)[[2]] <- names(par) - } - POP.FIT.ALL <- matrix(as.numeric(NA), ncol = nPOINTS, nrow = MAXIT) - BESTMEM.ALL <- matrix(as.numeric(NA), ncol = NDIM, nrow = MAXIT) - if (!is.null(names(par))) - colnames(BESTMEM.ALL) <- names(par) - - ## the output object - obj <- list() - class(obj) <- c("SCEoptim", class(obj)) - obj$call <- match.call() - obj$control <- control - - EXITFLAG <- NA - EXITMSG <- NULL - - ## initialise timer - tic <- as.numeric(Sys.time()) - toc <- 0 - - ## calculate cost for each point in initial population - for (i in 1:nPOINTS) - POP.FITNESS[i] <- costFunction(FUN, POPULATION[i,], ...) - - ## sort the population in order of increasing function values - idx <- order(POP.FITNESS) - POP.FITNESS <- POP.FITNESS[idx] - POPULATION <- POPULATION[idx,,drop=FALSE] - - ## store one previous iteration only - POP.PREV <- POPULATION - POP.FIT.PREV <- POP.FITNESS - - if (returnpop) { - POP.ALL[,,1] <- POPULATION - } - POP.FIT.ALL[1,] <- POP.FITNESS - BESTMEM.ALL[1,] <- POPULATION[1,] - - ## store best solution from last two iterations - prevBestVals <- rep(Inf, control$tolsteps) - prevBestVals[1] <- POP.FITNESS[1] - - ## for each iteration... - i <- 0 - while (i < MAXIT) { - - i <- i + 1 - - ## The population matrix POPULATION will now be rearranged into complexes. - - ## For each complex ... - for (j in 1:nCOMPLEXES) { - - ## construct j-th complex from POPULATION - - k1 <- 1:nPOINTS_COMPLEX - k2 <- (k1-1) * nCOMPLEXES + j - - COMPLEX <- POP.PREV[k2,,drop=FALSE] - COMPLEX_FITNESS <- POP.FIT.PREV[k2] - - ## Each complex evolves a number of steps according to the competitive - ## complex evolution (CCE) algorithm as described in Duan et al. (1992). - ## Therefore, a number of 'parents' are selected from each complex which - ## form a simplex. The selection of the parents is done so that the better - ## points in the complex have a higher probability to be selected as a - ## parent. The paper of Duan et al. (1992) describes how a trapezoidal - ## probability distribution can be used for this purpose. - - for (k in 1:CCEITER) { - - ## select simplex by sampling the complex - - ## sample points with "trapezoidal" i.e. linear probability - weights <- rev(ppoints(nPOINTS_COMPLEX)) - ## 'elitism' parameter can give more weight to the better results: - weights <- weights ^ control$elitism - LOCATION <- sample(seq(1,nPOINTS_COMPLEX), size = nPOINTS_SIMPLEX, - prob = weights) - - LOCATION <- sort(LOCATION) - - ## construct the simplex - SIMPLEX <- COMPLEX[LOCATION,,drop=FALSE] - SIMPLEX_FITNESS <- COMPLEX_FITNESS[LOCATION] - - worst <- nPOINTS_SIMPLEX - - ## generate new point for simplex - - ## first extrapolate by a factor -1 through the face of the simplex - ## across from the high point,i.e.,reflect the simplex from the high point - parRef <- simplexStep(SIMPLEX, FAC = -1) - fitRef <- costFunction(FUN, parRef, ...) - - ## check the result - if (fitRef <= SIMPLEX_FITNESS[1]) { - ## gives a result better than the best point,so try an additional - ## extrapolation by a factor 2 - parRefEx <- simplexStep(SIMPLEX, FAC = -2) - fitRefEx <- costFunction(FUN, parRefEx, ...) - if (fitRefEx < fitRef) { - SIMPLEX[worst,] <- parRefEx - SIMPLEX_FITNESS[worst] <- fitRefEx - ALGOSTEP <- 'reflection and expansion' - } else { - SIMPLEX[worst,] <- parRef - SIMPLEX_FITNESS[worst] <- fitRef - ALGOSTEP <- 'reflection' - } - } else if (fitRef >= SIMPLEX_FITNESS[worst-1]) { - ## the reflected point is worse than the second-highest, so look - ## for an intermediate lower point, i.e., do a one-dimensional - ## contraction - parCon <- simplexStep(SIMPLEX, FAC = -0.5) - fitCon <- costFunction(FUN, parCon, ...) - if (fitCon < SIMPLEX_FITNESS[worst]) { - SIMPLEX[worst,] <- parCon - SIMPLEX_FITNESS[worst] <- fitCon - ALGOSTEP <- 'one dimensional contraction' - } else { - ## cant seem to get rid of that high point, so better contract - ## around the lowest (best) point - SIMPLEX <- (SIMPLEX + rep(SIMPLEX[1,], each=nPOINTS_SIMPLEX)) / 2 - for (k in 2:NDIM) - SIMPLEX_FITNESS[k] <- costFunction(FUN, SIMPLEX[k,], ...) - ALGOSTEP <- 'multiple contraction' - } - } else { - ## if better than second-highest point, use this point - SIMPLEX[worst,] <- parRef - SIMPLEX_FITNESS[worst] <- fitRef - ALGOSTEP <- 'reflection' - } - - if (trace >= 3) { - message(ALGOSTEP) - } - - ## replace the simplex into the complex - COMPLEX[LOCATION,] <- SIMPLEX - COMPLEX_FITNESS[LOCATION] <- SIMPLEX_FITNESS - - ## sort the complex - idx <- order(COMPLEX_FITNESS) - COMPLEX_FITNESS <- COMPLEX_FITNESS[idx] - COMPLEX <- COMPLEX[idx,,drop=FALSE] - } - - ## replace the complex back into the population - POPULATION[k2,] <- COMPLEX - POP.FITNESS[k2] <- COMPLEX_FITNESS - } - - ## At this point, the population was divided in several complexes, each of which - ## underwent a number of iteration of the simplex (Metropolis) algorithm. Now, - ## the points in the population are sorted, the termination criteria are checked - ## and output is given on the screen if requested. - - ## sort the population - idx <- order(POP.FITNESS) - POP.FITNESS <- POP.FITNESS[idx] - POPULATION <- POPULATION[idx,,drop=FALSE] - if (returnpop) { - POP.ALL[,,i] <- POPULATION - } - POP.FIT.ALL[i,] <- POP.FITNESS - BESTMEM.ALL[i,] <- POPULATION[1,] - - curBest <- POP.FITNESS[1] - - ## end the optimization if one of the stopping criteria is met - - prevBestVals <- c(curBest, head(prevBestVals, -1)) - reltol <- control$reltol - if (all(abs(diff(prevBestVals)) <= reltol * (abs(curBest)+reltol))) { - EXITMSG <- 'Change in solution over [tolsteps] less than specified tolerance (reltol).' - EXITFLAG <- 0 - } - - ## give user feedback on screen if requested - if (trace >= 1) { - if (i == 1) { - message(' Nr Iter Nr Fun Eval Current best function Current worst function') - } - if ((i %% control$REPORT == 0) || (!is.na(EXITFLAG))) - { - message(sprintf(' %5.0f %5.0f %12.6g %12.6g', - i, funevals, min(POP.FITNESS), max(POP.FITNESS))) - if (trace >= 2) - message("parameters: ", toString(signif(POPULATION[1,], 3))) - } - } - - if (!is.na(EXITFLAG)) - break - - if ((i >= control$maxit) || (funevals >= control$maxeval)) { - EXITMSG <- 'Maximum number of function evaluations or iterations reached.' - EXITFLAG <- 1 - break - } - - toc <- as.numeric(Sys.time()) - tic - if (toc > control$maxtime) { - EXITMSG <- 'Exceeded maximum time.' - EXITFLAG <- 2 - break - } - - ## go to next iteration - POP.PREV <- POPULATION - POP.FIT.PREV <- POP.FITNESS - } - if (trace >= 1) - message(EXITMSG) - - ## return solution - obj$par <- POPULATION[1,] - obj$value <- POP.FITNESS[1] - obj$convergence <- EXITFLAG - obj$message <- EXITMSG - - ## store number of function evaluations - obj$counts <- funevals - ## store number of iterations - obj$iterations <- i - ## store the amount of time taken - obj$time <- toc - - if (returnpop) { - ## store information on the population at each iteration - obj$POP.ALL <- POP.ALL[,,1:i] - dimnames(obj$POP.ALL)[[3]] <- paste("iteration", 1:i) - } - obj$POP.FIT.ALL <- POP.FIT.ALL[1:i,] - obj$BESTMEM.ALL <- BESTMEM.ALL[1:i,] - - obj -} - diff --git a/files_R_PLUS/CreateCalibOptions_PLUS.R b/files_R_PLUS/CreateCalibOptions_PLUS.R deleted file mode 100644 index c7e590248d42d7176fd0d2945218996b41b56a0d..0000000000000000000000000000000000000000 --- a/files_R_PLUS/CreateCalibOptions_PLUS.R +++ /dev/null @@ -1,328 +0,0 @@ -#************************************************************************************************* -#' Creation of the CalibOptions object required to the Calibration functions. -#' -#' Users wanting to use FUN_MOD, FUN_CALIB or FUN_TRANSFO functions that are not included in -#' the package must create their own CalibOptions object accordingly. -#************************************************************************************************* -#' @title Creation of the CalibOptions object required to the Calibration functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}} -#' @example tests/example_Calibration.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param FUN_CALIB (optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN -#' @param FUN_TRANSFO (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined -#' @param OptimParam (optional) [boolean] vector of booleans indicating which parameters must be optimised (NParam columns, 1 line) -#' @param FixedParam (optional) [numeric] vector giving the values to allocate to non-optimised parameter values (NParam columns, 1 line) -#' @param SearchRanges (optional) [numeric] matrix giving the ranges of real parameters (NParam columns, 2 lines) -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' [1,] \tab 0 \tab -1 \tab 0 \tab ... \tab 0.0 \cr -#' [2,] \tab 3000 \tab +1 \tab 100 \tab ... \tab 3.0 \cr -#' } -#' @param StartParam (optional) [numeric] vector of parameter values used to start global search calibration procedure (e.g. Calibration_optim) -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' \tab 1000 \tab -0.5 \tab 22 \tab ... \tab 1.1 \cr -#' } -#' @param StartParamList (optional) [numeric] matrix of parameter sets used for grid-screening calibration procedure (values in columns, sets in line) -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' [set1] \tab 800 \tab -0.7 \tab 25 \tab ... \tab 1.0 \cr -#' [set2] \tab 1000 \tab -0.5 \tab 22 \tab ... \tab 1.1 \cr -#' [...] \tab ... \tab ... \tab ... \tab ... \tab ... \cr -#' [set n] \tab 200 \tab -0.3 \tab 17 \tab ... \tab 1.0 \cr -#' } -#' @param StartParamDistrib (optional) [numeric] matrix of parameter values used for grid-screening calibration procedure (values in columns, percentiles in line) \cr -#' \tabular{llllll}{ -#' \tab [X1] \tab [X2] \tab [X3] \tab [...] \tab [Xi] \cr -#' [value1] \tab 800 \tab -0.7 \tab 25 \tab ... \tab 1.0 \cr -#' [value2] \tab 1000 \tab NA \tab 50 \tab ... \tab 1.2 \cr -#' [value3] \tab 1200 \tab NA \tab NA \tab ... \tab 1.6 \cr -#' } -#' @param nsga2Options (optional) [list] list of options for the nsga2 algorithm (default: PopSize=500, NGenerations=30, CProb=0.7, MProb=0.2, CDist=5, MDist=10) -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{CalibOptions} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{$OptimParam } \tab [boolean] vector of booleans indicating which parameters must be optimised \cr -#' \emph{$FixedParam } \tab [numeric] vector giving the values to allocate to non-optimised parameter values \cr -#' \emph{$SearchRanges } \tab [numeric] matrix giving the ranges of real parameters \cr -#' \emph{$StartParam } \tab [numeric] vector of parameter values used to start global search calibration procedure \cr -#' \emph{$StartParamList } \tab [numeric] matrix of parameter sets used for grid-screening calibration procedure \cr -#' \emph{$StartParamDistrib} \tab [numeric] matrix of parameter values used for grid-screening calibration procedure \cr -#' } -#************************************************************************************************** -CreateCalibOptions_PLUS <- function(FUN_MOD,RunOptions,FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=NULL,OptimParam=NULL,FixedParam=NULL,SearchRanges=NULL, - StartParam=NULL,StartParamList=NULL,StartParamDistrib=NULL,nsga2Options=NULL){ - - ObjectClass <- NULL; - - ##check_FUN_MOD - BOOL <- FALSE; - if(identical(FUN_MOD,RunModel_GR4J )){ ObjectClass <- c(ObjectClass,"GR4J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_GR5J )){ ObjectClass <- c(ObjectClass,"GR5J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_GR6J )){ ObjectClass <- c(ObjectClass,"GR6J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod )){ ObjectClass <- c(ObjectClass,"HBANLIB_DMod" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeige )){ ObjectClass <- c(ObjectClass,"CemaNeige" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J )){ ObjectClass <- c(ObjectClass,"CemaNeigeGR4J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR5J )){ ObjectClass <- c(ObjectClass,"CemaNeigeGR5J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeGR6J )){ ObjectClass <- c(ObjectClass,"CemaNeigeGR6J" ); BOOL <- TRUE; } - if(identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ ObjectClass <- c(ObjectClass,"CemaNeigeHBANLIB_DMod"); BOOL <- TRUE; } - if(!BOOL){ stop("incorrect FUN_MOD for use in CreateCalibOptions \n"); return(NULL); } - - ##check_RunOptions - if(inherits(RunOptions,"RunOptions" )==FALSE){ - stop("RunOptions must be of class RunOptions \n"); return(NULL); } - if(inherits(RunOptions,"HBANLIB_DMod")==FALSE & sum(c("HBANLIB_DMod","CemaNeigeHBANLIB_DMod") %in% ObjectClass)>0){ - stop("RunOptions must be of class HBANLIB_DMod \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige")==FALSE & sum(c("CemaNeige","CemaNeigeGR4J","CemaNeigeGR5J","CemaNeigeGR6J","CemaNeigeHBANLIB_DMod") %in% ObjectClass)>0){ - stop("RunOptions must be of class HBANLIB_DMod \n"); return(NULL); } - - ##check_FUN_CALIB - BOOL <- FALSE; - if(identical(FUN_CALIB,Calibration_HBAN )){ ObjectClass <- c(ObjectClass,"HBAN" ); BOOL <- TRUE; } - if(identical(FUN_CALIB,Calibration_optim )){ ObjectClass <- c(ObjectClass,"optim" ); BOOL <- TRUE; } - if(identical(FUN_CALIB,Calibration_nlminb)){ ObjectClass <- c(ObjectClass,"nlminb"); BOOL <- TRUE; } - if(identical(FUN_CALIB,Calibration_sce )){ ObjectClass <- c(ObjectClass,"sce" ); BOOL <- TRUE; } - if(identical(FUN_CALIB,Calibration_nsga2 )){ ObjectClass <- c(ObjectClass,"nsga2" ); BOOL <- TRUE; } - if(!BOOL){ stop("incorrect FUN_CALIB for use in CreateCalibOptions \n"); return(NULL); } - - ##check_FUN_TRANSFO - if(is.null(FUN_TRANSFO)){ - ##_set_FUN1 - if(identical(FUN_MOD,RunModel_GR4J ) | identical(FUN_MOD,RunModel_CemaNeigeGR4J) ){ FUN1 <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J ) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) ){ FUN1 <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J ) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) ){ FUN1 <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige) ){ FUN1 <- TransfoParam_CemaNeige; } - if(is.null(FUN1)){ stop("FUN1 was not found \n"); return(NULL); } - ##_set_FUN2 - FUN2 <- TransfoParam_CemaNeige; - ##_set_FUN_TRANSFO - if(!inherits(RunOptions,"CemaNeige") | identical(FUN_MOD,RunModel_CemaNeige)){ - FUN_TRANSFO <- FUN1; - } else { - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - if(NParam <= 3){ - ParamOut[, 1:(NParam-2)] <- FUN1(cbind(ParamIn[,1:(NParam-2)]),Direction); - } else { - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[,1:(NParam-2) ],Direction); } - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam] ,Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - } - if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found \n"); return(NULL); } - - - ##NParam - NParam <- GetNParam_PLUS(FUN_MOD=FUN_MOD,IndModel=RunOptions$IndModel); - - ##check_OptimParam - if(is.null(OptimParam)){ - OptimParam <- rep(TRUE,NParam); - } else { - if(!is.vector(OptimParam) ){ stop("OptimParam must be a vector of booleans \n"); return(NULL); } - if(length(OptimParam)!=NParam){ stop("Incompatibility between OptimParam length and FUN_MOD \n"); return(NULL); } - if(!is.logical(OptimParam) ){ stop("OptimParam must be a vector of booleans \n"); return(NULL); } - } - - - ##check_FixedParam - if(is.null(FixedParam)){ - FixedParam <- rep(NA,NParam); - } else { - if(!is.vector(FixedParam) ){ stop("FixedParam must be a vector \n"); return(NULL); } - if(length(FixedParam)!=NParam ){ stop("Incompatibility between OptimParam length and FUN_MOD \n"); return(NULL); } - if(!is.numeric(FixedParam[!OptimParam])){ stop("if OptimParam[i]==FALSE, FixedParam[i] must be a numeric value \n"); return(NULL); } - } - - - ##check_SearchRanges - if(is.null(SearchRanges)){ - ParamT <- matrix(c(rep(-9.99,NParam),rep(+9.99,NParam)),ncol=NParam,byrow=TRUE); - SearchRanges <- TransfoParam(ParamIn=ParamT,Direction="TR",FUN_TRANSFO=FUN_TRANSFO); - } else { - if(!is.matrix(SearchRanges) ){ stop("SearchRanges must be a matrix \n"); return(NULL); } - if(!is.numeric(SearchRanges) ){ stop("SearchRanges must be a matrix of numeric values \n"); return(NULL); } - if(sum(is.na(SearchRanges))!=0){ stop("SearchRanges must not include NA values \n"); return(NULL); } - if(nrow(SearchRanges)!=2 ){ stop("SearchRanges must have 2 rows \n"); return(NULL); } - if(ncol(SearchRanges)!=NParam ){ stop("Incompatibility between SearchRanges ncol and FUN_MOD \n"); return(NULL); } - } - - - ##check_StartParamList_and_StartParamDistrib__default_values - if( ("HBAN" %in% ObjectClass & is.null(StartParamList) & is.null(StartParamDistrib)) | - (("optim" %in% ObjectClass | "nlminb" %in% ObjectClass | "sce" %in% ObjectClass | "nsga2" %in% ObjectClass) & is.null(StartParam)) ){ - - if("GR4J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -2.00, +3.40, -9.10, - +3.90, -0.90, +4.10, -8.70, - +4.50, -0.10, +5.00, -8.10),ncol=NParam,byrow=TRUE); } - if("GR5J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70, - +3.90, -0.60, +4.10, -8.70, +0.30, - +4.50, -0.10, +5.00, -8.10, +0.50),ncol=NParam,byrow=TRUE); } - if("GR6J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, - +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, - +4.50, +0.50, +5.00, -8.10, +1.10, +5.00),ncol=NParam,byrow=TRUE); } - if("CemaNeige"%in% ObjectClass){ - ParamT <- matrix( c( -6.26, +0.55, - -2.13, +0.92, - +4.86, +1.40),ncol=NParam,byrow=TRUE); } - if("CemaNeigeGR4J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -2.00, +3.40, -9.10, -6.26, +0.55, - +3.90, -0.90, +4.10, -8.70, -2.13, +0.92, - +4.50, -0.10, +5.00, -8.10, +4.86, +1.40),ncol=NParam,byrow=TRUE); } - if("CemaNeigeGR5J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70, -6.26, +0.55, - +3.90, -0.60, +4.10, -8.70, +0.30, -2.13, +0.92, - +4.50, -0.10, +5.00, -8.10, +0.50, +4.86, +1.40),ncol=NParam,byrow=TRUE); } - if("CemaNeigeGR6J"%in% ObjectClass){ - ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, -6.26, +0.55, - +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, -2.13, +0.92, - +4.50, +0.50, +5.00, -8.10, +1.10, +5.00, +4.86, +1.40),ncol=NParam,byrow=TRUE); } - - - if("HBANLIB_DMod" %in% ObjectClass | "CemaNeigeHBANLIB_DMod" %in% ObjectClass){ - if("CemaNeigeHBANLIB_DMod" %in% ObjectClass){ NParamMod <- NParam-2; } else { NParamMod <- NParam; } - if(RunOptions$IndMod==01){ ParamT <- matrix( c( +1.4, +3.7, +1.9, -9.3, +3.5, -2.2, +3.0, -2.0, - +2.4, +4.5, +3.5, -9.0, +4.5, -1.3, +4.0, -1.3),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==02){ ParamT <- matrix( c( -0.4, +5.6, +1.3, -9.2, -3.9, -2.3, - +0.9, +6.2, +2.2, -8.8, +1.9, -1.9),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==03){ ParamT <- matrix( c( +3.6, -2.0, +3.4, -9.1, - +3.9, -0.9, +4.1, -8.7, - +4.5, -0.1, +5.0, -8.1),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==04){ ParamT <- matrix( c( +3.6, -1.7, +3.3, -9.1, -0.7, - +3.9, -0.6, +4.1, -8.7, +0.3, - +4.5, -0.1, +5.0, -8.1, +0.5),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==05){ ParamT <- matrix( c( +2.5, +5.5, +2.8, -9.3, -0.3, -0.4, -6.7, +1.4, +0.2, - +3.6, +6.2, +5.9, -8.9, +1.3, +1.1, -2.1, +7.0, +1.1),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==06){ ParamT <- matrix( c( +5.6, +0.6, -0.3, -9.7, +5.2, +5.5, +1.4, - +6.5, +3.0, +0.6, -9.1, +6.4, +6.6, +3.8),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==07){ ParamT <- matrix( c( +2.0, -0.8, -8.6, - +2.9, -0.3, -7.9, - +4.0, +0.1, -7.0),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==08){ ParamT <- matrix( c( -0.9, -2.3, +3.1, -9.2, +3.8, +2.9, - -0.4, +0.8, +4.4, -8.7, +4.7, +5.0),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==09){ ParamT <- matrix( c( +1.9, +2.7, -1.1, -9.6, -5.5, +1.0, +3.4, -0.2, +4.5, +3.5, +4.3, -1.5, -4.2, -4.4, - +3.5, +3.4, -0.3, -9.2, -1.6, +1.0, +3.7, +0.0, +5.1, +5.3, +5.6, -0.5, -3.6, -2.7),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==10){ ParamT <- matrix( c( +1.3, +5.0, +1.8, -9.2, -0.2, +1.0, -0.2, +4.2, - +2.4, +5.6, +2.8, -9.0, +0.9, +2.0, +1.1, +5.2),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==11){ ParamT <- matrix( c( +4.8, +2.9, -2.2, -9.8, +1.9, +4.9, -0.5, -0.4, +0.4, - +5.3, +4.0, -1.6, -9.1, +7.7, +9.6, +0.7, +0.0, +1.1),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==12){ ParamT <- matrix( c( +2.6, +1.6, +2.6, -9.2, +1.5, +0.7, +1.1, +1.3, -0.1, +2.4, - +3.4, +3.0, +5.0, -8.7, +2.7, +2.9, +3.5, +3.4, +0.5, +3.8),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==13){ ParamT <- matrix( c( +5.3, -1.0, -5.3, -9.5, +2.3, -1.6, - +6.0, -0.1, -0.6, -9.1, +4.0, -0.1),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==14){ ParamT <- matrix( c( +4.0, +1.3, +3.0, -9.3, +0.9, +4.4, -0.2, +0.5, - +4.9, +2.4, +4.4, -9.1, +2.8, +5.4, +1.9, +2.2),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==15){ ParamT <- matrix( c( +5.0, -2.7, +2.8, -9.4, +5.1, -0.9, -0.6, -1.2, - +5.5, -1.9, +7.9, -9.1, +7.3, +0.3, -0.2, +4.3),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==16){ ParamT <- matrix( c( +4.4, +2.5, +5.0, -9.3, +1.5, -2.2, +2.5, -9.0, - +6.1, +5.6, +5.7, -9.0, +2.4, -1.5, +3.6, -8.0),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==17){ ParamT <- matrix( c( +2.1, +3.0, +2.1, -9.4, +5.5, +1.2, +4.3, +4.2, +3.4, - +3.7, +4.9, +3.0, -9.1, +6.1, +2.4, +6.4, +6.4, +4.4),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==18){ ParamT <- matrix( c( +4.0, +2.9, +2.8, -9.4, -1.0, +0.5, +5.5, +1.2, +2.5, +0.0, - +6.5, +3.6, +4.6, -9.1, +5.2, +1.6, +7.7, +3.2, +3.5, +1.8),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==19){ ParamT <- matrix( c( -8.0, +4.7, -0.5, -9.6, +5.5, -4.0, +4.4, +2.7, - +2.0, +6.0, +0.8, -9.1, +6.4, +0.4, +5.8, +4.2),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==20){ ParamT <- matrix( c( +1.5, +2.5, +3.5, -9.7, +1.5, -8.0, +2.5, +2.7, -0.3, +0.0, +0.0, +0.0, - +2.5, +3.5, +4.5, -9.1, +2.5, -4.0, +3.8, +4.3, +0.3, NA, NA, NA),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==21){ ParamT <- matrix( c( +5.8, - +6.4, - +7.9),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==22){ ParamT <- matrix( c( +5.2, +5.7, - +5.8, +7.0, - +7.4, +9.1),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==23){ ParamT <- matrix( c( +4.1, +3.5, -9.2, - +4.9, +3.8, -8.8, - +5.9, +4.3, -8.2),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==24){ ParamT <- matrix( c( +4.3, +3.4, -0.4, -9.2, - +5.0, +3.7, -0.2, -8.9, - +6.0, +4.3, +0.0, -8.3),ncol=NParamMod,byrow=TRUE); } - if(RunOptions$IndMod==25){ ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, - +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, - +4.50, +0.50, +5.00, -8.10, +1.10, +5.00),ncol=NParamMod,byrow=TRUE); } - if("CemaNeigeHBANLIB_DMod" %in% ObjectClass){ - ParamT_1 <- ParamT; - ParamT_2 <- matrix( c( -6.26, +0.55, -2.13, +0.92, +4.86, +1.40),ncol=2,byrow=TRUE); - while(nrow(ParamT_1)<nrow(ParamT_2)){ ParamT_1 <- rbind(ParamT_1,rep(NA,ncol(ParamT_1))); } - while(nrow(ParamT_2)<nrow(ParamT_1)){ ParamT_2 <- rbind(ParamT_2,rep(NA,ncol(ParamT_2))); } - ParamT <- cbind(ParamT_1,ParamT_2); - } - } - - StartParamList <- NULL; - StartParamDistrib <- TransfoParam(ParamIn=ParamT,Direction="TR",FUN_TRANSFO=FUN_TRANSFO); - StartParam <- StartParamDistrib[2,]; - } - ##check_StartParamList_and_StartParamDistrib__format - if("HBAN" %in% ObjectClass & !is.null(StartParamList)){ - if(!is.matrix(StartParamList) ){ stop("StartParamList must be a matrix \n"); return(NULL); } - if(!is.numeric(StartParamList) ){ stop("StartParamList must be a matrix of numeric values \n"); return(NULL); } - if(sum(is.na(StartParamList))!=0){ stop("StartParamList must not include NA values \n"); return(NULL); } - if(ncol(StartParamList)!=NParam ){ stop("Incompatibility between StartParamList ncol and FUN_MOD \n"); return(NULL); } - } - if("HBAN" %in% ObjectClass & !is.null(StartParamDistrib)){ - if(!is.matrix(StartParamDistrib) ){ stop("StartParamDistrib must be a matrix \n"); return(NULL); } - if(!is.numeric(StartParamDistrib[1,]) ){ stop("StartParamDistrib must be a matrix of numeric values \n"); return(NULL); } - if(sum(is.na(StartParamDistrib[1,]))!=0){ stop("StartParamDistrib must not include NA values on the first line \n"); return(NULL); } - if(ncol(StartParamDistrib)!=NParam ){ stop("Incompatibility between StartParamDistrib ncol and FUN_MOD \n"); return(NULL); } - } - if(("optim" %in% ObjectClass | "nlminb" %in% ObjectClass | "sce" %in% ObjectClass | "nsga2" %in% ObjectClass) & !is.null(StartParam)){ - if(!is.vector(StartParam) ){ stop("StartParam must be a vector \n"); return(NULL); } - if(!is.numeric(StartParam) ){ stop("StartParam must be a vector of numeric values \n"); return(NULL); } - if(sum(is.na(StartParam))!=0 ){ stop("StartParam must not include NA values \n"); return(NULL); } - if(length(StartParam)!=NParam ){ stop("Incompatibility between StartParam length and FUN_MOD \n"); return(NULL); } - } - - - ##check_nsga2_options - if("nsga2" %in% ObjectClass){ - if("mco" %in% (.packages()) == FALSE){ stop("the 'mco' package is required to use the nsga2 algorithm \n"); return(NULL); } - if(is.null(nsga2Options)){ nsga2Options <- list( PopSize = as.integer(500), ### 100 300 500 - NGenerations = as.integer(030), ### 001 010 100 - CProb = as.double( 0.7), - MProb = as.double( 0.2), - CDist = as.double( 5), - MDist = as.double( 10)); } - if(!is.list(nsga2Options) ){ stop("nsga2Options must be a list \n"); return(NULL); } - if("PopSize" %in% names(nsga2Options)==FALSE){ stop("nsga2Options must be contain the PopSize element \n"); return(NULL); } - if("NGenerations" %in% names(nsga2Options)==FALSE){ stop("nsga2Options must be contain the NGenerations element \n"); return(NULL); } - if("CProb" %in% names(nsga2Options)==FALSE){ stop("nsga2Options must be contain the CProb element \n"); return(NULL); } - if("MProb" %in% names(nsga2Options)==FALSE){ stop("nsga2Options must be contain the MProb element \n"); return(NULL); } - if("CDist" %in% names(nsga2Options)==FALSE){ stop("nsga2Options must be contain the CDist element \n"); return(NULL); } - if("MDist" %in% names(nsga2Options)==FALSE){ stop("nsga2Options must be contain the MDist element \n"); return(NULL); } - if(is.na(nsga2Options$PopSize ) | !is.integer(nsga2Options$PopSize )){ stop("nsga2Options$PopSize must be an integer \n"); return(NULL); } - if(is.na(nsga2Options$NGenerations) | !is.integer(nsga2Options$NGenerations)){ stop("nsga2Options$NGenerations must be an integer \n"); return(NULL); } - if(is.na(nsga2Options$CProb) | !is.double(nsga2Options$CProb)){ stop("nsga2Options$CProb must be a double \n"); return(NULL); } - if(is.na(nsga2Options$MProb) | !is.double(nsga2Options$MProb)){ stop("nsga2Options$MProb must be a double \n"); return(NULL); } - if(is.na(nsga2Options$CDist) | !is.double(nsga2Options$CDist)){ stop("nsga2Options$CDist must be a double \n"); return(NULL); } - if(is.na(nsga2Options$MDist) | !is.double(nsga2Options$MDist)){ stop("nsga2Options$MDist must be a double \n"); return(NULL); } - } - - - ##Create_CalibOptions - CalibOptions <- list(OptimParam=OptimParam,FixedParam=FixedParam,SearchRanges=SearchRanges); - if(!is.null(StartParam )){ CalibOptions <- c(CalibOptions,list(StartParam=StartParam)); } - if(!is.null(StartParamList )){ CalibOptions <- c(CalibOptions,list(StartParamList=StartParamList)); } - if(!is.null(StartParamDistrib)){ CalibOptions <- c(CalibOptions,list(StartParamDistrib=StartParamDistrib)); } - if("nsga2" %in% ObjectClass ){ CalibOptions <- c(CalibOptions,list(PopSize=nsga2Options$PopSize,NGenerations=nsga2Options$NGenerations,CProb=nsga2Options$CProb, - MProb=nsga2Options$MProb,CDist=nsga2Options$CDist,MDist=nsga2Options$MDist)); } - class(CalibOptions) <- c("CalibOptions",ObjectClass); - return(CalibOptions); - - -} - - - diff --git a/files_R_PLUS/CreateFunTransfo_PLUS.R b/files_R_PLUS/CreateFunTransfo_PLUS.R deleted file mode 100644 index 7f7849fcd7ed7575bf294dcc200e6069cd2d8722..0000000000000000000000000000000000000000 --- a/files_R_PLUS/CreateFunTransfo_PLUS.R +++ /dev/null @@ -1,83 +0,0 @@ -#************************************************************************************************* -#' Creation of the FUN_TRANSFO function (combination with TransfoParam_CemaNeige if required). -#************************************************************************************************* -#' @title Creation of the FUN_TRANSFO function (combination with TransfoParam_CemaNeige if required) -#' @author Laurent Coron (June 2014) -#' @example tests/example_CreateFunTransfo_PLUS.R -#' @encoding UTF-8 -#' @export -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_CemaNeigeHBANLIB_DMod) -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @return FUN_TRANSFO [function] model parameters transformation function -#**************************************************************************************************' -CreateFunTransfo_PLUS <- function(FUN_MOD,RunOptions){ - - ##_ckeck_RunOptions - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class RunOptions \n"); return(NULL); } - if((identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) | - identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod) | identical(FUN_MOD,RunModel_CemaNeige)) - & inherits(RunOptions,"CemaNeige")==FALSE){ stop("RunOptions must be of class CemaNeige \n"); return(NULL); } - - FUN_TRANSFO <- NULL; - - ##_set_FUN1 - FUN1 <- NULL; - if(identical(FUN_MOD,RunModel_GR4J ) | identical(FUN_MOD,RunModel_CemaNeigeGR4J) ){ FUN1 <- TransfoParam_GR4J ; } - if(identical(FUN_MOD,RunModel_GR5J ) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) ){ FUN1 <- TransfoParam_GR5J ; } - if(identical(FUN_MOD,RunModel_GR6J ) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) ){ FUN1 <- TransfoParam_GR6J ; } - if(identical(FUN_MOD,RunModel_CemaNeige) ){ FUN1 <- TransfoParam_CemaNeige; } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod) ){ - if(inherits(RunOptions,"HBANLIB_DMod")==FALSE){ stop("RunOptions must be of class HBANLIB_DMod \n"); return(NULL); } - if(RunOptions$IndMod==01){ FUN1 <- TransfoParam_HBANLIB_DMod01; } - if(RunOptions$IndMod==02){ FUN1 <- TransfoParam_HBANLIB_DMod02; } - if(RunOptions$IndMod==03){ FUN1 <- TransfoParam_HBANLIB_DMod03; } - if(RunOptions$IndMod==04){ FUN1 <- TransfoParam_HBANLIB_DMod04; } - if(RunOptions$IndMod==05){ FUN1 <- TransfoParam_HBANLIB_DMod05; } - if(RunOptions$IndMod==06){ FUN1 <- TransfoParam_HBANLIB_DMod06; } - if(RunOptions$IndMod==07){ FUN1 <- TransfoParam_HBANLIB_DMod07; } - if(RunOptions$IndMod==08){ FUN1 <- TransfoParam_HBANLIB_DMod08; } - if(RunOptions$IndMod==09){ FUN1 <- TransfoParam_HBANLIB_DMod09; } - if(RunOptions$IndMod==10){ FUN1 <- TransfoParam_HBANLIB_DMod10; } - if(RunOptions$IndMod==11){ FUN1 <- TransfoParam_HBANLIB_DMod11; } - if(RunOptions$IndMod==12){ FUN1 <- TransfoParam_HBANLIB_DMod12; } - if(RunOptions$IndMod==13){ FUN1 <- TransfoParam_HBANLIB_DMod13; } - if(RunOptions$IndMod==14){ FUN1 <- TransfoParam_HBANLIB_DMod14; } - if(RunOptions$IndMod==15){ FUN1 <- TransfoParam_HBANLIB_DMod15; } - if(RunOptions$IndMod==16){ FUN1 <- TransfoParam_HBANLIB_DMod16; } - ### if(RunOptions$IndMod==17){ FUN1 <- TransfoParam_HBANLIB_DMod17; } - if(RunOptions$IndMod==18){ FUN1 <- TransfoParam_HBANLIB_DMod18; } - if(RunOptions$IndMod==19){ FUN1 <- TransfoParam_HBANLIB_DMod19; } - ### if(RunOptions$IndMod==20){ FUN1 <- TransfoParam_HBANLIB_DMod20; } - if(RunOptions$IndMod==21){ FUN1 <- TransfoParam_HBANLIB_DMod21; } - if(RunOptions$IndMod==22){ FUN1 <- TransfoParam_HBANLIB_DMod22; } - if(RunOptions$IndMod==23){ FUN1 <- TransfoParam_HBANLIB_DMod23; } - if(RunOptions$IndMod==24){ FUN1 <- TransfoParam_HBANLIB_DMod24; } - if(RunOptions$IndMod==25){ FUN1 <- TransfoParam_HBANLIB_DMod25; } - } - if(identical(FUN_MOD,RunModel_CemaNeige)==FALSE & is.null(FUN1)){ stop("FUN1 was not found \n"); return(NULL); } - - ##_set_FUN2 - FUN2 <- TransfoParam_CemaNeige; - - ##_set_FUN_TRANSFO - if(!inherits(RunOptions,"CemaNeige") | identical(FUN_MOD,RunModel_CemaNeige)){ - FUN_TRANSFO <- FUN1; - } else { - FUN_TRANSFO <- function(ParamIn,Direction){ - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ParamOut <- NA*ParamIn; - NParam <- ncol(ParamIn); - if(NParam <= 3){ - ParamOut[, 1:(NParam-2)] <- FUN1(cbind(ParamIn[,1:(NParam-2)]),Direction); - } else { - ParamOut[, 1:(NParam-2)] <- FUN1(ParamIn[,1:(NParam-2) ],Direction); } - ParamOut[,(NParam-1):NParam ] <- FUN2(ParamIn[,(NParam-1):NParam],Direction); - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - } - } - return(FUN_TRANSFO); - -} - diff --git a/files_R_PLUS/CreateInputsCrit_PLUS.R b/files_R_PLUS/CreateInputsCrit_PLUS.R deleted file mode 100644 index 757d9875e62ac260086d05b303775fffc82fd1e9..0000000000000000000000000000000000000000 --- a/files_R_PLUS/CreateInputsCrit_PLUS.R +++ /dev/null @@ -1,78 +0,0 @@ -#************************************************************************************************* -#' Creation of the InputsCrit object required to the ErrorCrit functions. -#' -#' Users wanting to use FUN_CRIT functions that are not included in -#' the package must create their own InputsCrit object accordingly. -#************************************************************************************************* -#' @title Creation of the InputsCrit object required to the ErrorCrit functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateCalibOptions}} -#' @example tests/example_ErrorCrit.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_CRIT [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE) -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Qobs [numeric] series of observed discharges [mm] -#' @param BoolCrit (optional) [boolean] boolean giving the time steps to consider in the computation (all time steps are consider by default) -#' @param transfo (optional) [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort") -#' @param Ind_zeroes (optional) [numeric] indices of the time-steps where zeroes are observed -#' @param epsilon (optional) [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{InputsCrit} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{$BoolCrit } \tab [boolean] boolean giving the time steps to consider in the computation \cr -#' \emph{$Qobs } \tab [numeric] series of observed discharges [mm] \cr -#' \emph{$transfo } \tab [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort") \cr -#' \emph{$Ind_zeroes} \tab [numeric] indices of the time-steps where zeroes are observed \cr -#' \emph{$epsilon } \tab [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty \cr -#' } -#************************************************************************************************** -CreateInputsCrit_PLUS <- function(FUN_CRIT,InputsModel,RunOptions,Qobs,BoolCrit=NULL,transfo="",Ind_zeroes=NULL,epsilon=NULL){ - - ObjectClass <- NULL; - - ##check_FUN_CRIT - BOOL <- FALSE; - if(identical(FUN_CRIT,ErrorCrit_NSE ) | identical(FUN_CRIT,ErrorCrit_KGE ) | identical(FUN_CRIT,ErrorCrit_KGE2 ) | - identical(FUN_CRIT,ErrorCrit_NSE_monthly ) | identical(FUN_CRIT,ErrorCrit_KGE_monthly ) | identical(FUN_CRIT,ErrorCrit_KGE2_monthly ) | - identical(FUN_CRIT,ErrorCrit_NSE_yearly ) | identical(FUN_CRIT,ErrorCrit_KGE_yearly ) | identical(FUN_CRIT,ErrorCrit_KGE2_yearly ) | - identical(FUN_CRIT,ErrorCrit_meanNSENSEinv) | identical(FUN_CRIT,ErrorCrit_meanKGEKGEinv ) | identical(FUN_CRIT,ErrorCrit_meanKGE2KGE2inv) | - identical(FUN_CRIT,ErrorCrit_RMSE ) | identical(FUN_CRIT,ErrorCrit_RMSE_regimeMean) | identical(FUN_CRIT,ErrorCrit_RMSE_regimeMed )){ - BOOL <- TRUE; } - if(!BOOL){ stop("incorrect FUN_CRIT for use in CreateInputsCrit \n"); return(NULL); } - - ##check_arguments - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n" ); return(NULL); } - if(inherits(RunOptions ,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n" ); return(NULL); } - LLL <- length(InputsModel$DatesR[RunOptions$IndPeriod_Run]) - - if(is.null(Qobs)){ stop("Qobs is missing \n" ); return(NULL); } - if(length(Qobs)!=LLL){ stop("Qobs and InputsModel series must have the same length \n"); return(NULL); } - - if(is.null(BoolCrit)){ BoolCrit <- rep(TRUE,length(Qobs)); } - if(!is.logical(BoolCrit)){ stop("BoolCrit must be a vector of boolean \n" ); return(NULL); } - if(length(BoolCrit)!=LLL){ stop("BoolCrit and InputsModel series must have the same length \n"); return(NULL); } - - if(is.null(transfo)){ - stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } - if(transfo %in% c("","sqrt","log","inv") == FALSE){ - stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } - - if(!is.null(Ind_zeroes)){ - if(!is.integer(Ind_zeroes)){ stop("Ind_zeroes must be a vector of integers \n" ); return(NULL); } - } - if(!is.null(epsilon)){ - if(length(epsilon)!=1 | !is.numeric(epsilon)){ stop("epsilon must be single value \n" ); return(NULL); } - epsilon=as.double(epsilon); - } - - ##Create_InputsCrit - InputsCrit <- list(BoolCrit=BoolCrit,Qobs=Qobs,transfo=transfo,Ind_zeroes=Ind_zeroes,epsilon=epsilon); - class(InputsCrit) <- c("InputsCrit",ObjectClass); - return(InputsCrit); - - -} - diff --git a/files_R_PLUS/CreateRunOptions_PLUS.R b/files_R_PLUS/CreateRunOptions_PLUS.R deleted file mode 100644 index 9417f577d17d9ad307a84fe142351fcd400dde3c..0000000000000000000000000000000000000000 --- a/files_R_PLUS/CreateRunOptions_PLUS.R +++ /dev/null @@ -1,286 +0,0 @@ -#************************************************************************************************* -#' Creation of the RunOptions object required to the RunModel functions. -#' -#' Users wanting to use FUN_MOD functions that are not included in -#' the package must create their own RunOptions object accordingly. -#' -#' ##### Initialisation options ##### -#' -#' The model initialisation options can either be set to a default configuration or be defined by the user. -#' -#' This is done via three vectors: \cr \emph{IndPeriod_WarmUp}, \emph{IniStates}, \emph{IniResLevels}. \cr -#' A default configuration is used for initialisation if these vectors are not defined. -#' -#' (1) Default initialisation options: -#' -#' \itemize{ -#' \item \emph{IndPeriod_WarmUp} default setting ensures a one-year warm-up using the time-steps preceding the \emph{IndPeriod_Run}. -#' The actual length of this warm-up might be shorter depending on data availability (no missing value being allowed on model input series). -#' -#' \item \emph{IniStates} and \emph{IniResLevels} are automatically set to initialise all the model states at 0, except for the production and routing stores which are initialised at 50\% of their capacity. This initialisation is made at the very beginning of the model call (i.e. at the beginning of \emph{IndPeriod_WarmUp} or at the beginning of IndPeriod_Run if the warm-up period is disabled). -#' } -#' -#' (2) Customisation of initialisation options: -#' -#' \itemize{ -#' \item \emph{IndPeriod_WarmUp} can be used to specify the indices of the warm-up period (within the time-series prepared in InputsModel). \cr -#' - remark 1: for most common cases, indices corresponding to one or several years preceding \emph{IndPeriod_Run} are used (e.g. \emph{IndPeriod_WarmUp <- 1000:1365} and \emph{IndPeriod_Run <- 1366:5000)}. \cr -#' However, it is also possible to perform a long-term initialisation if other indices than the warm-up ones are set in \emph{IndPeriod_WarmUp} (e.g. \emph{IndPeriod_WarmUp <- c( 1:5000 , 1:5000 , 1:5000 ,1000:1365 )}). \cr -#' - remark 2: it is also possible to completely disable the warm-up period when using \emph{IndPeriod_WarmUp <- 0}. -#' -#' \item \emph{IniStates} and \emph{IniResLevels} can be used to specify the initial model states. \cr -#' - remark 1: if \emph{IniStates} is used, all model states must be provided (e.g. 60 floats [mm] are required for GR4J, GR5J and GR6J; 60+2*NLayers floats [mm] are required for CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J; see fortran source code for details). \cr -#' - remark 2: in addition to \emph{IniStates}, \emph{IniResLevels} allows to set the filling rate of the production and routing stores for the GR models. For instance for GR4J, GR5J and GR6J: \emph{IniResLevels <- c(0.3,0.5)} should be used to obtain initial fillings of 30\% and 50\% for the production and routing stores, respectively. \emph{IniResLevels} is optional and can only be used if \emph{IniStates} is also defined (the state values corresponding to these two stores in \emph{IniStates} are not used in such case). \cr \cr -#' } -#************************************************************************************************* -#' @title Creation of the RunOptions object required to the RunModel functions -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}} -#' @example tests/example_RunModel.R -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________ -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J) -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param IndPeriod_WarmUp (optional) [numeric] index of period to be used for the model warm-up [-] -#' @param IndPeriod_Run [numeric] index of period to be used for the model run [-] -#' @param IniStates (optional) [numeric] vector of initial model states [mm] -#' @param IniResLevels (optional) [numeric] vector of initial filling rates for production and routing stores (2 values between 0 and 1) [-] -#' @param Outputs_Cal (optional) [character] vector giving the outputs needed for the calibration \cr (e.g. c("Qsim")), the least outputs the fastest the calibration -#' @param Outputs_Sim (optional) [character] vector giving the requested outputs \cr (e.g. c("DatesR","Qsim","SnowPack")), default="all" -#' @param RunSnowModule (optional) [boolean] option indicating whether CemaNeige should be activated -#' @param MeanAnSolidPrecip (optional) [numeric] vector giving the annual mean of average solid precipitation for each layer (computed from InputsModel if not defined) [mm/y] -#' @param IndModel [numeric] indice of the model in the HBANLIB_DMod library [-] -#' @param FortranMode (optional) [character] variable encoding in fortran ("single" or "double") -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________ -#' @return [list] object of class \emph{RunOptions} containing the data required to evaluate the model outputs; it can include the following: -#' \tabular{ll}{ -#' \emph{IndPeriod_WarmUp } \tab [numeric] index of period to be used for the model warm-up [-] \cr -#' \emph{IndPeriod_Run } \tab [numeric] index of period to be used for the model run [-] \cr -#' \emph{IniStates } \tab [numeric] vector of initial model states [mm] \cr -#' \emph{IniResLevels } \tab [numeric] vector of initial filling rates for production and routing stores [-] \cr -#' \emph{Outputs_Cal } \tab [character] character vector giving only the outputs needed for the calibration \cr -#' \emph{Outputs_Sim } \tab [character] character vector giving the requested outputs \cr -#' \emph{RunSnowModule } \tab [boolean] option indicating whether CemaNeige should be activated \cr -#' \emph{MeanAnSolidPrecip} \tab [numeric] vector giving the annual mean of average solid precipitation for each layer [mm/y] \cr -#' \emph{IndModel } \tab [numeric] indice of the model in the HBANLIB_DMod library [-] \cr -#' \emph{FortranMode } \tab [character] variable encoding in fortran ("single" or "double") \cr -#' } -#**************************************************************************************************' -CreateRunOptions_PLUS <- function(FUN_MOD,InputsModel,IndPeriod_WarmUp=NULL,IndPeriod_Run,IniStates=NULL,IniResLevels=NULL, - Outputs_Cal=NULL,Outputs_Sim="all",RunSnowModule=TRUE,MeanAnSolidPrecip=NULL,IndModel,FortranMode="double",quiet=FALSE){ - - - ObjectClass <- NULL; - - - ##check_FUN_MOD - BOOL <- FALSE; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J)){ - ObjectClass <- c(ObjectClass,"GR"); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod)){ - ObjectClass <- c(ObjectClass,"HBANLIB_DMod"); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeige)){ - ObjectClass <- c(ObjectClass,"CemaNeige"); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - ObjectClass <- c(ObjectClass,"GR","CemaNeige"); - BOOL <- TRUE; - } - if(identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ - ObjectClass <- c(ObjectClass,"CemaNeige","HBANLIB_DMod"); - BOOL <- TRUE; - } - if(!BOOL){ stop("incorrect FUN_MOD for use in CreateRunOptions \n"); return(NULL); } - - - ##check_InputsModel - if(!inherits(InputsModel,"InputsModel")){ - stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if("GR" %in% ObjectClass & !inherits(InputsModel,"GR")){ - stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if("CemaNeige" %in% ObjectClass & !inherits(InputsModel,"CemaNeige")){ - stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - - - ##check_IndPeriod_Run - if(identical(as.integer(IndPeriod_Run),as.integer(seq(from=IndPeriod_Run[1],to=tail(IndPeriod_Run,1),by=1)))==FALSE){ - stop("IndPeriod_Run must be a continuous sequence of integers \n"); return(NULL); } - if(storage.mode(IndPeriod_Run) != "integer"){ - stop("IndPeriod_Run should be of type integer \n"); return(NULL); } - - - ##check_IndPeriod_WarmUp - WTxt <- NULL; - if(is.null(IndPeriod_WarmUp)){ - WTxt <- paste(WTxt,"\t Model warm-up period not defined -> default configuration used \n",sep=""); - ##If_the_run_period_starts_at_the_very_beginning_of_the_time_series - if(IndPeriod_Run[1]==as.integer(1)){ - IndPeriod_WarmUp <- as.integer(0); - WTxt <- paste(WTxt,"\t No data were found for model warm-up! \n",sep=""); - ##We_look_for_the_longest_period_preceeding_the_run_period_with_a_maximum_of_one_year - } else { - TmpDateR <- InputsModel$DatesR[IndPeriod_Run[1]] - 365*24*60*60; ### minimal date to start the warmup - IndPeriod_WarmUp <- which(InputsModel$DatesR==max(InputsModel$DatesR[1],TmpDateR)) : (IndPeriod_Run[1]-1); - if("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass | "HBANLIB_DMod" %in% ObjectClass){ TimeStep <- as.integer(24*60*60); } - if(length(IndPeriod_WarmUp)*TimeStep/(365*24*60*60)>=1){ - WTxt <- paste(WTxt,"\t The year preceding the run period is used \n",sep=""); - } else { - WTxt <- paste(WTxt,"\t Less than a year (without missing values) was found for model warm-up: \n",sep=""); - WTxt <- paste(WTxt,"\t Only ",length(IndPeriod_WarmUp)," time-steps are used! \n",sep=""); - } - } - } - if(!is.null(IndPeriod_WarmUp)){ - if(identical(IndPeriod_WarmUp,as.integer(0))){ - WTxt <- paste(WTxt,"\t No warm-up period is used! \n",sep=""); } - if(storage.mode(IndPeriod_WarmUp) != "integer"){ - stop("IndPeriod_Run should be of type integer \n"); return(NULL); } - if(length(IndPeriod_WarmUp)!=0 & (IndPeriod_Run[1]-1)!=tail(IndPeriod_WarmUp,1)){ - WTxt <- paste(WTxt,"\t Model warm-up period is not directly before the model run period \n",sep=""); } - } - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - - - ##check_IniStates_and_IniResLevels - if(is.null(IniStates) & is.null(IniResLevels) & !quiet){ - warning("\t Model states initialisation not defined -> default configuration used \n"); } - if("GR" %in% ObjectClass | "HBANLIB_DMod" %in% ObjectClass){ NH <- 20; } else { NH <- 0; } - if("CemaNeige" %in% ObjectClass){ NLayers <- length(InputsModel$LayerPrecip); } else { NLayers <- 0; } - NState <- 3*NH + 2*NLayers; - if(!is.null(IniStates)){ - if(!is.vector(IniStates) ){ stop("IniStates must be a vector of numeric values \n"); return(NULL); } - if(!is.numeric(IniStates) ){ stop("IniStates must be a vector of numeric values \n"); return(NULL); } - if(length(IniStates)!=NState){ stop(paste("the length of IniStates must be ",NState," for the chosen FUN_MOD \n",sep="")); return(NULL); } - } else { - IniStates <- as.double(rep(0.0,NState)); - } - if(!is.null(IniResLevels)){ - if(!is.vector(IniResLevels) ){ stop("IniResLevels must be a vector of numeric values \n"); return(NULL); } - if(!is.numeric(IniResLevels)){ stop("IniResLevels must be a vector of numeric values \n"); return(NULL); } - if(length(IniResLevels)!=2 ) { stop("the length of IniStates must be 2 for the chosen FUN_MOD \n"); return(NULL); } - } else { - if("GR" %in% ObjectClass){ IniResLevels <- as.double(c(0.3,0.5)); } - } - - - ##check_Outputs_Cal_and_Sim - - ##Outputs_all - Outputs_all <- NULL; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ - Outputs_all <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); } - if(identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ - Outputs_all <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); } - if(identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ - Outputs_all <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim"); } - if("CemaNeige" %in% ObjectClass){ - Outputs_all <- c(Outputs_all,"Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ - Outputs_all <- "all"; } - - ##check_Outputs_Sim - if(!is.vector(Outputs_Sim) ){ stop("Outputs_Sim must be a vector of characters \n"); return(NULL); } - if(!is.character(Outputs_Sim)){ stop("Outputs_Sim must be a vector of characters \n"); return(NULL); } - if(sum(is.na(Outputs_Sim))!=0){ stop("Outputs_Sim must not contain NA \n"); return(NULL); } - if("all" %in% Outputs_Sim){ Outputs_Sim <- c("DatesR",Outputs_all,"StateEnd"); } - if(!identical(FUN_MOD,RunModel_HBANLIB_DMod) & !identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ - Test <- which(Outputs_Sim %in% c("DatesR",Outputs_all,"StateEnd") == FALSE); if(length(Test)!=0){ - stop(paste("Outputs_Sim is incorrectly defined: ",paste(Outputs_Sim[Test],collapse=", ")," not found \n",sep="")); return(NULL); } - Outputs_Sim <- Outputs_Sim[!duplicated(Outputs_Sim)]; - } - - ##check_Outputs_Cal - if(is.null(Outputs_Cal)){ - if("GR" %in% ObjectClass | "HBANLIB_DMod" %in% ObjectClass){ Outputs_Cal <- c("Qsim"); } - if("CemaNeige" %in% ObjectClass){ Outputs_Cal <- c("all"); } - if(("GR" %in% ObjectClass | "HBANLIB_DMod" %in% ObjectClass) & "CemaNeige" %in% ObjectClass){ Outputs_Cal <- c("PliqAndMelt","Qsim"); } - } else { - if(!is.vector(Outputs_Cal) ){ stop("Outputs_Cal must be a vector of characters \n"); return(NULL); } - if(!is.character(Outputs_Cal)){ stop("Outputs_Cal must be a vector of characters \n"); return(NULL); } - if(sum(is.na(Outputs_Cal))!=0){ stop("Outputs_Cal must not contain NA \n"); return(NULL); } - } - if("all" %in% Outputs_Cal){ Outputs_Cal <- c("DatesR",Outputs_all,"StateEnd"); } - if(!identical(FUN_MOD,RunModel_HBANLIB_DMod) & !identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ - Test <- which(Outputs_Cal %in% c("DatesR",Outputs_all,"StateEnd") == FALSE); if(length(Test)!=0){ - stop(paste("Outputs_Cal is incorrectly defined: ",paste(Outputs_Cal[Test],collapse=", ")," not found \n",sep="")); return(NULL); } - Outputs_Cal <- Outputs_Cal[!duplicated(Outputs_Cal)]; - } - - ##check_RunSnowModule - if("CemaNeige" %in% ObjectClass){ - if(!is.vector(RunSnowModule) ){ stop("RunSnowModule must be a single boolean \n"); return(NULL); } - if(!is.logical(RunSnowModule)){ stop("RunSnowModule must be either TRUE or FALSE \n"); return(NULL); } - if(length(RunSnowModule)!=1 ){ stop("RunSnowModule must be either TRUE or FALSE \n"); return(NULL); } - } - - - ##check_MeanAnSolidPrecip - if("CemaNeige" %in% ObjectClass & is.null(MeanAnSolidPrecip)){ - NLayers <- length(InputsModel$LayerPrecip); - SolidPrecip <- NULL; for(iLayer in 1:NLayers){ - if(iLayer==1){ SolidPrecip <- InputsModel$LayerFracSolidPrecip[[iLayer]]*InputsModel$LayerPrecip[[iLayer]]/NLayers; - } else { SolidPrecip <- SolidPrecip + InputsModel$LayerFracSolidPrecip[[iLayer]]*InputsModel$LayerPrecip[[iLayer]]/NLayers; } } - Factor <- NULL; - if(inherits(InputsModel,"yearly" )){ Factor <- 1; } - if(inherits(InputsModel,"monthly")){ Factor <- 12; } - if(inherits(InputsModel,"daily" )){ Factor <- 365.25; } - if(inherits(InputsModel,"hourly" )){ Factor <- 365.25*24; } - if(is.null(Factor)){ stop("InputsModel must be of class 'yearly', 'monthly', 'daily' or 'hourly' \n"); return(NULL); } - MeanAnSolidPrecip <- rep(mean(SolidPrecip)*Factor,NLayers); ### default value: same Gseuil for all layers - if(!quiet){ warning("\t MeanAnSolidPrecip not defined -> it was automatically set to c(",paste(round(MeanAnSolidPrecip),collapse=","),") \n"); } - } - if("CemaNeige" %in% ObjectClass & !is.null(MeanAnSolidPrecip)){ - if(!is.vector(MeanAnSolidPrecip) ){ stop(paste("MeanAnSolidPrecip must be a numeric vector \n",sep="")); return(NULL); } - if(!is.numeric(MeanAnSolidPrecip) ){ stop(paste("MeanAnSolidPrecip must be a numeric vector \n",sep="")); return(NULL); } - if(length(MeanAnSolidPrecip)!=NLayers){ stop(paste("MeanAnSolidPrecip must be a numeric vector of length ",NLayers," \n",sep="")); return(NULL); } - } - - - ##check_PliqAndMelt - if(RunSnowModule & ("GR" %in% ObjectClass | "HBANLIB_DMod" %in% ObjectClass) & "CemaNeige" %in% ObjectClass){ - if("PliqAndMelt" %in% Outputs_Cal == FALSE & "all" %in% Outputs_Cal == FALSE){ - WTxt <- NULL; - WTxt <- paste(WTxt,"\t PliqAndMelt was not defined in Outputs_Cal but is needed to feed the hydrological model with the snow module outputs \n",sep=""); - WTxt <- paste(WTxt,"\t -> it was automatically added \n",sep=""); - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - Outputs_Cal <- c(Outputs_Cal,"PliqAndMelt"); } - if("PliqAndMelt" %in% Outputs_Sim == FALSE & "all" %in% Outputs_Sim == FALSE){ - WTxt <- NULL; - WTxt <- paste(WTxt,"\t PliqAndMelt was not defined in Outputs_Sim but is needed to feed the hydrological model with the snow module outputs \n",sep=""); - WTxt <- paste(WTxt,"\t -> it was automatically added \n",sep=""); - if(!is.null(WTxt) & !quiet){ warning(WTxt); } - Outputs_Sim <- c(Outputs_Sim,"PliqAndMelt"); } - } - - - ##check_MultiModel_options - if("HBANLIB_DMod" %in% ObjectClass){ - if(!is.vector(IndModel) ){ stop("IndModel must be an integer between 1 and 25 \n"); return(NULL); } - if(round(IndModel,4)!=as.integer(IndModel)){ stop("IndModel must be an integer between 1 and 25 \n" ); return(NULL); } else { IndModel <- as.integer(IndModel); } - if(IndModel<1 | IndModel>25 ){ stop("IndModel must be an integer between 1 and 25 \n"); return(NULL); } - if(IndModel %in% c(13,17,19,20) ){ stop("the models HBANLIB_DMod13, HBANLIB_DMod17, HBANLIB_DMod19 and HBANLIB_DMod20 are not available in this version of airGR \n"); return(NULL); } - if(!is.vector(FortranMode) ){ stop("IndModel must be a character string equal to 'single' or 'double' \n"); return(NULL); } - if(!is.character(FortranMode) ){ stop("IndModel must be a character string equal to 'single' or 'double' \n"); return(NULL); } - } - - - ##Create_RunOptions - RunOptions <- list(IndPeriod_WarmUp=IndPeriod_WarmUp,IndPeriod_Run=IndPeriod_Run,IniStates=IniStates,IniResLevels=IniResLevels, - Outputs_Cal=Outputs_Cal,Outputs_Sim=Outputs_Sim); - if("CemaNeige" %in% ObjectClass){ - RunOptions <- c(RunOptions,list(RunSnowModule=RunSnowModule,MeanAnSolidPrecip=MeanAnSolidPrecip)); } - if("HBANLIB_DMod" %in% ObjectClass){ - RunOptions <- c(RunOptions,list(IndModel=IndModel,FortranMode=FortranMode)); } - class(RunOptions) <- c("RunOptions",ObjectClass); - return(RunOptions); - - -} - diff --git a/files_R_PLUS/ErrorCrit_KGE2_monthly.R b/files_R_PLUS/ErrorCrit_KGE2_monthly.R deleted file mode 100644 index 06916a918f9e1ed867adbd6238f4bfc05c493888..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_KGE2_monthly.R +++ /dev/null @@ -1,127 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE' formula proposed by Kling et al. (2012) on monthly flows. -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the KGE' formula computed on monthly flows -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' Kling, H., Fuchs, M. and Paulin, M. (2012), -#' Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, -#' Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011. -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#*****************************************************************************************************************' -ErrorCrit_KGE2_monthly <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "KGE'[Qmonth]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE'[sqrt(Qmonth)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "KGE'[log(Qmonth)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "KGE'[1/Qmonth]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "KGE'[sort(Qmonth)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - MatData <- cbind(VarObs,VarSim,TS_ignore); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR,format="%Y%m"))),FUN=mean,na.rm=FALSE)); - colnames(AggregData) <- c("AggregDates","VarObs","VarSim","TS_ignore"); - VarObs <- AggregData$VarObs - VarSim <- AggregData$VarSim - TS_ignore <- AggregData$TS_ignore != 0 - - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," rPEARSON(sim vs. obs)",sep=""); - SubCritValues[iCrit] <- NA; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_gama______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," CVsim/CVobs",sep=""); - SubCritValues[iCrit] <- NA; - CVsim <- sd(VarSim[!TS_ignore])/meanVarSim; - CVobs <- sd(VarObs[!TS_ignore])/meanVarObs; - Crit <- CVsim / CVobs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," MEANsim/MEANobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) ); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_KGE2_yearly.R b/files_R_PLUS/ErrorCrit_KGE2_yearly.R deleted file mode 100644 index 4344be45f6946a9f77a583418fec472768f5eb30..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_KGE2_yearly.R +++ /dev/null @@ -1,127 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE' formula proposed by Kling et al. (2012) on yearly flows. -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the KGE' formula computed on yearly flows -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' Kling, H., Fuchs, M. and Paulin, M. (2012), -#' Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, -#' Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011. -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#*****************************************************************************************************************' -ErrorCrit_KGE2_yearly <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "KGE'[Qyear]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE'[sqrt(Qyear)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "KGE'[log(Qyear)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "KGE'[1/Qyear]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "KGE'[sort(Qyear)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - MatData <- cbind(VarObs,VarSim,TS_ignore); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR,format="%Y"))),FUN=mean,na.rm=FALSE)); - colnames(AggregData) <- c("AggregDates","VarObs","VarSim","TS_ignore"); - VarObs <- AggregData$VarObs - VarSim <- AggregData$VarSim - TS_ignore <- AggregData$TS_ignore != 0 - - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," rPEARSON(sim vs. obs)",sep=""); - SubCritValues[iCrit] <- NA; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_gama______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," CVsim/CVobs",sep=""); - SubCritValues[iCrit] <- NA; - CVsim <- sd(VarSim[!TS_ignore])/meanVarSim; - CVobs <- sd(VarObs[!TS_ignore])/meanVarObs; - Crit <- CVsim / CVobs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," MEANsim/MEANobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) ); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_KGE_monthly.R b/files_R_PLUS/ErrorCrit_KGE_monthly.R deleted file mode 100644 index 1d7a5b947e9174c30aa54705f960347f9fc45448..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_KGE_monthly.R +++ /dev/null @@ -1,122 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE formula proposed by Gupta et al. (2009) on monthly flows. -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the KGE formula computed on monthly flows -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_KGE_monthly <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "KGE[Qmonth]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE[sqrt(Qmonth)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "KGE[log(Qmonth)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "KGE[1/Qmonth]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "KGE[sort(Qmonth)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - MatData <- cbind(VarObs,VarSim,TS_ignore); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR,format="%Y%m"))),FUN=mean,na.rm=FALSE)); - colnames(AggregData) <- c("AggregDates","VarObs","VarSim","TS_ignore"); - VarObs <- AggregData$VarObs - VarSim <- AggregData$VarSim - TS_ignore <- AggregData$TS_ignore != 0 - - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," rPEARSON(sim vs. obs)",sep=""); - SubCritValues[iCrit] <- NA; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_alpha_____________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," STDEVsim/STDEVobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- sd(VarSim[!TS_ignore]) / sd(VarObs[!TS_ignore]); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," MEANsim/MEANobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) ); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_KGE_yearly.R b/files_R_PLUS/ErrorCrit_KGE_yearly.R deleted file mode 100644 index 324432227a94f9db593a04c87e7c9f6dc79ea613..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_KGE_yearly.R +++ /dev/null @@ -1,122 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE formula proposed by Gupta et al. (2009) on yearly flows. -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the KGE formula computed on yearly flows -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_KGE_yearly <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "KGE[Qyear]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE[sqrt(Qyear)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "KGE[log(Qyear)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "KGE[1/Qyear]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "KGE[sort(Qyear)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - MatData <- cbind(VarObs,VarSim,TS_ignore); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR,format="%Y"))),FUN=mean,na.rm=FALSE)); - colnames(AggregData) <- c("AggregDates","VarObs","VarSim","TS_ignore"); - VarObs <- AggregData$VarObs - VarSim <- AggregData$VarSim - TS_ignore <- AggregData$TS_ignore != 0 - - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," rPEARSON(sim vs. obs)",sep=""); - SubCritValues[iCrit] <- NA; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_alpha_____________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," STDEVsim/STDEVobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- sd(VarSim[!TS_ignore]) / sd(VarObs[!TS_ignore]); - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- paste(CritName," MEANsim/MEANobs",sep=""); - SubCritValues[iCrit] <- NA; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; } - - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) ); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_NSE_monthly.R b/files_R_PLUS/ErrorCrit_NSE_monthly.R deleted file mode 100644 index 124416da1a18eb32c7c28398793a89af6a3c75ba..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_NSE_monthly.R +++ /dev/null @@ -1,91 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the NSE formula proposed by Nash & Sutcliffe (1970) on monthly flows. -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the NSE formula computed on monthly flows -#' @author Laurent Coron (June 2014) -#' @references -#' Nash, J.E. and Sutcliffe, J.V. (1970), -#' River flow forecasting through conceptual models part 1. -#' A discussion of principles, Journal of Hydrology, 10(3), 282-290, doi:10.1016/0022-1694(70)90255-6. \cr -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_NSE_monthly <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "NSE[Q]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "NSE[sqrt(Q)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "NSE[log(Q)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "NSE[1/Q]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "NSE[sort(Q)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - MatData <- cbind(VarObs,VarSim,TS_ignore); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR,format="%Y%m"))),FUN=mean,na.rm=FALSE)); - colnames(AggregData) <- c("AggregDates","VarObs","VarSim","TS_ignore"); - VarObs <- AggregData$VarObs - VarSim <- AggregData$VarSim - TS_ignore <- AggregData$TS_ignore != 0 - - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - - -##ErrorCrit______________________________________ - Emod <- sum((VarSim[!TS_ignore]-VarObs[!TS_ignore])^2); - Eref <- sum((VarObs[!TS_ignore]-mean(VarObs[!TS_ignore]))^2); - Crit <- (1-Emod/Eref); - if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_NSE_yearly.R b/files_R_PLUS/ErrorCrit_NSE_yearly.R deleted file mode 100644 index 627e153ba62c8c460788317d40c2db15e155fba2..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_NSE_yearly.R +++ /dev/null @@ -1,91 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the NSE formula proposed by Nash & Sutcliffe (1970) on yearly flows. -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion based on the NSE formula computed on yearly flows -#' @author Laurent Coron (June 2014) -#' @references -#' Nash, J.E. and Sutcliffe, J.V. (1970), -#' River flow forecasting through conceptual models part 1. -#' A discussion of principles, Journal of Hydrology, 10(3), 282-290, doi:10.1016/0022-1694(70)90255-6. \cr -#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_NSE_yearly <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- NA; - if(InputsCrit$transfo=="" ){ CritName <- "NSE[Q]" ; } - if(InputsCrit$transfo=="sqrt"){ CritName <- "NSE[sqrt(Q)]"; } - if(InputsCrit$transfo=="log" ){ CritName <- "NSE[log(Q)]" ; } - if(InputsCrit$transfo=="inv" ){ CritName <- "NSE[1/Q]" ; } - if(InputsCrit$transfo=="sort"){ CritName <- "NSE[sort(Q)]"; } - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); } - if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; } - if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs ; VarSim <- 1/VarSim ; } - if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); } - - MatData <- cbind(VarObs,VarSim,TS_ignore); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR,format="%Y"))),FUN=mean,na.rm=FALSE)); - colnames(AggregData) <- c("AggregDates","VarObs","VarSim","TS_ignore"); - VarObs <- AggregData$VarObs - VarSim <- AggregData$VarSim - TS_ignore <- AggregData$TS_ignore != 0 - - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - - -##ErrorCrit______________________________________ - Emod <- sum((VarSim[!TS_ignore]-VarObs[!TS_ignore])^2); - Eref <- sum((VarObs[!TS_ignore]-mean(VarObs[!TS_ignore]))^2); - Crit <- (1-Emod/Eref); - if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_RMSE_regimeMean.R b/files_R_PLUS/ErrorCrit_RMSE_regimeMean.R deleted file mode 100644 index 66165f996896779dca9df030d6e8540433063400..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_RMSE_regimeMean.R +++ /dev/null @@ -1,74 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the root mean square error (RMSE) of the flow regime. -#' -#' Root mean square error on river regime (i.e. interannual mean daily discharges). \cr -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title ErrorCrit_RMSE_RegimeMean -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{ErrorCrit_RMSE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#*****************************************************************************************************************' -ErrorCrit_RMSE_regimeMean <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- "RMSE_RegimeMean[Q]"; - CritValue <- NA; - CritBestValue <- +0; - Multiplier <- +1; ### WARNING must be equal to -1 or +1 only - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - AggregData <- aggregate(cbind(VarObs,VarSim),by=list(as.numeric(format(OutputsModel$DatesR,format="%m%d%H%M%S"))),FUN=mean,na.rm=T); - colnames(AggregData) <- c("AggregDates","Qobs","Qsim"); - MyRollMean2 <- function(x,n){ return(filter(c(tail(x,n%/%2),x,x[1:(n%/%2)]),rep(1/n,n),sides=2)[(n%/%2+1):(length(x)+n%/%2)]); } - TimeStep <- difftime(tail(OutputsModel$DatesR,1),tail(OutputsModel$DatesR,2),units="secs")[[1]]; - Window <- 31*(24*60*60/TimeStep); - VarObs2 <- MyRollMean2(AggregData$Qobs,Window); - VarSim2 <- MyRollMean2(AggregData$Qsim,Window); - - -##ErrorCrit______________________________________ - Crit <- sqrt(sum((VarSim2-VarObs2)^2,na.rm=TRUE)/sum(!is.na(VarObs2))); - if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_RMSE_regimeMed.R b/files_R_PLUS/ErrorCrit_RMSE_regimeMed.R deleted file mode 100644 index 4e3aad1534e7e2442a0cf45524c178c69a149423..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_RMSE_regimeMed.R +++ /dev/null @@ -1,76 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the root mean square error (RMSE) of the flow regime. -#' -#' Root mean square error on river regime (i.e. interannual median daily discharges). \cr -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title ErrorCrit_RMSE_RegimeMed -#' @author Laurent Coron (June 2014) -#' @seealso \code{\link{ErrorCrit_RMSE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$CritBestValue } \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#*****************************************************************************************************************' -ErrorCrit_RMSE_regimeMed <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- "RMSE_RegimeMed[Q]"; - CritValue <- NA; - CritBestValue <- +0; - Multiplier <- +1; ### WARNING must be equal to -1 or +1 only - - Ind_notcomputed <- NULL; - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - AggregData <- aggregate(cbind(VarObs,VarSim),by=list(as.numeric(format(OutputsModel$DatesR,format="%m%d%H%M%S"))),FUN=median,na.rm=T); - colnames(AggregData) <- c("AggregDates","Qobs","Qsim"); - MyRollMean2 <- function(x,n){ return(filter(c(tail(x,n%/%2),x,x[1:(n%/%2)]),rep(1/n,n),sides=2)[(n%/%2+1):(length(x)+n%/%2)]); } - TimeStep <- difftime(tail(OutputsModel$DatesR,1),tail(OutputsModel$DatesR,2),units="secs")[[1]]; - Window <- 31*(24*60*60/TimeStep); - VarObs2 <- MyRollMean2(AggregData$Qobs,Window); - VarSim2 <- MyRollMean2(AggregData$Qsim,Window); - - -##ErrorCrit______________________________________ - Crit <- sqrt(sum((VarSim2-VarObs2)^2,na.rm=TRUE)/sum(!is.na(VarObs2))); - if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore)); - names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_meanKGE2KGE2inv.R b/files_R_PLUS/ErrorCrit_meanKGE2KGE2inv.R deleted file mode 100644 index d650a3dda90e7e79c556999a67714c2ce4da701d..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_meanKGE2KGE2inv.R +++ /dev/null @@ -1,89 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion: mean(KGE'[Q],KGE'[1/Q]) -#' -#' Mean of KGE' criterion on discharges and KGE' criterion on inverted discharges. \cr -#' KGE' formula proposed by Kling et al. (2012). -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion computing the mean of KGE' on flows and KGE' on inverted flows -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' Kling, H., Fuchs, M. and Paulin, M. (2012), -#' Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, -#' Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011. -#' @seealso \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_meanKGE2KGE2inv <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- "mean(KGE'[Q],KGE'[1/Q])"; - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - Ind_notcomputed <- NULL; - - -##KGE2_Q__________________________________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- "KGE'[Q]"; - InputsCrit$transfo=""; - OutputsCrit <- ErrorCrit_KGE2(InputsCrit,OutputsModel,quiet=quiet); - SubCritValues[iCrit] <- OutputsCrit$CritValue; - Ind_notcomputed1 <- OutputsCrit$Ind_notcomputed; - -##KGE2_invQ_______________________________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- "KGE'[1/Q]"; - InputsCrit$transfo="inv"; - OutputsCrit <- ErrorCrit_KGE2(InputsCrit,OutputsModel,quiet=quiet); - SubCritValues[iCrit] <- OutputsCrit$CritValue; - Ind_notcomputed2 <- OutputsCrit$Ind_notcomputed; - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- mean(SubCritValues); - Ind_notcomputed <- c(Ind_notcomputed1,Ind_notcomputed2); - Ind_notcomputed <- sort(Ind_notcomputed[!duplicated(Ind_notcomputed)]); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,Ind_notcomputed); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_meanKGEKGEinv.R b/files_R_PLUS/ErrorCrit_meanKGEKGEinv.R deleted file mode 100644 index 96abad37689fb64c0da93ed4c2897551f70cd70e..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_meanKGEKGEinv.R +++ /dev/null @@ -1,86 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion: mean(KGE[Q],KGE[1/Q]) -#' -#' Mean of KGE criterion on discharges and KGE criterion on inverted discharges. \cr -#' KGE formula proposed by Gupta et al. (2009). -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion computing the mean of KGE on flows and KGE on inverted flows -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' @seealso \code{\link{ErrorCrit_KGE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_meanKGEKGEinv <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- "mean(KGE[Q],KGE[1/Q])"; - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - Ind_notcomputed <- NULL; - - -##KGE_Q__________________________________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- "KGE[Q]"; - InputsCrit$transfo=""; - OutputsCrit <- ErrorCrit_KGE(InputsCrit,OutputsModel,quiet=quiet); - SubCritValues[iCrit] <- OutputsCrit$CritValue; - Ind_notcomputed1 <- OutputsCrit$Ind_notcomputed; - -##KGE_invQ_______________________________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- "KGE[1/Q]"; - InputsCrit$transfo="inv"; - OutputsCrit <- ErrorCrit_KGE(InputsCrit,OutputsModel,quiet=quiet); - SubCritValues[iCrit] <- OutputsCrit$CritValue; - Ind_notcomputed2 <- OutputsCrit$Ind_notcomputed; - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- mean(SubCritValues); - Ind_notcomputed <- c(Ind_notcomputed1,Ind_notcomputed2); - Ind_notcomputed <- sort(Ind_notcomputed[!duplicated(Ind_notcomputed)]); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,Ind_notcomputed); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorCrit_meanNSENSEinv.R b/files_R_PLUS/ErrorCrit_meanNSENSEinv.R deleted file mode 100644 index 8c4248b33bb092c47fc669286b3de8b5d06586e6..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorCrit_meanNSENSEinv.R +++ /dev/null @@ -1,85 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion: mean(NSE[Q],NSE[1/Q]) -#' -#' Mean of NSE criterion on discharges and NSE criterion on inverted discharges. \cr -#' NSE formula proposed by Nash & Sutcliffe (1970). -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error criterion computing the mean of NSE on flows and NSE on inverted flows -#' @author Laurent Coron (June 2014) -#' @references -#' Nash, J.E. and Sutcliffe, J.V. (1970), -#' River flow forecasting through conceptual models part 1. -#' A discussion of principles, Journal of Hydrology, 10(3), 282-290, doi:10.1016/0022-1694(70)90255-6. \cr -#' @seealso \code{\link{ErrorCrit_NSE}} -#' @examples ## see example of the ErrorCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$CritValue } \tab [numeric] value of the criterion \cr -#' \emph{$CritName } \tab [character] name of the criterion \cr -#' \emph{$SubCritValues } \tab [numeric] values of the sub-criteria \cr -#' \emph{$SubCritNames } \tab [character] names of the sub-criteria \cr -#' \emph{$CritBestValue} \tab [numeric] theoretical best criterion value \cr -#' \emph{$Multiplier } \tab [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#***************************************************************************************************************** -ErrorCrit_meanNSENSEinv <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - CritName <- "mean(NSE[Q],NSE[1/Q])"; - CritValue <- NA; - CritBestValue <- +1; - Multiplier <- -1; ### must be equal to -1 or +1 only - iCrit <- 0; - SubCritNames <- NULL; - SubCritValues <- NULL; - Ind_notcomputed <- NULL; - -##NSE_Q__________________________________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- "NSE[Q]"; - InputsCrit$transfo=""; - OutputsCrit <- ErrorCrit_NSE(InputsCrit,OutputsModel,quiet=quiet); - SubCritValues[iCrit] <- OutputsCrit$CritValue; - Ind_notcomputed1 <- OutputsCrit$Ind_notcomputed; - -##NSE_invQ_______________________________________ - iCrit <- iCrit+1; - SubCritNames[iCrit] <- "NSE[1/Q]"; - InputsCrit$transfo="inv"; - OutputsCrit <- ErrorCrit_NSE(InputsCrit,OutputsModel,quiet=quiet); - SubCritValues[iCrit] <- OutputsCrit$CritValue; - Ind_notcomputed2 <- OutputsCrit$Ind_notcomputed; - -##ErrorCrit______________________________________ - if(sum(is.na(SubCritValues))==0){ - CritValue <- mean(SubCritValues); - Ind_notcomputed <- c(Ind_notcomputed1,Ind_notcomputed2); - Ind_notcomputed <- sort(Ind_notcomputed[!duplicated(Ind_notcomputed)]); - } - - -##Output_________________________________________ - OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,Ind_notcomputed); - names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed"); - return(OutputsCrit); - -} - - diff --git a/files_R_PLUS/ErrorMultiCrit_KGE2.R b/files_R_PLUS/ErrorMultiCrit_KGE2.R deleted file mode 100644 index 97eefeb52b3c867d26075f0222d3682877cc33bf..0000000000000000000000000000000000000000 --- a/files_R_PLUS/ErrorMultiCrit_KGE2.R +++ /dev/null @@ -1,96 +0,0 @@ -#***************************************************************************************************************** -#' Function which computes an error criterion based on the KGE' formula proposed by Kling et al. (2012). -#' -#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows -#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised -#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE). -#***************************************************************************************************************** -#' @title Error multi criteria based on the KGE' formula -#' @author Laurent Coron (June 2014) -#' @references -#' Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), -#' Decomposition of the mean squared error and NSE performance criteria: Implications -#' for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr -#' Kling, H., Fuchs, M. and Paulin, M. (2012), -#' Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, -#' Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011. -#' @seealso \code{\link{ErrorCrit_KGE2}} -#' @examples ## see example of the ErrorMultiCrit function -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsCrit [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details -#' @param OutputsModel [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details -#' @param quiet (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$MultiCritValues } \tab [numeric] values of the criteria \cr -#' \emph{$MultiCritNames } \tab [character] names of the criteria \cr -#' \emph{$MultiCritBestValues} \tab [numeric] theoretical best criteria values \cr -#' \emph{$Multipliers } \tab [numeric] integers indicating whether the criteria are indeed errors (+1) or efficiencies (-1) \cr -#' \emph{$Ind_notcomputed} \tab [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr -#' } -#*****************************************************************************************************************' -ErrorMultiCrit_KGE2 <- function(InputsCrit,OutputsModel,quiet=FALSE){ - - -##Arguments_check________________________________ - if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); } - if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); } - - -##Initialisation_________________________________ - MultiCritNames <- c("abs( rPEARSON(sim vs. obs) - 1 )[Q]","abs( CVsim/CVobs - 1 )[Q]","abs( MEANsim/MEANobs - 1 )[Q]"); - MultiCritBestValues <- c( 0, 0, 0); - Multipliers <- c(+1,+1,+1); ### WARNING must be equal to -1 or +1 only; - MultiCritValues <- c(NA,NA,NA); - - -##Data_preparation_______________________________ - TS_ignore <- is.na(InputsCrit$Qobs) | is.na(OutputsModel$Qsim) | !InputsCrit$BoolCrit ; - VarObs <- InputsCrit$Qobs ; VarObs[TS_ignore] <- NA; - VarSim <- OutputsModel$Qsim; VarSim[TS_ignore] <- NA; - if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); } - if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){ - VarObs <- VarObs + InputsCrit$epsilon; - VarSim <- VarSim + InputsCrit$epsilon; - } } - if(InputsCrit$transfo!="" & !quiet){ warning("\t no transfo allowed for this criterion \n"); } - meanVarObs <- mean(VarObs[!TS_ignore]); - meanVarSim <- mean(VarSim[!TS_ignore]); - iCrit <- 0; - - -##SubErrorCrit_____KGE_rPearson__________________ - iCrit <- iCrit+1; - Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) ); - Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) ); - Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) ); - Crit <- Numer/(Deno1*Deno2); - if(is.numeric(Crit) & is.finite(Crit)){ MultiCritValues[iCrit] <- abs(Crit-1); } - - -##SubErrorCrit_____KGE_gama______________________ - iCrit <- iCrit+1; - CVsim <- sd(VarSim[!TS_ignore])/meanVarSim; - CVobs <- sd(VarObs[!TS_ignore])/meanVarObs; - Crit <- CVsim / CVobs; - if(is.numeric(Crit) & is.finite(Crit)){ MultiCritValues[iCrit] <- abs(Crit-1); } - - -##SubErrorCrit_____KGE_beta______________________ - iCrit <- iCrit+1; - Crit <- meanVarSim / meanVarObs; - if(is.numeric(Crit) & is.finite(Crit)){ MultiCritValues[iCrit] <- abs(Crit-1); } - - -##Output_________________________________________ - OutputsCrit <- list(MultiCritValues,MultiCritNames,MultiCritBestValues,Multipliers,which(TS_ignore)); - names(OutputsCrit) <- c("MultiCritValues","MultiCritNames","MultiCritBestValues","Multipliers","Ind_notcomputed"); - return(OutputsCrit); - - -} - - diff --git a/files_R_PLUS/GetNParam_PLUS.R b/files_R_PLUS/GetNParam_PLUS.R deleted file mode 100644 index 2a08b135289ffa4c7532b284c44e1be5dff1b0f8..0000000000000000000000000000000000000000 --- a/files_R_PLUS/GetNParam_PLUS.R +++ /dev/null @@ -1,68 +0,0 @@ -#************************************************************************************************* -#' Get the number of parameters required for a given model. -#************************************************************************************************* -#' @title Get the number of parameters required for a given model -#' @author Laurent Coron (June 2014) -#' @examples GetNParam_PLUS(FUN_MOD=RunModel_CemaNeigeGR5J) -#' @encoding UTF-8 -#' @export -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_CemaNeigeHBANLIB_DMod) -#' @param IndModel (optional) [numeric] indice of the model in the HBANLIB_DMod library [-] -#' @return NParam [numeric] number of model parameters -#**************************************************************************************************' -GetNParam_PLUS <- function(FUN_MOD,IndModel=NULL){ - - ##check_args - FUNClass <- NULL; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR4J) | - identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | - identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) ){ FUNClass <- c(FUNClass,"GR"); } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ FUNClass <- c(FUNClass,"HBANLIB_DMod"); } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) | - identical(FUN_MOD,RunModel_CemaNeige) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ FUNClass <- c(FUNClass,"CemaNeige"); } - if(is.null(FUNClass)){ - stop("FUN_MOD not found in GetNParam_PLUS \n"); return(NULL); } - if("HBANLIB_DMod" %in% FUNClass & is.null(IndModel)){ - stop("GetNParam_PLUS requires IndModel for the models HBANLIB_DMod and CemaNeigeHBANLIB_DMod \n"); return(NULL); } - - ##CemaNeige_only - if(identical(FUN_MOD,RunModel_CemaNeige)){ NParam <- 2; } - - ##OtherModels - if(identical(FUN_MOD,RunModel_GR4J ) | identical(FUN_MOD,RunModel_CemaNeigeGR4J )){ NParam <- 4; } - if(identical(FUN_MOD,RunModel_GR5J ) | identical(FUN_MOD,RunModel_CemaNeigeGR5J )){ NParam <- 5; } - if(identical(FUN_MOD,RunModel_GR6J ) | identical(FUN_MOD,RunModel_CemaNeigeGR6J )){ NParam <- 6; } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ - if(IndModel==01){ NParam <- 08; } ### IndModel=01 ! MOD1 ! TOPM ! Topmodel - if(IndModel==02){ NParam <- 06; } ### IndModel=02 ! MOD2 ! IHAC ! IHACRES - if(IndModel==03){ NParam <- 04; } ### IndModel=03 ! MOD3 ! GR4J ! GR4J (Perrin) - if(IndModel==04){ NParam <- 05; } ### IndModel=04 ! MOD4 ! GR5J ! GR5J (Le Moine) - if(IndModel==05){ NParam <- 09; } ### IndModel=05 ! MOD5 ! HBV0 ! HBV - if(IndModel==06){ NParam <- 07; } ### IndModel=06 ! MOD6 ! MOHY ! Mohyse - if(IndModel==07){ NParam <- 03; } ### IndModel=07 ! MOD7 ! GR3P ! GR3P - if(IndModel==08){ NParam <- 06; } ### IndModel=08 ! MOD8 ! MORD ! Mordor - if(IndModel==09){ NParam <- 14; } ### IndModel=09 ! MOD9 ! SACR ! Sacramento - if(IndModel==10){ NParam <- 08; } ### IndModel=10 ! MOD10 ! SIMH ! Simhyd - if(IndModel==11){ NParam <- 09; } ### IndModel=11 ! MOD11 ! SMAR ! SMAR - if(IndModel==12){ NParam <- 10; } ### IndModel=12 ! MOD12 ! TANK ! TANK - if(IndModel==13){ NParam <- 06; } ### IndModel=13 ! MOD13 ! HYMO ! HYMOD - if(IndModel==14){ NParam <- 08; } ### IndModel=14 ! MOD14 ! GARD ! Gardenia - if(IndModel==15){ NParam <- 08; } ### IndModel=15 ! MOD15 ! PDM0 ! PDM - if(IndModel==16){ NParam <- 08; } ### IndModel=16 ! MOD16 ! CREC ! CREC - if(IndModel==17){ NParam <- 09; } ### IndModel=17 ! MOD17 ! CEQU ! Cequeau - if(IndModel==18){ NParam <- 10; } ### IndModel=18 ! MOD18 ! NAM0 ! NAM - if(IndModel==19){ NParam <- 08; } ### IndModel=19 ! MOD19 ! WAGE ! Wageningen - if(IndModel==20){ NParam <- 12; } ### IndModel=20 ! MOD20 ! XINA ! Xinanjiang - if(IndModel==21){ NParam <- 01; } ### IndModel=21 ! MOD21 ! GR1J ! GR1J (Michel) - if(IndModel==22){ NParam <- 02; } ### IndModel=22 ! MOD22 ! GR2J ! GR2J (Michel) - if(IndModel==23){ NParam <- 03; } ### IndModel=23 ! MOD23 ! GR3J ! GR3J (Edijatno) - if(IndModel==24){ NParam <- 04; } ### IndModel=24 ! MOD24 ! GRNJ ! GR4J (Nascimento) - if(IndModel==25){ NParam <- 06; } ### IndModel=25 ! MOD25 ! GR6J ! GR6J - } - if("CemaNeige" %in% FUNClass){ NParam <- NParam+2; } - - ##return - return(NParam); - -} - diff --git a/files_R_PLUS/GetNState_PLUS.R b/files_R_PLUS/GetNState_PLUS.R deleted file mode 100644 index e52dc883d15226d6b9d24773f976567c5a2c8123..0000000000000000000000000000000000000000 --- a/files_R_PLUS/GetNState_PLUS.R +++ /dev/null @@ -1,41 +0,0 @@ -#************************************************************************************************* -#' Get the number of parameters required for a given model. -#************************************************************************************************* -#' @title Get the number of parameters required for a given model -#' @author Laurent Coron (June 2014) -#' @examples GetNState_PLUS(FUN_MOD=RunModel_CemaNeigeGR5J,NLayers=5) -#' @encoding UTF-8 -#' @export -#' @param FUN_MOD [function] hydrological model function (e.g. RunModel_CemaNeigeHBANLIB_DMod) -#' @param IndModel (optional) [numeric] indice of the model in the HBANLIB_DMod library [-] -#' @param NLayers (optional) [numeric] number of elevation layers for CemaNeige [-] -#' @return NState [numeric] number of model parameters -#************************************************************************************************** -GetNState_PLUS <- function(FUN_MOD,IndModel=NULL,NLayers=NULL){ - - ##check_args - FUNClass <- NULL; - if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR4J) | - identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | - identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) ){ FUNClass <- c(FUNClass,"GR"); } - if(identical(FUN_MOD,RunModel_HBANLIB_DMod) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ FUNClass <- c(FUNClass,"HBANLIB_DMod"); } - if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) | - identical(FUN_MOD,RunModel_CemaNeige) | identical(FUN_MOD,RunModel_CemaNeigeHBANLIB_DMod)){ FUNClass <- c(FUNClass,"CemaNeige"); } - if(is.null(FUNClass)){ - stop("FUN_MOD not found in GetNState_PLUS \n"); return(NULL); } - if("HBANLIB_DMod" %in% FUNClass & is.null(IndModel)){ - stop("GetNState_PLUS requires IndModel for the models HBANLIB_DMod and CemaNeigeHBANLIB_DMod \n"); return(NULL); } - if("CemaNeige" %in% FUNClass & is.null(NLayers)){ - stop("GetNState_PLUS requires NLayers for the models using CemaNeige \n"); return(NULL); } - - ##NState - if(identical(FUN_MOD,RunModel_CemaNeige)){ NH <- 0; } - if("GR" %in% FUNClass | "HBANLIB_DMod" %in% FUNClass){ NH <- 20; } - if("CemaNeige" %in% FUNClass == FALSE){ NLayers <- 0; } - NState <- 3*NH + 2*NLayers; - - ##return - return(NState); - -} - diff --git a/files_R_PLUS/RunModel_CemaNeigeGR4Jalpha.R b/files_R_PLUS/RunModel_CemaNeigeGR4Jalpha.R deleted file mode 100644 index 3913e43bfc2a237e408913679b522306f8541c47..0000000000000000000000000000000000000000 --- a/files_R_PLUS/RunModel_CemaNeigeGR4Jalpha.R +++ /dev/null @@ -1,208 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeigeGR4Jalpha. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions_PLUS}}. -#***************************************************************************************************************** -#' @title Run with the RunModel_CemaNeigeGR4Jalpha hydrological model -#' @author Laurent Coron (July 2014) -#' @references -#' Perrin, C., C. Michel and V. Andréassian (2003), -#' Improvement of a parsimonious model for streamflow simulation, -#' Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7. -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{DataAltiExtrapolation_HBAN}} -#' @example tests/example_RunModel_CemaNeigeGR4J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 6 parameters -#' \tabular{ll}{ -#' GR4J X1 \tab production store capacity [mm] \cr -#' GR4J X2 \tab intercatchment exchange coefficient [mm/d] \cr -#' GR4J X3 \tab routing store capacity [mm] \cr -#' GR4J X4 \tab unit hydrograph time constant [d] \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_CemaNeigeGR4Jalpha <- function(InputsModel,RunOptions,Param){ - - NParam <- 6; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr4jalpha",PACKAGE="airgr",DUP=FALSE, - ##inputs - IndVersion=as.integer(RunOptions$IndVersion), ### indice of model version - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R_PLUS/RunModel_CemaNeigeGR5Jalpha.R b/files_R_PLUS/RunModel_CemaNeigeGR5Jalpha.R deleted file mode 100644 index 38e6e1432a89480b734c1f463ad3c1da82e286bc..0000000000000000000000000000000000000000 --- a/files_R_PLUS/RunModel_CemaNeigeGR5Jalpha.R +++ /dev/null @@ -1,210 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeigeGR5Jalpha. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions_PLUS}}. -#***************************************************************************************************************** -#' @title Run with the CemaNeigeGR5Jalpha hydrological model -#' @author Laurent Coron (July 2014) -#' @references -#' Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances -#' et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr -#' Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), -#' A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, -#' Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{DataAltiExtrapolation_HBAN}} -#' @example tests/example_RunModel_CemaNeigeGR5J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 7 parameters -#' \tabular{ll}{ -#' GR5J X1 \tab production store capacity [mm] \cr -#' GR5J X2 \tab intercatchment exchange coefficient 1 [mm/d] \cr -#' GR5J X3 \tab routing store capacity [mm] \cr -#' GR5J X4 \tab unit hydrograph time constant [d] \cr -#' GR5J X5 \tab intercatchment exchange coefficient 2 [-] \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_CemaNeigeGR5Jalpha <- function(InputsModel,RunOptions,Param){ - - NParam <- 7; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr5jalpha",PACKAGE="airgr",DUP=FALSE, - ##inputs - IndVersion=as.integer(RunOptions$IndVersion), ### indice of model version - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R_PLUS/RunModel_CemaNeigeGR6Jalpha.R b/files_R_PLUS/RunModel_CemaNeigeGR6Jalpha.R deleted file mode 100644 index 66eccc42f4c3053913a07b1dccc3403d69af0e23..0000000000000000000000000000000000000000 --- a/files_R_PLUS/RunModel_CemaNeigeGR6Jalpha.R +++ /dev/null @@ -1,212 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for RunModel_CemaNeigeGR6Jalpha. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions_PLUS}}. -#***************************************************************************************************************** -#' @title Run with the CemaNeigeGR6Jalpha hydrological model -#' @author Laurent Coron (July 2014) -#' @references -#' Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), -#' A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, -#' Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? -#' Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr -#' Valéry, A., V. Andréassian and C. Perrin (2014), -#' "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? -#' Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. -#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{DataAltiExtrapolation_HBAN}} -#' @example tests/example_RunModel_CemaNeigeGR6J.R -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 8 parameters -#' \tabular{ll}{ -#' GR6J X1 \tab production store capacity [mm] \cr -#' GR6J X2 \tab intercatchment exchange coefficient 1 [mm/d] \cr -#' GR6J X3 \tab routing store capacity [mm] \cr -#' GR6J X4 \tab unit hydrograph time constant [d] \cr -#' GR6J X5 \tab intercatchment exchange coefficient 2 [-] \cr -#' GR6J X6 \tab coefficient for emptying exponential store [-] \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QR1 } \tab [numeric] series of exponential store outflow (QR1) [mm/d] \cr -#' \emph{$Exp } \tab [numeric] series of exponential store level (X(6)) (negative) [mm] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_CemaNeigeGR6Jalpha <- function(InputsModel,RunOptions,Param){ - - NParam <- 8; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"GR" )==FALSE){ stop("RunOptions must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_gr6jalpha",PACKAGE="airgr",DUP=FALSE, - ##inputs - IndVersion=as.integer(RunOptions$IndVersion), ### indice of model version - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - diff --git a/files_R_PLUS/RunModel_CemaNeigeHBANLIB_DMod.R b/files_R_PLUS/RunModel_CemaNeigeHBANLIB_DMod.R deleted file mode 100644 index 28715bceb078353372844acd53b94ccd2b16a407..0000000000000000000000000000000000000000 --- a/files_R_PLUS/RunModel_CemaNeigeHBANLIB_DMod.R +++ /dev/null @@ -1,257 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for one of the 25 models in the library of HBAN daily models (HBANLIB_DMod) -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions_PLUS}}. -#***************************************************************************************************************** -#' @title RunModel_CemaNeigeHBANLIB_DMod -#' @author Laurent Coron (February 2014) -#' @example tests/example_RunModel_CemaNeigeHBANLIB_DMod.R -#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{DataAltiExtrapolation_HBAN}}, \code{\link{RunModel_HBANLIB_DMod}} -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of n parameters (n depends on the model chosen) -#' \tabular{ll}{ -#' X1 \tab (refer to fortran code for details) \cr -#' X2 \tab (refer to fortran code for details) \cr -#' ... \tab (refer to fortran code for details) \cr -#' Xn \tab (refer to fortran code for details) \cr -#' CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-] \cr -#' CemaNeige X2 \tab degree-day melt coefficient [mm/d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Output03} \tab [numeric] series of output 03 \cr -#' \emph{$Output04} \tab [numeric] series of output 04 \cr -#' \emph{$... } \tab [numeric] series of output ... \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$CemaNeigeLayers} \tab [list] list of CemaNeige outputs (1 list per layer) \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Pliq } \tab [numeric] series of liquid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Psol } \tab [numeric] series of solid precip. [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$SnowPack } \tab [numeric] series of snow pack [mm] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$ThermalState } \tab [numeric] series of snow pack thermal state [degC] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Gratio } \tab [numeric] series of Gratio [0-1] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PotMelt } \tab [numeric] series of potential snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$Melt } \tab [numeric] series of actual snow melt [mm/d] \cr -#' \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt } \tab [numeric] series of liquid precip. + actual snow melt [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_CemaNeigeHBANLIB_DMod <- function(InputsModel,RunOptions,Param){ - - ##Multimodel_data - VectTmp <- c(08,11 , ### IndModel=01 | MOD1 | TOPM | Topmodel - 06,10 , ### IndModel=02 | MOD2 | IHAC | IHACRES - 04,14 , ### IndModel=03 | MOD3 | GR4J | GR4J (Perrin) - 05,14 , ### IndModel=04 | MOD4 | GR5J | GR5J (Le Moine) - 09,13 , ### IndModel=05 | MOD5 | HBV0 | HBV - 07,05 , ### IndModel=06 | MOD6 | MOHY | Mohyse - 03,05 , ### IndModel=07 | MOD7 | GR3P | GR3P - 06,18 , ### IndModel=08 | MOD8 | MORD | Mordor - 14,09 , ### IndModel=09 | MOD9 | SACR | Sacramento - 08,15 , ### IndModel=10 | MOD10 | SIMH | Simhyd - 09,05 , ### IndModel=11 | MOD11 | SMAR | SMAR - 10,06 , ### IndModel=12 | MOD12 | TANK | TANK - 06,08 , ### IndModel=13 | MOD13 | HYMO | HYMOD - 08,06 , ### IndModel=14 | MOD14 | GARD | Gardenia - 08,07 , ### IndModel=15 | MOD15 | PDM0 | PDM - 08,06 , ### IndModel=16 | MOD16 | CREC | CREC - 09,05 , ### IndModel=17 | MOD17 | CEQU | Cequeau - 10,07 , ### IndModel=18 | MOD18 | NAM0 | NAM - 08,07 , ### IndModel=19 | MOD19 | WAGE | Wageningen - 12,11 , ### IndModel=20 | MOD20 | XINA | Xinanjiang - 01,05 , ### IndModel=21 | MOD21 | GR1J | GR1J (Michel) - 02,05 , ### IndModel=22 | MOD22 | GR2J | GR2J (Michel) - 03,05 , ### IndModel=23 | MOD23 | GR3J | GR3J (Edijatno) - 04,05 , ### IndModel=24 | MOD24 | GRNJ | GR4J (Nascimento) - 06,16 ) ### IndModel=25 | MOD25 | GR6J | GR6J - MatMod <- matrix(VectTmp,ncol=2,byrow=TRUE); colnames(MatMod) <- c("NParamMod","NOutputsMod"); - NParamMod <- MatMod[RunOptions$IndModel,1]; NParamCemaNeige <- 2; - FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); - FortranOutputsMod <- c("PotEvap","Precip",paste("Output",formatC(3:(MatMod[RunOptions$IndModel,2]-1),width=2,flag="0"),sep=""),"Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(InputsModel,"CemaNeige" )==FALSE){ stop("InputsModel must be of class 'CemaNeige' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"HBANLIB_DMod")==FALSE){ stop("RunOptions must be of class 'HBANLIB_DMod' \n"); return(NULL); } - if(inherits(RunOptions,"CemaNeige" )==FALSE){ stop("RunOptions must be of class 'CemaNeige' \n"); return(NULL); } - NParam <- NParamMod; if(RunOptions$RunSnowModule==TRUE){ NParam <- NParamMod + NParamCemaNeige; } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):length(IndPeriod1); - ParamCemaNeige <- Param[(length(Param)-1):length(Param)]; - NParamMod <- as.integer(length(Param)-2); - ParamMod <- Param[1:NParamMod]; - NLayers <- length(InputsModel$LayerPrecip); - NStatesMod <- as.integer(length(RunOptions$IniStates)-2*NLayers); - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - - - ##SNOW_MODULE________________________________________________________________________________## - if(RunOptions$RunSnowModule==TRUE){ - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); - } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim); } - ### if(length(IndOutputsCemaNeige)==0){ stop("RunOptions$Outputs_Sim does not contain a single output from CemaNeige \n"); return(NULL); } - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers"; - - ##Call_DLL_CemaNeige_________________________ - for(iLayer in 1:NLayers){ - StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ]; - if(RunOptions$FortranMode == "single"){ - stop("the fortran CemaNeige function only exists for RunOptions$FortranMode='double' \n"); return(NULL); - ### RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ### ##inputs - ### LInputs=LInputSeries, ### length of input and output series - ### InputsPrecip=as.single(InputsModel$LayerPrecip[[iLayer]][IndPeriod1]), ### input series of total precipitation [mm/d] - ### InputsFracSolidPrecip=as.single(InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1]), ### input series of fraction of solid precipitation [0-1] - ### InputsTemp=as.single(InputsModel$LayerTemp[[iLayer]][IndPeriod1]), ### input series of air mean temperature [degC] - ### MeanAnSolidPrecip=as.single(RunOptions$MeanAnSolidPrecip[iLayer]), ### value of annual mean solid precip [mm/y] - ### NParam=as.integer(2), ### number of model parameter = 2 - ### Param=as.single(ParamCemaNeige), ### parameter set - ### NStates=as.integer(2), ### number of state variables used for model initialising = 2 - ### StateStart=as.single(StateStartCemaNeige), ### state variables used when the model run starts - ### NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - ### IndOutputs=IndOutputsCemaNeige, ### indices of output series - ### ##outputs - ### Outputs=matrix(as.single(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - ### StateEnd=rep(as.single(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ### ) - } - if(RunOptions$FortranMode == "double" | RunOptions$FortranMode == "single"){ - RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1], ### input series of total precipitation [mm/d] - InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1], ### input series of fraction of solid precipitation [0-1] - InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1], ### input series of air mean temperature [degC] - MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer], ### value of annual mean solid precip [mm/y] - NParam=as.integer(2), ### number of model parameter = 2 - Param=ParamCemaNeige, ### parameter set - NStates=as.integer(2), ### number of state variables used for model initialising = 2 - StateStart=StateStartCemaNeige, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsCemaNeige)), ### number of output series - IndOutputs=IndOutputsCemaNeige, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)), ### output series [mm] - StateEnd=rep(as.double(-999.999),as.integer(2)) ### state variables at the end of the model run (reservoir levels [mm] and HU) - ) - } - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Data_storage - CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; - IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt"); - if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; } - if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); } - rm(RESULTS); - } ###ENDFOR_iLayer - names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep=""); - } ###ENDIF_RunOptions$RunSnowModule - if(RunOptions$RunSnowModule==FALSE){ - CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL; - CatchMeltAndPliq <- InputsModel$Precip[IndPeriod1]; } - - - - ##MODEL______________________________________________________________________________________## - if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); - } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim); } - - ##Call_fortan - if(RunOptions$FortranMode == "single"){ - RESULTS <- .Fortran("frun_hbanlib_dmod_s",PACKAGE="airgr",DUP=TRUE, - ##inputs - IndModel=RunOptions$IndModel, ### model ID - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=as.single(CatchMeltAndPliq), ### input series of total precipitation [mm/d] - InputsPE=as.single(InputsModel$PotEvap[IndPeriod1]), ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=as.single(ParamMod), ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=as.single(RunOptions$IniStates[1:NStatesMod]), ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.single(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.single(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - - ) - } - if(RunOptions$FortranMode == "double"){ - RESULTS <- .Fortran("frun_hbanlib_dmod_d",PACKAGE="airgr",DUP=TRUE, - ##inputs - IndModel=RunOptions$IndModel, ### model ID - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=CatchMeltAndPliq, ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=NParamMod, ### number of model parameter - Param=ParamMod, ### parameter set - NStates=NStatesMod, ### number of state variables used for model initialising - StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputsMod)), ### number of output series - IndOutputs=IndOutputsMod, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - } - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - if(RunOptions$RunSnowModule & "all" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } - - ##Output_data_preparation - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(CemaNeigeLayers), - list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) ); - names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd"); } - - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige"); - return(OutputsModel); - -} - - diff --git a/files_R_PLUS/RunModel_HBANLIB_DMod.R b/files_R_PLUS/RunModel_HBANLIB_DMod.R deleted file mode 100644 index 620fe59c665a735c3c4b5712436a0d66e8f1adb2..0000000000000000000000000000000000000000 --- a/files_R_PLUS/RunModel_HBANLIB_DMod.R +++ /dev/null @@ -1,163 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for one of the 25 models in the library of HBAN daily models (HBANLIB_DMod) -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions_PLUS}}. -#***************************************************************************************************************** -#' @title RunModel_HBANLIB_DMod -#' @author Laurent Coron (February 2014) -#' @example tests/example_RunModel_HBANLIB_DMod.R -#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR5J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeHBANLIB_DMod}} -#' @useDynLib airgr -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of n parameters (n depends on the model chosen) -#' \tabular{ll}{ -#' X1 \tab (refer to fortran code for details) \cr -#' X2 \tab (refer to fortran code for details) \cr -#' ... \tab (refer to fortran code for details) \cr -#' Xn \tab (refer to fortran code for details) \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Output03} \tab [numeric] series of output 03 \cr -#' \emph{$Output04} \tab [numeric] series of output 04 \cr -#' \emph{$... } \tab [numeric] series of output ... \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run (res. levels, HU levels) [mm] \cr -#' } -#***************************************************************************************************************** -RunModel_HBANLIB_DMod <- function(InputsModel,RunOptions,Param){ - - ##Multimodel_data - VectTmp <- c(08,11 , ### IndModel=01 | MOD1 | TOPM | Topmodel - 06,10 , ### IndModel=02 | MOD2 | IHAC | IHACRES - 04,14 , ### IndModel=03 | MOD3 | GR4J | GR4J (Perrin) - 05,14 , ### IndModel=04 | MOD4 | GR5J | GR5J (Le Moine) - 09,13 , ### IndModel=05 | MOD5 | HBV0 | HBV - 07,05 , ### IndModel=06 | MOD6 | MOHY | Mohyse - 03,05 , ### IndModel=07 | MOD7 | GR3P | GR3P - 06,18 , ### IndModel=08 | MOD8 | MORD | Mordor - 14,09 , ### IndModel=09 | MOD9 | SACR | Sacramento - 08,15 , ### IndModel=10 | MOD10 | SIMH | Simhyd - 09,05 , ### IndModel=11 | MOD11 | SMAR | SMAR - 10,06 , ### IndModel=12 | MOD12 | TANK | TANK - 06,08 , ### IndModel=13 | MOD13 | HYMO | HYMOD - 08,06 , ### IndModel=14 | MOD14 | GARD | Gardenia - 08,07 , ### IndModel=15 | MOD15 | PDM0 | PDM - 08,06 , ### IndModel=16 | MOD16 | CREC | CREC - 09,05 , ### IndModel=17 | MOD17 | CEQU | Cequeau - 10,07 , ### IndModel=18 | MOD18 | NAM0 | NAM - 08,07 , ### IndModel=19 | MOD19 | WAGE | Wageningen - 12,11 , ### IndModel=20 | MOD20 | XINA | Xinanjiang - 01,05 , ### IndModel=21 | MOD21 | GR1J | GR1J (Michel) - 02,05 , ### IndModel=22 | MOD22 | GR2J | GR2J (Michel) - 03,05 , ### IndModel=23 | MOD23 | GR3J | GR3J (Edijatno) - 04,05 , ### IndModel=24 | MOD24 | GRNJ | GR4J (Nascimento) - 06,16 ) ### IndModel=25 | MOD25 | GR6J | GR6J - MatMod <- matrix(VectTmp,ncol=2,byrow=TRUE); colnames(MatMod) <- c("NParamMod","NOutputsMod"); - NParamMod <- MatMod[RunOptions$IndModel,1]; - FortranOutputs <- c("PotEvap","Precip",paste("Output",formatC(3:(MatMod[RunOptions$IndModel,2]-1),width=2,flag="0"),sep=""),"Qsim"); - - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"GR" )==FALSE){ stop("InputsModel must be of class 'GR' \n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"HBANLIB_DMod")==FALSE){ stop("RunOptions must be of class 'HBANLIB_DMod' \n"); return(NULL); } - NParam <- NParamMod; - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); - } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } - - - - ##Call_fortan - if(RunOptions$FortranMode == "single"){ - RESULTS <- .Fortran("frun_hbanlib_dmod_s",PACKAGE="airgr",DUP=TRUE, - ##inputs - IndModel=RunOptions$IndModel, ### model ID - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=as.single(InputsModel$Precip[IndPeriod1]), ### input series of total precipitation [mm/d] - InputsPE=as.single(InputsModel$PotEvap[IndPeriod1]), ### input series potential evapotranspiration [mm/d] - NParam=as.integer(length(Param)), ### number of model parameter - Param=as.single(Param), ### parameter set - NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising - StateStart=as.single(RunOptions$IniStates), ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputs)), ### number of output series - IndOutputs=IndOutputs, ### indices of output series - ##outputs - Outputs=matrix(as.single(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)), ### output series [mm] - StateEnd=rep(as.single(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - } - if(RunOptions$FortranMode == "double"){ - RESULTS <- .Fortran("frun_hbanlib_dmod_d",PACKAGE="airgr",DUP=TRUE, - ##inputs - IndModel=RunOptions$IndModel, ### model ID - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$Precip[IndPeriod1], ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=as.integer(length(Param)), ### number of model parameter - Param=Param, ### parameter set - NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising - StateStart=RunOptions$IniStates, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputs)), ### number of output series - IndOutputs=IndOutputs, ### indices of output series - ##outputs - - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - } - - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(OutputsModel) <- FortranOutputs[IndOutputs]; } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd"); } - - ##End - # rm(RESULTS); gc(); - class(OutputsModel) <- c("OutputsModel","daily","GR"); - return(OutputsModel); - -} - - diff --git a/files_R_PLUS/TransfoParam_HBANLIB_DMod.R b/files_R_PLUS/TransfoParam_HBANLIB_DMod.R deleted file mode 100644 index 01918949d5d3f23b2fa14db7aab00faa2bc192e1..0000000000000000000000000000000000000000 --- a/files_R_PLUS/TransfoParam_HBANLIB_DMod.R +++ /dev/null @@ -1,1238 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa). -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod01 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod01 <- function(ParamIn,Direction){ - - NParam <- 08; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(2*Xtran[,01]); # XV(2*NPX+1)=EXP(2*XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # - Xreal[,03] <- exp(Xtran[,03]); # - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05]); # - Xreal[,06] <- sinh(Xtran[,06]); # XV(2*NPX+6)=(XV(2*NPX+6)-1./XV(2*NPX+6))/2. - Xreal[,07] <- exp(Xtran[,07]); # - Xreal[,08] <- sinh(Xtran[,08]); # XV(2*NPX+8)=(XV(2*NPX+8)-1./XV(2*NPX+8))/2. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01])/2; - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]); - Xtran[,06] <- asinh(Xreal[,06]); - Xtran[,07] <- log(Xreal[,07]); - Xtran[,08] <- asinh(Xreal[,08]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod02 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod02 <- function(ParamIn,Direction){ - - NParam <- 06; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01])+1; # XV(2*NPX+1)=XV(2*NPX+1)+1. - Xreal[,02] <- exp(Xtran[,02]); # - Xreal[,03] <- exp(1.5*Xtran[,03])+1; # XV(2*NPX+3)=EXP(1.5*XV(3))+1. - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- (Xtran[,05]+9.99)/19.98; # XV(2*NPX+5)=(XV(5)+9.99)/19.98 - Xreal[,06] <- exp(Xtran[,06]); # EXP(XV(6)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]-1); - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]-1)/1.5; - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- Xreal[,05]*19.98-9.99; - Xtran[,06] <- log(Xreal[,06]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod03 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod03 <- function(ParamIn,Direction){ - - NParam <- 04; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(1.5*Xtran[,01]); # GR4J - Xreal[,02] <- sinh(Xtran[,02]); # GR4J - Xreal[,03] <- exp(Xtran[,03]); # GR4J - Xreal[,04] <- 20+19.5*(Xtran[,04]-9.99)/19.98; # GR4J - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01])/1.5; - Xtran[,02] <- asinh(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19.5; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod04 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod04 <- function(ParamIn,Direction){ - - NParam <- 05; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(1.5*Xtran[,01]); # GR5J - Xreal[,02] <- sinh(Xtran[,02]); # GR5J - Xreal[,03] <- exp(Xtran[,03]); # GR5J - Xreal[,04] <- 20+19.5*(Xtran[,04]-9.99)/19.98; # GR5J - ### Xreal[,05] <- sinh(Xtran[,05]); # GR5J - Xreal[,05] <- Xtran[,05]/5; # GR5J - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]) / 1.5; - Xtran[,02] <- asinh(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19.5; - ### Xtran[,05] <- asinh(Xreal[,05]); - Xtran[,05] <- Xreal[,05]*5; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod05 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod05 <- function(ParamIn,Direction){ - - NParam <- 09; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - Xreal[,04] <- 20+19.5*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-0.5)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05]); # XV(2*NPX+5)=EXP(XV(5)) - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - Xreal[,07] <- Xtran[,07]+10; # XV(2*NPX+7)=(XV(7)+10.) - Xreal[,08] <- (Xtran[,08]+9.99)/19.98; # XV(2*NPX+8)=(XV(8)+9.99)/19.98 - Xreal[,09] <- exp(Xtran[,09])+1; # XV(2*NPX+9)=EXP(XV(9))+1. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19.5; - Xtran[,05] <- log(Xreal[,05]); - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- Xreal[,07]-10; - Xtran[,08] <- Xreal[,08]*19.98-9.99; - Xtran[,09] <- log(Xreal[,09]-1); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod06 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod06 <- function(ParamIn,Direction){ - - NParam <- 07; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01])+1; # XV(2*NPX+1)=1.+EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=1.+EXP(XV(2)) - Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=1.+EXP(XV(3)) - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - ### for(i in 1:nrow(Xreal)){ - ### ALPHA <- 2*Xtran[i,03]*Xtran[i,04]; # ALPHA=2.*XV(2*NPX+3)*XV(2*NPX+4) - ### if(ALPHA>20){ # IF(ALPHA.GT.FLOAT(NH))THEN - ### Xreal[i,04] <- max(1,Xreal[i,04]/ALPHA*20); # XV(2*NPX+4)=MAX(1.,XV(2*NPX+4)/ALPHA*FLOAT(NH)) - ### ALPHA2 <- 2*Xtran[i,03]*Xtran[i,04]; # ALPHA2=2.*XV(2*NPX+3)*XV(2*NPX+4) - ### if(ALPHA2>20){ # IF(ALPHA2.GT.FLOAT(NH))THEN - ### Xreal[i,03] <- Xreal[i,03]/ALPHA2*20; # XV(2*NPX+3)=XV(2*NPX+3)/ALPHA2*FLOAT(NH) - ### } } } # ENDIF ENDIF - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=1.+EXP(XV(5)) - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=1.+EXP(XV(6)) - Xreal[,07] <- exp(1.5*Xtran[,07])+1; # XV(2*NPX+7)=1.+EXP(1.5*XV(7)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]-1); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- log(Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07]-1)/1.5; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod07 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod07 <- function(ParamIn,Direction){ - - NParam <- 03; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(1.5*Xtran[,01]); # XV(2*NPX+1)=EXP(1.5*XV(1)) - Xreal[,02] <- exp(Xtran[,02]/2); # XV(2*NPX+2)=EXP(XV(2)/2.) - Xreal[,03] <- 20+19.5*(Xtran[,03]-9.99)/19.98; # XV(2*NPX+3)=FLOAT(NH)+(FLOAT(NH)-0.5)*(XV(3)-9.99)/19.98 - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01])/1.5; - Xtran[,02] <- 2*log(Xreal[,02]); - Xtran[,03] <- 9.99+19.98*(Xreal[,03]-20)/19.5; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod08 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod08 <- function(ParamIn,Direction){ - - NParam <- 06; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]/3); # XV(2*NPX+1)=EXP(XV(1)/3.) - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=EXP(XV(2))+1. - Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - Xreal[,04] <- 20+19.5*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-0.5)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05]); # XV(2*NPX+5)=EXP(XV(5)) - Xreal[,06] <- exp(Xtran[,06]); # XV(2*NPX+6)=EXP(XV(6)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- 3*log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- log(Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19.5; - Xtran[,05] <- log(Xreal[,05]); - Xtran[,06] <- log(Xreal[,06]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod09 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod09 <- function(ParamIn,Direction){ - - NParam <- 14; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01])+1; # XV(2*NPX+1)=EXP(XV(1))+1. - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=EXP(XV(2))+1. - Xreal[,03] <- 1/(1+exp(-Xtran[,03])); # XV(2*NPX+3)=1./(1.+EXP(-XV(3))) - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- sinh((5+Xtran[,05])/10); # XV(2*NPX+5)=SINH((5.+XV(5))/10.) - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - Xreal[,07] <- exp(Xtran[,07]); # XV(2*NPX+7)=EXP(XV(7)) - Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - Xreal[,09] <- exp(Xtran[,09])+1; # XV(2*NPX+9)=EXP(XV(9))+1. - Xreal[,10] <- exp(Xtran[,10])+1; # XV(2*NPX+10)=EXP(XV(10))+1. - Xreal[,11] <- exp(Xtran[,11])+1; # XV(2*NPX+11)=EXP(XV(11))+1. - Xreal[,12] <- 1/(1+exp(-Xtran[,12])); # XV(2*NPX+12)=1./(1.+EXP(-XV(12))) - Xreal[,13] <- 1/(1+exp(-Xtran[,13])); # XV(2*NPX+13)=1./(1.+EXP(-XV(13))) - Xreal[,14] <- (Xtran[,14]+9.99)/19.98; # XV(2*NPX+14)=(9.99+XV(14))/19.98 - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]-1); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- -log(1/Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- 10*asinh(Xreal[,05])-5; - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07]); - Xtran[,08] <- log(Xreal[,08]-1); - Xtran[,09] <- log(Xreal[,09]-1); - Xtran[,10] <- log(Xreal[,10]-1); - Xtran[,11] <- log(Xreal[,11]-1); - Xtran[,12] <- -log(1/Xreal[,12]-1); - Xtran[,13] <- -log(1/Xreal[,13]-1); - Xtran[,14] <- Xreal[,14]*19.98-9.99; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod10 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod10 <- function(ParamIn,Direction){ - - NParam <- 08; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=1.+EXP(XV(6)) - Xreal[,07] <- exp(Xtran[,07])+1; # XV(2*NPX+7)=1.+EXP(XV(7)) - Xreal[,08] <- exp(Xtran[,08]); # XV(2*NPX+8)=EXP(XV(8)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07]-1); - Xtran[,08] <- log(Xreal[,08]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod11 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod11 <- function(ParamIn,Direction){ - - NParam <- 09; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=1.+EXP(XV(2)) - Xreal[,03] <- exp(Xtran[,03]); # XV(2*NPX+3)=EXP(XV(3)) - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- (Xtran[,05]+9.99)/19.98; # XV(2*NPX+5)=(XV(5)+9.99)/19.98 - Xreal[,06] <- (Xtran[,06]+9.99)/19.98; # XV(2*NPX+6)=(XV(6)+9.99)/19.98 - Xreal[,07] <- exp(Xtran[,07])+1; # XV(2*NPX+7)=EXP(XV(7))+1. - Xreal[,08] <- exp(Xtran[,08]); # XV(2*NPX+8)=EXP(XV(8)) - Xreal[,09] <- exp(Xtran[,09]); # XV(2*NPX+9)=EXP(XV(9)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- Xreal[,05]*19.98-9.99; - Xtran[,06] <- Xreal[,06]*19.98-9.99; - Xtran[,07] <- log(Xreal[,07]-1); - Xtran[,08] <- log(Xreal[,08]); - Xtran[,09] <- log(Xreal[,09]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod12 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod12 <- function(ParamIn,Direction){ - - NParam <- 10; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - Xreal[,07] <- exp(Xtran[,07])+1; # XV(2*NPX+7)=EXP(XV(7))+1. - Xreal[,08] <- exp(Xtran[,08]); # XV(2*NPX+8)=EXP(XV(8)) - Xreal[,09] <- exp(Xtran[,09]/2); # XV(2*NPX+9)=EXP(XV(9)/2) - Xreal[,10] <- exp(Xtran[,10])+1; # XV(2*NPX+10)=EXP(XV(10))+1. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07]-1); - Xtran[,08] <- log(Xreal[,08]); - Xtran[,09] <- log(Xreal[,09])*2; - Xtran[,10] <- log(Xreal[,10]-1); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod13 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod13 <- function(ParamIn,Direction){ - - NParam <- 06; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - ### for(i in 1:nrow(Xreal)){ - ### if(Xreal[i,02]>5){ Xreal[i,02] <- 5; } } # IF(XV(2*NPX+2).GT.5.)XV(2*NPX+2)=5. - Xreal[,03] <- (Xtran[,03]+9.99)/19.98; # XV(2*NPX+3)=(XV(3)+9.99)/19.98 - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- Xreal[,03]*19.98-9.99; - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]-1); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod14 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod14 <- function(ParamIn,Direction){ - - NParam <- 08; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=EXP(XV(2))+1. - Xreal[,03] <- exp(Xtran[,03]); # XV(2*NPX+3)=EXP(XV(3)) - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - Xreal[,06] <- exp(Xtran[,06]); # XV(2*NPX+6)=EXP(XV(6)) - Xreal[,07] <- exp(Xtran[,07]/4); # XV(2*NPX+7)=EXP(XV(7)/4.) - Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]); - Xtran[,07] <- log(Xreal[,07])*4; - Xtran[,08] <- log(Xreal[,08]-1); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod15 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod15 <- function(ParamIn,Direction){ - - NParam <- 08; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - ### for(i in 1:nrow(Xreal)){ - ### if(Xreal[i,02]>5){ Xreal[i,02] <- 5; } } # IF(XV(2*NPX+2).GT.5.)XV(2*NPX+2)=5. - Xreal[,03] <- (Xtran[,03]+9.99)/19.98; # XV(2*NPX+3)=(XV(3)+9.99)/19.98 - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - Xreal[,07] <- exp(Xtran[,07]/2); # XV(2*NPX+7)=EXP(XV(7)/2.) - Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- Xreal[,03]*19.98-9.99; - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07])*2; - Xtran[,08] <- log(Xreal[,08]-1); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod16 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod16 <- function(ParamIn,Direction){ - - NParam <- 08; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=EXP(XV(2))+1. - Xreal[,03] <- exp(Xtran[,03]); # XV(2*NPX+3)=EXP(XV(3)) - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - Xreal[,06] <- exp(Xtran[,06]); # XV(2*NPX+6)=EXP(XV(6)) - Xreal[,07] <- exp(Xtran[,07]); # XV(2*NPX+7)=EXP(XV(7)) - Xreal[,08] <- (Xtran[,08]+9.99)/19.98; # XV(2*NPX+8)=(XV(8)+9.99)/19.98 - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]-1); - Xtran[,06] <- log(Xreal[,06]); - Xtran[,07] <- log(Xreal[,07]); - Xtran[,08] <- Xreal[,08]*19.98-9.99; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -### #************************************************************************************************** -### # Function which transforms model parameters from transformed values to real values. -### #************************************************************************************************** -### # @title TransfoParam_HBANLIB_DMod17 -### # @author Laurent Coron (January 2014) -### # @export -### #FunctionInputsOutputs____________________________________________________________________________ -### # @param ParamIn matrix of parameter sets (sets in line, parameter values in column) -### # @param Direction direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -### # @return \emph{ParamOut} matrix of parameter sets (sets in line, parameter values in column) -### #**************************************************************************************************' -### TransfoParam_HBANLIB_DMod17 <- function(ParamIn,Direction){ - - ### NParam <- 09; - ### Bool <- is.matrix(ParamIn); - ### if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ### if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - ### if(Direction=="TR"){ - ### Xtran <- ParamIn; - ### Xreal <- Xtran; - ### Xreal[,01] <- (Xtran[,01]+9.99)/19.98; # XV(2*NPX+1)=(XV(1)+9.99)/19.98 - ### Xreal[,02] <- (Xtran[,02]+9.99)/19.98; # XV(2*NPX+2)=(XV(2)+9.99)/19.98 - ### Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - ### Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - ### Xreal[,05] <- exp(Xtran[,05]); # XV(2*NPX+5)=EXP(XV(5)) - ### Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - ### Xreal[,07] <- exp(Xtran[,07]); # XV(2*NPX+7)=EXP(XV(7)) - ### Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - ### Xreal[,09] <- exp(Xtran[,09])+1; # XV(2*NPX+9)=EXP(XV(9))+1. - ### ParamOut <- Xreal; - ### } - ### if(Direction=="RT"){ - ### Xreal <- ParamIn; - ### Xtran <- Xreal; - ### Xtran[,01] <- Xreal[,01]*19.98-9.99; - ### Xtran[,02] <- Xreal[,02]*19.98-9.99; - ### Xtran[,03] <- log(Xreal[,03]-1); - ### Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - ### Xtran[,05] <- log(Xreal[,05]); - ### Xtran[,06] <- log(Xreal[,06]-1); - ### Xtran[,07] <- log(Xreal[,07]); - ### Xtran[,08] <- log(Xreal[,08]-1); - ### Xtran[,09] <- log(Xreal[,09]-1); - ### ParamOut <- Xtran; - ### } - - ### if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - ### return(ParamOut); - -### } - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod18 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod18 <- function(ParamIn,Direction){ - - NParam <- 10; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02])+1; # XV(2*NPX+2)=EXP(XV(2))+1. - Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- (Xtran[,05]+9.99)/19.98; # XV(2*NPX+5)=(XV(5)+9.99)/19.98 - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - Xreal[,07] <- exp(Xtran[,07]); # XV(2*NPX+7)=EXP(XV(7)) - Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - Xreal[,09] <- exp(Xtran[,09]); # XV(2*NPX+9)=EXP(XV(9)) - Xreal[,10] <- exp(Xtran[,10]); # XV(2*NPX+10)=EXP(XV(10)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]-1); - Xtran[,03] <- log(Xreal[,03]-1); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- Xreal[,05]*19.98-9.99; - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07]); - Xtran[,08] <- log(Xreal[,08]-1); - Xtran[,09] <- log(Xreal[,09]); - Xtran[,10] <- log(Xreal[,10]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod19 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod19 <- function(ParamIn,Direction){ - - NParam <- 08; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- (Xtran[,01]+9.99)/19.98; # XV(2*NPX+1)=(XV(1)+9.99)/19.98 - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - Xreal[,03] <- exp(Xtran[,03]); # XV(2*NPX+3)=EXP(XV(3)) - Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - Xreal[,05] <- exp(Xtran[,05]); # XV(2*NPX+5)=EXP(XV(5)) - Xreal[,06] <- exp(Xtran[,06])+1; # XV(2*NPX+6)=EXP(XV(6))+1. - Xreal[,07] <- exp(Xtran[,07])+1; # XV(2*NPX+7)=EXP(XV(7))+1. - Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- Xreal[,01]*19.98-9.99; - Xtran[,02] <- log(Xreal[,02]); - Xtran[,03] <- log(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - Xtran[,05] <- log(Xreal[,05]); - Xtran[,06] <- log(Xreal[,06]-1); - Xtran[,07] <- log(Xreal[,07]-1); - Xtran[,08] <- log(Xreal[,08]-1); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -### #************************************************************************************************** -### # Function which transforms model parameters from transformed values to real values. -### #************************************************************************************************** -### # @title TransfoParam_HBANLIB_DMod20 -### # @author Laurent Coron (January 2014) -### # @export -### #_FunctionInputsOutputs____________________________________________________________________________ -### # @param ParamIn matrix of parameter sets (sets in line, parameter values in column) -### # @param Direction direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -### # @return \emph{ParamOut} matrix of parameter sets (sets in line, parameter values in column) -### #**************************************************************************************************' -### TransfoParam_HBANLIB_DMod20 <- function(ParamIn,Direction){ - - ### NParam <- 12; - ### Bool <- is.matrix(ParamIn); - ### if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - ### if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - ### if(Direction=="TR"){ - ### Xtran <- ParamIn; - ### Xreal <- Xtran; - ### Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - ### Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - ### Xreal[,03] <- exp(Xtran[,03])+1; # XV(2*NPX+3)=EXP(XV(3))+1. - ### Xreal[,04] <- 20+19*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-1.)*(XV(4)-9.99)/19.98 - ### Xreal[,05] <- exp(Xtran[,05])+1; # XV(2*NPX+5)=EXP(XV(5))+1. - ### Xreal[,06] <- (Xtran[,06]+9.99)/19.98; # XV(2*NPX+6)=(XV(6)+9.99)/19.98 - ### Xreal[,07] <- exp(Xtran[,07]); # XV(2*NPX+7)=EXP(XV(7)) - ### Xreal[,08] <- exp(Xtran[,08])+1; # XV(2*NPX+8)=EXP(XV(8))+1. - ### Xreal[,09] <- exp(Xtran[,09]/2); # XV(2*NPX+9)=EXP(XV(9)/2.) - ### Xreal[,10] <- (Xtran[,10]+9.99)/19.98; # XV(2*NPX+10)=(XV(10)+9.99)/19.98 - ### Xreal[,11] <- 1/(1+exp(-Xtran[,11])); # XV(2*NPX+11)=1./(1.+EXP(-XV(11))) - ### Xreal[,12] <- 1/(1+exp(-Xtran[,12])); # XV(2*NPX+12)=1./(1.+EXP(-XV(12))) - ### ParamOut <- Xreal; - ### } - ### if(Direction=="RT"){ - ### Xreal <- ParamIn; - ### Xtran <- Xreal; - ### Xtran[,01] <- log(Xreal[,01]); - ### Xtran[,02] <- log(Xreal[,02]); - ### Xtran[,03] <- log(Xreal[,03]-1); - ### Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19; - ### Xtran[,05] <- log(Xreal[,05]-1); - ### Xtran[,06] <- Xreal[,06]*19.98-9.99; - ### Xtran[,07] <- log(Xreal[,07]); - ### Xtran[,08] <- log(Xreal[,08]-1); - ### Xtran[,09] <- log(Xreal[,09])*2; - ### Xtran[,10] <- Xreal[,10]*19.98-9.99; - ### Xtran[,11] <- -log(1/Xreal[,11]-1); - ### Xtran[,12] <- -log(1/Xreal[,12]-1); - ### ParamOut <- Xtran; - ### } - - ### if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - ### return(ParamOut); - -### } - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod21 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod21 <- function(ParamIn,Direction){ - - NParam <- 01; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod22 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod22 <- function(ParamIn,Direction){ - - NParam <- 02; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(Xtran[,02]); # XV(2*NPX+2)=EXP(XV(2)) - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02]); - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod23 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod23 <- function(ParamIn,Direction){ - - NParam <- 03; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(1.5*Xtran[,02]); # XV(2*NPX+2)=EXP(1.5*XV(2)) - Xreal[,03] <- 20+19.5*(Xtran[,03]-9.99)/19.98; # XV(2*NPX+3)=FLOAT(NH)+(FLOAT(NH)-0.5)*(XV(3)-9.99)/19.98 - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02])/1.5; - Xtran[,03] <- 9.99+19.98*(Xreal[,03]-20)/19.5; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod24 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod24 <- function(ParamIn,Direction){ - - NParam <- 04; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(Xtran[,01]); # XV(2*NPX+1)=EXP(XV(1)) - Xreal[,02] <- exp(1.5*Xtran[,02]); # XV(2*NPX+2)=EXP(1.5*XV(2)) - Xreal[,03] <- sinh(Xtran[,03]); # XV(2*NPX+3)=(XV(2*NPX+3)-1./XV(2*NPX+3))/2. - Xreal[,04] <- 20+19.5*(Xtran[,04]-9.99)/19.98; # XV(2*NPX+4)=FLOAT(NH)+(FLOAT(NH)-0.5)*(XV(4)-9.99)/19.98 - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]); - Xtran[,02] <- log(Xreal[,02])/1.5; - Xtran[,03] <- asinh(Xreal[,03]); - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19.5; - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - - -#************************************************************************************************** -#' Function which transforms model parameters from transformed values to real values. -#************************************************************************************************** -#' @title TransfoParam_HBANLIB_DMod25 -#' @author Laurent Coron (January 2014) -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#**************************************************************************************************' -TransfoParam_HBANLIB_DMod25 <- function(ParamIn,Direction){ - - NParam <- 06; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the chosen model requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - Xtran <- ParamIn; - Xreal <- Xtran; - Xreal[,01] <- exp(1.5*Xtran[,01]); # GR6J - Xreal[,02] <- sinh(Xtran[,02]); # GR6J - Xreal[,03] <- exp(Xtran[,03]); # GR6J - Xreal[,04] <- 20+19.5*(Xtran[,04]-9.99)/19.98; # GR6J - ### Xreal[,05] <- sinh(Xtran[,05]); # GR6J - Xreal[,05] <- Xtran[,05]/5; # GR6J - Xreal[,06] <- exp(Xtran[,06]); # GR6J - ParamOut <- Xreal; - } - if(Direction=="RT"){ - Xreal <- ParamIn; - Xtran <- Xreal; - Xtran[,01] <- log(Xreal[,01]) / 1.5; # GR6J - Xtran[,02] <- asinh(Xreal[,02]); # GR6J - Xtran[,03] <- log(Xreal[,03]); # GR6J - Xtran[,04] <- 9.99+19.98*(Xreal[,04]-20)/19.5; # GR6J - ### Xtran[,05] <- asinh(Xreal[,05]); # GR6J - Xtran[,05] <- Xreal[,05]*5; # GR6J - Xtran[,06] <- log(Xreal[,06]); # GR6J - ParamOut <- Xtran; - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - diff --git a/files_data/L0123001.rda b/files_data/L0123001.rda deleted file mode 100644 index 2f0de3626f0f0754d897082477bb490fc3d2304a..0000000000000000000000000000000000000000 Binary files a/files_data/L0123001.rda and /dev/null differ diff --git a/files_misc/14-07-09 airGR_0.7 Description_FR.pdf b/files_misc/14-07-09 airGR_0.7 Description_FR.pdf deleted file mode 100644 index 93503191bbb558bc8c7ff77288dc5c491ca26a76..0000000000000000000000000000000000000000 Binary files a/files_misc/14-07-09 airGR_0.7 Description_FR.pdf and /dev/null differ diff --git a/files_misc/14-07-09 airGR_0.7 Description_FR.pptx b/files_misc/14-07-09 airGR_0.7 Description_FR.pptx deleted file mode 100644 index 54a4ab81be55687647badc21bbc5bfb3f87066b3..0000000000000000000000000000000000000000 Binary files a/files_misc/14-07-09 airGR_0.7 Description_FR.pptx and /dev/null differ diff --git a/files_misc/DESCRIPTION b/files_misc/DESCRIPTION deleted file mode 100644 index 15ea6b6eebde7dc0708f64cd54d0a8ee7d071b44..0000000000000000000000000000000000000000 --- a/files_misc/DESCRIPTION +++ /dev/null @@ -1,14 +0,0 @@ -Package: airGR -Type: Package -Title: Package bringing into R the hydrological modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige -Version: 0.7.2 -Date: 2014-07-14 -Author: Laurent CORON -Maintainer: Laurent CORON <laurent.coron@irstea.fr>, Olivier DELAIGUE <olivier.delaigue@irstea.fr> -Depends: R (>= 3.0.1) -Imports: stats -Description: This package brings into R the hydrological modelling tools used at Irstea-HBAN (France). - The package includes several conceptual rainfall-runoff models and the associated functions - for their calibration and evaluation,including GR4J, GR5J, GR6J and CemaNeige. - Use help(airGR) for package description. -License: GPL-2 diff --git a/files_misc/DESCRIPTION_PLUS b/files_misc/DESCRIPTION_PLUS deleted file mode 100644 index 6fa52e54a267da18d320d76f059742f38d990bff..0000000000000000000000000000000000000000 --- a/files_misc/DESCRIPTION_PLUS +++ /dev/null @@ -1,14 +0,0 @@ -Package: airGR -Type: Package -Title: Package bringing into R the hydrological modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige -Version: 0.7.2 -Date: 2014-07-14 -Author: Laurent CORON -Maintainer: Laurent CORON <laurent.coron@irstea.fr>, Olivier DELAIGUE <olivier.delaigue@irstea.fr> -Depends: R (>= 3.0.1), mco -Imports: stats -Description: This package brings into R the hydrological modelling tools used at Irstea-HBAN (France). - The package includes several conceptual rainfall-runoff models and the associated functions - for their calibration and evaluation,including GR4J, GR5J, GR6J and CemaNeige. - Use help(airGR) for package description. -License: GPL-2 diff --git a/files_misc/ReadMe.txt b/files_misc/ReadMe.txt deleted file mode 100644 index 75606f83f974cab763bb865fee067aa8edeea12e..0000000000000000000000000000000000000000 --- a/files_misc/ReadMe.txt +++ /dev/null @@ -1,17 +0,0 @@ -Instructions fo Windows users: - - download the airGR install zip file - - start R (or Rstudio) - - from R, install the package via "Packages\Install package(s) from zip files..." (warning R version >=3.0.1 is required) - - from R, load the package via library(airGR) - - from R, see help(airGR) for details on the package functionning and script examples - - (for advanced user) once you are familiar with the package, - have a look at the "airGR_0.7_advanced_examples" folder for an example of script to perform multi-models and multi-catchments tests - -Instructions fo Linux users: - - download the airGR-package folder - - using command lines in Linux, browse to the airGR_package/src sub-folder - and type the command < ln -s airGR.so airgr.so > - (this is a nexessary step to cope with the issue of case-insensitive compilation) - - make sure to remove all the files in the airGR_package/src sub-folder which are not .f files (fortran) - - install the package from R using < install.packages("/MyDIR1/airGR_package",type="source",repos=NULL,lib=MyDIR2) > - diff --git a/files_misc/ReleaseNotes.txt b/files_misc/ReleaseNotes.txt deleted file mode 100644 index 096264ecf23732ec05cfea458e4dbbae1c21656a..0000000000000000000000000000000000000000 --- a/files_misc/ReleaseNotes.txt +++ /dev/null @@ -1,104 +0,0 @@ -#### 0.7.2 RELEASE NOTES ########################### - -- CemaNeige users must now specify one MeanAnSolidPrecip for each elevation layer. - The CreateRunOptions function is impacted - -- CemaNeige users can now specify the mean elevation of the input series - (before it was always considered equal to the catchment median elevation) - The impacted functions are CreateInputsModel and DataAltiExtrapolation_HBAN - -- Bug correction in CreateCalibOptions to handle models with only one parameter - -- New argument in many functions (quiet = TRUE or FALSE) to choose if the warnings should be suppressed or not - -- Improvement of the plot_OutputsModel function (to handle 0 in Qobs and Qsim) - -- Improved documentation - -#### 0.7.1 RELEASE NOTES ########################### - -- New architecture with better format verification procedure (using classes) and simpler setting of default configuration - -- New architecture where the model, calibration and error functions are in the arguments of the functions - (the exotic use of "generic function" created by the users has been removed) - -- Better help pages and examples - -- The CalibrationAlgo_XXX functions were renamed into Calibration_XXX - -- Bug correction: the Calibration_HBAN function was not working properly with models having only one parameter - -#### 0.7.0 RELEASE NOTES ########################### - -- unfinished version used for development purpose - -#### 0.6.1 RELEASE NOTES ########################### - -- RC11 bug correction: the automatic selection of the warm-up period was not working properly when no data was available from warm-up (i.e. when the user had set the run to start at the very first index) - -- RC10 bug correction: the CalibrationAlgo_HBAN function was not working in the very rare case when the diagonal search was activated and lead to a set outside the authorised range - -- RC9 bug correction: the CalibrationAlgo_HBAN function was not working properly with models having only one parameter - -- RC8 bug correction of the "ModelDefaultIniOptions" function (this bug was introduced in the RC7 and caused an error when IndPeriod_WarmUp was defined as NULL) - -- RC7 bug correction of the "ModelDefaultIniOptions" function (the automatic selection of one year for warm-up was not handling properly missing data) - -- RC6 correction of the help files (the description of CemaNeige parameters were inverted) - -- RC5 differs from previous releases in the way the data are read and stored (in a list instead of individual vectors). - The package is similar, only the examples of Main and the files in MyScriptBlocks have changed. - => All basin data are now stored inside a list named "BasinData". This will greatly ease the future use of Rdata files (instead of txt files) - as storage format for the time series of observation. - -#### 0.6.1 RELEASE NOTES ########################### - -- Code improvements to reduce the computation time - -- Additional functions for results plotting (the "zoo" package is required for some of them) - -- Multi-objective calibration using "nsga2" (the "mco" package is required) - -- The definition of the generic function is now made in a much simpler way (e.g. see DefineFunctions_Model.R or DefineFunctions_ErrorCrit.R) - -- Improvements of the documentation "airGR 0.6 Description FR.pdf" - -- Clearer instructions for the adding and modification of a model - -#### 0.6.0 RELEASE NOTES ########################### - -- EfficiencyCrit have been replaced by ErrorCrit to avoid misunderstanding (by default, the algorithms minimise the error criterion) - -- The field Multiplier has been added in the ErrorCrit outputs, to indicate whether the criterion is an error (to minimise) or and efficiency (to maximise) - this permits to provide real efficiency values in the outputs e.g. NSE[Q] instead of (-1)*NSE[Q] - -#### 0.5.2 RELEASE NOTES ########################### - -- Correction of the above mentioned bugs - -- R 2.15 in not supported by default (ask me if you need such compatibility) - -- Check of the model functioning time step - -- Name of the calibration criterion provided in OutputsAlgo - -- Missing values in fortran are now -999.999 instead of -9.999 - -- The check that SelectPer_Run is continuous is now made in the CheckArg functions - -- The SelectPer arguments are replaced by IndPeriod to ease understanding - -- The PE arguments are replaced by PotEvap to ease understanding - -- The Fsol arguments are replaced by FracSolidPrecip to ease understanding - -#### 0.5.1 BUGS ################################################# - -- The function EfficiencyCrit_NSE_sqrtQ.R was missing in the first release of airGR 0.5.1 - -- Incorrect arguments in the call to RunModelAndCrit from CalibrationAlgo_optim_stats and CalibrationAlgo_nlminb_stats - -- CalibrationAlgo_nlminb_stats wrongly defined in MyScriptBlocks\DefineFunctions_CalibrationAlgo.R ("optim" instead of "nlminb") - -- Format checking for RunOptions incorrectly made in CheckArg function - diff --git a/files_misc/airGR-package.Rd b/files_misc/airGR-package.Rd deleted file mode 100644 index 1a9e3726f84fe00a017b08508120c79e6c2c1590..0000000000000000000000000000000000000000 --- a/files_misc/airGR-package.Rd +++ /dev/null @@ -1,54 +0,0 @@ -\name{airGR-package} -\alias{airGR-package} -\alias{airGR} -\docType{package} -\encoding{UTF-8} -\title{Package bringing into R the hydrological modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige.} -\description{ -This package brings into R the hydrological modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige. Each model core is coded in FORTRAN to ensure low computational time. The other package functions (i.e. mainly the calibration algorithm and the efficiency criteria) are coded in R. \cr - -##### Functions and objects ##### - -The airGR package has been designed to fulfil two major requirements: facilitate the use by non-expert users and allow flexibility regarding the addition of external criteria, models or calibration algorithms. The names of the functions and their arguments were chosen to this end. - -The package is mostly based on three families of functions: \cr -- the functions belonging to the \code{\link{RunModel}} family require three arguments: \emph{InputsModel}, \emph{RunOptions} and \emph{Param}; please refer to help pages \code{\link{CreateInputsModel}} and \code{\link{CreateRunOptions}} for further details and examples; \cr -- the functions belonging to the \code{\link{ErrorCrit}} family require two arguments: \emph{InputsCrit} and \emph{OutputsModel}; please refer to help pages \code{\link{CreateInputsCrit}} and \code{\link{RunModel}} for further details and examples; \cr -- the functions belonging to the \code{\link{Calibration}} family require four arguments: \emph{InputsModel}, \emph{RunOptions}, \emph{InputsCrit} and \emph{CalibOptions}; please refer to help pages \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}} and \code{\link{CreateCalibOptions}} for further details and examples. - -In order to limit the risk of misuse and increase the flexibility of these main functions, we imposed the structure of their arguments and defined their class. Most users will not need to worry about these imposed structures since functions are provided to prepare these arguments for them: \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. However, advanced users wishing to supplement the package with their own models will need to comply with these imposed structures and refer to the package source codes to get all the specification requirements. \cr - -##### Models ##### - -Three hydrological models and one snow melt and accumulation module are implemented in airGR. The snow module can also be used alone and each hydrological model can either be used alone or together with the snow module. \cr -These models can be called within airGR using the following functions: \cr -- \code{\link{RunModel_GR4J}}: the four-parameter lumped conceptual model (Perrin et al., 2003) \cr -- \code{\link{RunModel_GR5J}}: the five-parameter lumped conceptual model (Le Moine, 2008) \cr -- \code{\link{RunModel_GR6J}}: the six-parameter lumped conceptual model (Pushpalatha, 2013) \cr -- \code{\link{RunModel_CemaNeige}}: the two-parameter degree-day snow melt and accumulation module (Valéry et al., 2014) \cr -- \code{\link{RunModel_CemaNeigeGR4J}}: combined use of GR4J and CemaNeige \cr -- \code{\link{RunModel_CemaNeigeGR5J}}: combined use of GR5J and CemaNeige \cr -- \code{\link{RunModel_CemaNeigeGR6J}}: combined use of GR6J and CemaNeige - -\emph{References:} \cr -Perrin, C., C. Michel and V. Andréassian (2003), Improvement of a parsimonious model for streamflow simulation, Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7. \cr -Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances et du réalisme des modèles pluie-débit ?, PhD thesis (in French), UPMC, Paris, France. \cr -Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr -Valéry, A., V. Andréassian and C. Perrin (2014), "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. \cr -} - -\details{ -\tabular{ll}{ -Package: \tab airGR\cr -Type: \tab Package\cr -Version: \tab 0.7.2\cr -Date: \tab 2014-07-09\cr -License: \tab GPL-2\cr -} -} -\author{ -Author: Laurent CORON \cr -Maintainer: Laurent CORON <laurent.coron@irstea.fr>, Olivier DELAIGUE <olivier.delaigue@irstea.fr> -} - -\keyword{package, hydrology, modelling} diff --git a/files_misc/airGR_AdvancedExample.zip b/files_misc/airGR_AdvancedExample.zip deleted file mode 100644 index 24ae57edb764c3406c4f505e6f1bfc05ab8cdc1d..0000000000000000000000000000000000000000 Binary files a/files_misc/airGR_AdvancedExample.zip and /dev/null differ diff --git a/files_misc/airGR_AdvancedExample/ModelDev/RunModel_MyModel.R b/files_misc/airGR_AdvancedExample/ModelDev/RunModel_MyModel.R deleted file mode 100644 index 215b1991fcdd247c8390e43814d7c692d1c817c3..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/ModelDev/RunModel_MyModel.R +++ /dev/null @@ -1,120 +0,0 @@ -#***************************************************************************************************************** -#' Function which performs a single model run for MyModel. -#' -#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}. -#***************************************************************************************************************** -#' @title Run with the MyModel hydrological model -#' @author Laurent Coron (December 2013) -#' @encoding UTF-8 -#' @export -#_FunctionInputs__________________________________________________________________________________________________ -#' @param InputsModel [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details -#' @param RunOptions [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details -#' @param Param [numeric] vector of 4 parameters -#' \tabular{ll}{ -#' MyModel X1 \tab production store capacity [mm] \cr -#' MyModel X2 \tab groundwater exchange coefficient [mm/d] \cr -#' MyModel X3 \tab routing store capacity [mm] \cr -#' MyModel X4 \tab unit hydrograph time constant [d] \cr -#' } -#_FunctionOutputs_________________________________________________________________________________________________ -#' @return [list] list containing the function outputs organised as follows: -#' \tabular{ll}{ -#' \emph{$DatesR } \tab [POSIXlt] series of dates \cr -#' \emph{$PotEvap } \tab [numeric] series of input potential evapotranspiration [mm/d] \cr -#' \emph{$Precip } \tab [numeric] series of input total precipitation [mm/d] \cr -#' \emph{$Prod } \tab [numeric] series of production store level (X(2)) [mm] \cr -#' \emph{$AE } \tab [numeric] series of actual evapotranspiration [mm/d] \cr -#' \emph{$Perc } \tab [numeric] series of percolation (PERC) [mm/d] \cr -#' \emph{$PR } \tab [numeric] series of PR=PN-PS+PERC [mm/d] \cr -#' \emph{$Q9 } \tab [numeric] series of HU1 outflow (Q9) [mm/d] \cr -#' \emph{$Q1 } \tab [numeric] series of HU2 outflow (Q1) [mm/d] \cr -#' \emph{$Rout } \tab [numeric] series of routing store level (X(1)) [mm] \cr -#' \emph{$Exch } \tab [numeric] series of potential semi-exchange between catchments [mm/d] \cr -#' \emph{$AExch } \tab [numeric] series of actual exchange between catchments (1+2) [mm/d] \cr -#' \emph{$QR } \tab [numeric] series of routing store outflow (QR) [mm/d] \cr -#' \emph{$QD } \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d] \cr -#' \emph{$Qsim } \tab [numeric] series of Qsim [mm/d] \cr -#' \emph{$StateEnd} \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr -#' } -#' (refer to the provided references or to the package source code for further details on these model outputs) -#***************************************************************************************************************** -RunModel_MyModel <- function(InputsModel,RunOptions,Param){ - - NParam <- 4; - FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); - - ##Arguments_check - if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } - if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } - if(inherits(InputsModel,"MyModel" )==FALSE){ stop("InputsModel must be of class 'MyModel'\n"); return(NULL); } - if(inherits(RunOptions,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); } - if(inherits(RunOptions,"MyModel" )==FALSE){ stop("RunOptions must be of class 'MyModel' \n"); return(NULL); } - if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); } - if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); } - Param <- as.double(Param); - - ##Input_data_preparation - if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } - IndPeriod1 <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run); - LInputSeries <- as.integer(length(IndPeriod1)) - if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); - } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } - - ##Use_of_IniResLevels - if("IniResLevels" %in% RunOptions){ - RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3]; ### routing store level (mm) - RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) - } - - ##Call_fortan - RESULTS <- .Fortran("frun_mymodel",DUP=FALSE, - ##inputs - LInputs=LInputSeries, ### length of input and output series - InputsPrecip=InputsModel$Precip[IndPeriod1], ### input series of total precipitation [mm/d] - InputsPE=InputsModel$PotEvap[IndPeriod1], ### input series potential evapotranspiration [mm/d] - NParam=as.integer(length(Param)), ### number of model parameter - Param=Param, ### parameter set - NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising - StateStart=RunOptions$IniStates, ### state variables used when the model run starts - NOutputs=as.integer(length(IndOutputs)), ### number of output series - IndOutputs=IndOutputs, ### indices of output series - ##outputs - Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)), ### output series [mm] - StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates)) ### state variables at the end of the model run - ) - RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; - RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - - ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - ##OutputsModel_only - if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ - OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); - names(OutputsModel) <- FortranOutputs[IndOutputs]; } - ##DatesR_and_OutputsModel_only - if(ExportDatesR==TRUE & ExportStateEnd==FALSE){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]); } - ##OutputsModel_and_SateEnd_only - if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ - OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd"); } - ##DatesR_and_OutputsModel_and_SateEnd - if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){ - OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), - lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]), - list(RESULTS$StateEnd) ); - names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd"); } - - ##End - rm(RESULTS); - class(OutputsModel) <- c("OutputsModel","daily","MyModel"); - return(OutputsModel); - -} - diff --git a/files_misc/airGR_AdvancedExample/ModelDev/TransfoParam_MyModel.R b/files_misc/airGR_AdvancedExample/ModelDev/TransfoParam_MyModel.R deleted file mode 100644 index 45efcd8cdbd7223428333a1f5f01bc9f9ee6d47a..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/ModelDev/TransfoParam_MyModel.R +++ /dev/null @@ -1,39 +0,0 @@ -#************************************************************************************************** -#' Function which transforms model parameters (from real to transformed parameters and vice versa). -#************************************************************************************************** -#' @title Transformation of the parameters from MyModel -#' @author Laurent Coron (December 2013) -#' @encoding UTF-8 -#' @export -#_FunctionInputsOutputs____________________________________________________________________________ -#' @param ParamIn [numeric] matrix of parameter sets (sets in line, parameter values in column) -#' @param Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real -#' @return \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column) -#************************************************************************************************** -TransfParam_TR_MyModel <- function(ParamIn,Direction){ - - NParam <- 4; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("MyModel requires ",NParam," parameters \n",sep="")); return(NULL); } - - if(Direction=="TR"){ - ParamOut <- ParamIn; - ParamOut[,1] <- exp(1.5*ParamIn[,1]); ### MyModel X1 (production store capacity) - ParamOut[,2] <- sinh(ParamIn[,2]); ### MyModel X2 (groundwater exchange coefficient) - ParamOut[,3] <- exp(ParamIn[,3]); ### MyModel X3 (routing store capacity) - ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98; ### MyModel X4 (unit hydrograph time constant) - } - if(Direction=="RT"){ - ParamOut <- ParamIn; - ParamOut[,1] <- log(ParamIn[,1])/1.5; ### MyModel X1 (production store capacity) - ParamOut[,2] <- asinh(ParamIn[,2]); ### MyModel X2 (groundwater exchange coefficient) - ParamOut[,3] <- log(ParamIn[,3]); ### MyModel X3 (routing store capacity) - ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5; ### MyModel X4 (unit hydrograph time constant) - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - -} - diff --git a/files_misc/airGR_AdvancedExample/ModelDev/_ReadMe_Instructions.txt b/files_misc/airGR_AdvancedExample/ModelDev/_ReadMe_Instructions.txt deleted file mode 100644 index fe98df40db1ce127060d025dce57681b0f765ba2..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/ModelDev/_ReadMe_Instructions.txt +++ /dev/null @@ -1,19 +0,0 @@ -It is possible to add an external model to the package via the following steps: - -(1) Write the model core in Fortran: - -> modify the provided example "frun_MyModel.f" to make your own model based on a similar skeleton - -(2) Write the model specific functions in R: - -> modify the provided examples "RunModel_MyModel.R" and "TransfParam_MyModel.R" to create the functions matching your own model - -(3) Option a - Create the DLL and load the functions manually: - -> in you Fortran IDE (ex. CompaqVisual or CodeBlocks), create a Fortran DLL project and compile the file (use the name you like for the DLL, ex. MyDLL.dll) - -> depending on the R version you plan to use, choose your compiler to create either a 32-bit or 64-bit version of the DLL (you can also create both with different names: MyDLL_x32.dll and MyDLL_x64.dll) - -> load the functions created at steps 1 and 2 at the beginning of your main script: load the Fortran DLL using the "dyn.load" command (if you have both 32 and 64-bit versions, you can use the "R.version$arch" command to detect the R version and load the corresponding DLL); load "RunModel_XXXX.R", "CheckArg_XXXX.R", "TransfParam_RT_XXXX.R" and "TransfParam_TR_XXXX.R" using the "source" command - -(3) Option b - Build your own R-package: - -> it is actually quite easy to build R-packages and it might be a good option. Including the fortran and R functions created at steps 1 and 2 in the package will avoid the need to take care of the DLL creation, the 32-bit vs 64-bit issue and the function loading at the beginning of your main script. - -> load you own package (together with airGR) at the beginning of your main R script - -(4) In case the new model requires a structure of inputs different from the ones in the package, - create new versions of the "CreateInputsModel", "CreateRunOptions" and "CreateCalibOptions" functions to match the model specifications diff --git a/files_misc/airGR_AdvancedExample/ModelDev/frun_MyModel.f b/files_misc/airGR_AdvancedExample/ModelDev/frun_MyModel.f deleted file mode 100644 index ff1b4a148258a4d6e19f5d6c1cca1a7042bd7e3a..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/ModelDev/frun_MyModel.f +++ /dev/null @@ -1,225 +0,0 @@ - - - SUBROUTINE frun_MyModel( - !inputs - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_mymodel - - - Implicit None - !### input and output variables - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - - !computation of HU ordinates - D=2.5 - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - CALL MOD_GR4J(X,XV,Param,P1,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - - - - - -c################################################################################################################################ - - - - -C********************************************************************** - SUBROUTINE MOD104(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_misc/airGR_AdvancedExample/ModelDev/utils.f b/files_misc/airGR_AdvancedExample/ModelDev/utils.f deleted file mode 100644 index 2028bc71f5cd42b3941f3113a5c438b80b8198c0..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/ModelDev/utils.f +++ /dev/null @@ -1,272 +0,0 @@ - - -C********************************************************************** - SUBROUTINE HU1(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,D,SS1 - INTEGER I - - DO I=1,NH - XV(3*NPX+I)=SS1(I,C,D)-SS1(I-1,C,D) - ENDDO - ENDSUBROUTINE - - -C********************************************************************** - SUBROUTINE HU2(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,D,SS2 - INTEGER I - - DO I =1,2*NH - XV(3*NPX+NH+I)=SS2(I,C,D)-SS2(I-1,C,D) - ENDDO - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU4(XV,ALPHA,BETA) -C Computation of ordinates of MOHYSE unit hydrograph -C Inputs: -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH),U(3*NH) - DOUBLEPRECISION ALPHA,BETA,SU - INTEGER K - - SU=0. -c IF(ALPHA.LT.1.)THEN -c WRITE(*,*)' Pb ALPHA' -c STOP -c ENDIF - IF(ALPHA.EQ.1.)THEN - U(1)=1. - SU=1. - DO 1 K=2,3*NH - U(K)=0. - 1 CONTINUE - ELSE - DO 11 K=1,3*NH - U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA) - SU=SU+U(K) - 11 CONTINUE - ENDIF - -c IF(SU.LT.0.0000000001)THEN -c WRITE(*,*)' Pb HU4',ALPHA, BETA -c STOP -c ENDIF - DO 2 K=1,3*NH - XV(3*NPX+K)=U(K)/SU - 2 CONTINUE - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU(XV,C) -C Computation of ordinates of GRP unit hydrograph -C Inputs: -C C: time constant -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C - DOUBLEPRECISION SH - INTEGER I - DO 10 I=1,2*NH - XV(3*NPX+NH+I)=SH(I,C)-SH(I-1,C) - 10 CONTINUE - RETURN - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION SH(I,C) -C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU -C Inputs: -C C: time constant -C I: time-step -C Outputs: -C SH: Values of the S curve for I -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION C - DOUBLEPRECISION SH,FI - INTEGER I - - FI=I - IF(FI.LE.0.)THEN - SH=0. - RETURN - ENDIF - IF(FI.GE.C)THEN - SH=1. - RETURN - ENDIF - SH=FI**2.5/(FI**2.5+(C-FI)**2.5) - RETURN - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS1(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS1: Values of the S curve for I -C********************************************************************** - Implicit None - DOUBLEPRECISION C,D,SS1 - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS1=0. - RETURN - ENDIF - IF(FI.LT.C) THEN - SS1=(FI/C)**D - RETURN - ENDIF - SS1=1. - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS2(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS2: Values of the S curve for I -C********************************************************************** - Implicit None - DOUBLEPRECISION C,D,SS2 - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS2=0. - RETURN - ENDIF - IF(FI.LE.C) THEN - SS2=0.5*(FI/C)**D - RETURN - ENDIF - IF(FI.LT.2.*C) THEN - SS2=1.-0.5*(2.-FI/C)**D - RETURN - ENDIF - SS2=1. - ENDFUNCTION - - - -C********************************************************************** - SUBROUTINE DEL(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,F - INTEGER I,K - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+3*NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE DEL2(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,F - INTEGER K,I - - IF(C.GT.FLOAT(NH)) C=FLOAT(NH) - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION tanHyp(Val) -C Computation of hyperbolic tangent -C********************************************************************** - Implicit None - DOUBLEPRECISION Val,ValExp,tanHyp - - ValExp=EXP(Val) - tanHyp=(ValExp - 1./ValExp)/(ValExp + 1./ValExp) - RETURN - ENDFUNCTION - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/DataExport_ALL.R b/files_misc/airGR_AdvancedExample/MyFunctions/DataExport_ALL.R deleted file mode 100644 index ea6d2d1f57f08770040e8c43ea5227ad97d09dff..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/DataExport_ALL.R +++ /dev/null @@ -1,31 +0,0 @@ - -DataExport_ALL <- function(Qobs,OutputsModel,IndPeriod_Export,ExportFile){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$DatesR" ," is needed for the export \n",sep="")); return(NULL); } - if("Precip" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$Precip" ," is needed for the export \n",sep="")); return(NULL); } - if("PotEvap" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$PotEvap"," is needed for the export \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$Qsim" ," is needed for the export \n",sep="")); return(NULL); } - if(length(Qobs)!=length(OutputsModel$DatesR)){ cat("Error in DataExport: Qobs and OutputsModel must have the same length \n"); return(NULL); } - - MatData <- cbind(OutputsModel$Precip[IndPeriod_Export],OutputsModel$PotEvap[IndPeriod_Export],Qobs[IndPeriod_Export],OutputsModel$Qsim[IndPeriod_Export]); - Headers <- c("Precip","PotEvap","Qobs","Qsim"); - - ListOutputs <- names(OutputsModel); - for(iList in 1:length(ListOutputs)){ - if(ListOutputs[iList] %in% c("StateEnd","DatesR","Qsim","PotEvap","Precip","CemaNeigeLayers") == FALSE ){ - MatData <- cbind(MatData,OutputsModel[[iList]][IndPeriod_Export]); - Headers <- c(Headers,ListOutputs[iList]); - } - } - - MatData[is.na(MatData)] <- -999.999; - - TXT <- cbind(format(OutputsModel$DatesR[IndPeriod_Export],format="%Y%m%d"),formatC(MatData,format="f",width=14,digits=6)); - Headers <- format(Headers,width=14,justify="right"); - colnames(TXT) <- c(" Dates",Headers); - - write.table(file=ExportFile,TXT,sep=";",quote=FALSE,row.names=FALSE,col.names=TRUE); - - -} - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/DataExport_PEQ.R b/files_misc/airGR_AdvancedExample/MyFunctions/DataExport_PEQ.R deleted file mode 100644 index add897a3bcda371263064f28f06f02acf7bac43d..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/DataExport_PEQ.R +++ /dev/null @@ -1,20 +0,0 @@ - -DataExport_PEQ <- function(Qobs,OutputsModel,IndPeriod_Export,ExportFile){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$DatesR" ," is needed for the export \n",sep="")); return(NULL); } - if("Precip" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$Precip" ," is needed for the export \n",sep="")); return(NULL); } - if("PotEvap" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$PotEvap"," is needed for the export \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in DataExport: OutputsModel$Qsim" ," is needed for the export \n",sep="")); return(NULL); } - if(length(Qobs)!=length(OutputsModel$DatesR)){ cat("Error in DataExport: Qobs and OutputsModel must have the same length \n"); return(NULL); } - - MatData <- cbind(OutputsModel$Precip[IndPeriod_Export],OutputsModel$PotEvap[IndPeriod_Export],Qobs[IndPeriod_Export],OutputsModel$Qsim[IndPeriod_Export]); - Headers <- c("Precip[mm]","PotEvap[mm]","Qobs[mm]","Qsim[mm]"); - - MatData[is.na(MatData)] <- -999.999; - - TXT <- cbind(format(OutputsModel$DatesR[IndPeriod_Export],format="%Y%m%d"),formatC(MatData,format="f",width=14,digits=6)); Headers <- format(Headers,width=14,justify="right"); - colnames(TXT) <- c(" Dates",Headers); - - write.table(file=ExportFile,TXT,sep=";",quote=FALSE,row.names=FALSE,col.names=TRUE); - -} diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_CSIRO.R b/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_CSIRO.R deleted file mode 100644 index c74ca20e68e2390bf61f44892cba6cb80fba1cf4..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_CSIRO.R +++ /dev/null @@ -1,84 +0,0 @@ - -DataImport_CSIRO <- function(DIR_DATA_INPUT,BasinCode,BasinCharactFile,HypsoDataFile){ - - ##File_check - DataImportFile <- paste(DIR_DATA_INPUT,BasinCode,"_LAU.csv",sep=""); - FileExists <- file.exists(DataImportFile); if(FileExists==FALSE){ print("Error: DataImportFile not found",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - - ##Object_initialisation - BasinData <- list(); - BasinData$BasinCode <- BasinCode; - - - ##_Basin_Characteristics - Bool <- FALSE; - if(exists("BasinCharactFile")){ FileExists <- file.exists(BasinCharactFile); if(FileExists){ Bool <- TRUE; } } - if(!Bool){ cat("Warning: BasinCharact file not found \n"); } - if( Bool){ - TAB_CHARACT <- read.csv(file=BasinCharactFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - IndBasin <- which(paste("AU",TAB_CHARACT$Gauge,sep="") == BasinCode); - if(length(IndBasin)!=1){ print("Error: Basin not found in BasinInfoFile",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - if(length(IndBasin)==1){ - BasinData$CentreLong_deg <- as.numeric(TAB_CHARACT$centr_long[IndBasin]); - BasinData$CentreLat_deg <- as.numeric(TAB_CHARACT$centr_lat[IndBasin]); - BasinData$BasinArea_km2 <- as.numeric(TAB_CHARACT$GIS.area[IndBasin]); - BasinData$BasinMeanSlope_deg <- as.numeric(TAB_CHARACT$mean_slope_deg[IndBasin]); - BasinData$BasinName <- TAB_CHARACT$Catchment.name[IndBasin]; - for(iChar in 1:nchar(BasinData$BasinName)){ - BasinData$BasinName <- gsub(pattern="^* ",replacement="",BasinData$BasinName); - BasinData$BasinName <- gsub(pattern=" *$",replacement="",BasinData$BasinName); } - } - rm(TAB_CHARACT); } ### memory clear - - - ##Reading_of_all_lines - TAB <- read.csv(DataImportFile,header=TRUE,stringsAsFactors=FALSE) - - ##DataSeries - BasinData$TabDatesR <- as.POSIXlt(strptime(TAB$DatesChro,format="%Y-%m-%d",tz="UTC")); - BasinData$TabObsP <- as.numeric(TAB$VarPtot); - BasinData$TabObsF <- as.numeric(TAB$VarFsol); - BasinData$TabObsTmin <- as.numeric(TAB$VarTmin); - BasinData$TabObsT <- as.numeric(TAB$VarTmoy); - BasinData$TabObsTmax <- as.numeric(TAB$VarTmax); - BasinData$TabObsEmorton <- as.numeric(TAB$VarETP); - BasinData$TabObsEoudin <- as.numeric(TAB$VarETP_Oudin); - BasinData$TabObsQmm <- as.numeric(TAB$VarQmm); - BasinData$TabObsQm3s <- as.numeric(TAB$VarQm3s); - - rm(TAB); ### memory clear - - - ##Missing_values - for(iList in 1:length(BasinData)){ if(is.numeric(BasinData[[iList]])){ - if(names(BasinData)[iList] %in% c("TabObsTmin","TabObsT","TabObsTmax")){ - BasinData[[iList]][ BasinData[[iList]]<(-100) ] <- NA; - } else { - BasinData[[iList]][ BasinData[[iList]]<0 ] <- NA; - } - } } - ##Constant_values - if("TabObsQmm" %in% names(BasinData)){ - if(sd(BasinData$TabObsQmm[!is.na(BasinData$TabObsQmm)])==0){ cat("Error: runoff values are constant \n"); stop("EXECUTION STOPPED",call.=FALSE); } } - - - - ##Hypso_Curve - Bool <- FALSE; - if(exists("HypsoDataFile")){ FileExists <- file.exists(HypsoDataFile); if(FileExists){ Bool <- TRUE; } } - if(Bool){ - TAB_HYPSO <- read.csv2(file=HypsoDataFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - iR <- which(formatC(TAB_HYPSO$CODE,format="d",width=8,flag="0")==BasinData$BasinCode); - iC <- which(colnames(TAB_HYPSO)=="Zmin"):which(colnames(TAB_HYPSO)=="Zmax"); - BasinData$HypsoData <- as.numeric(TAB_HYPSO[iR,iC]); ### min, q01, q02, ... , q98, q99, max - rm(TAB_HYPSO); ### memory clear - } else { - cat("Warning: Hypso file not found \n"); - } - - - ##END - return(BasinData); - -} - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_Irstea2010.R b/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_Irstea2010.R deleted file mode 100644 index a2a2038c1377bbda805b4aa60ba1b6fea92fd9f8..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_Irstea2010.R +++ /dev/null @@ -1,105 +0,0 @@ - -DataImport_Irstea2010 <- function(DIR_DATA_INPUT,BasinCode,BasinCharactFile,HypsoDataFile){ - - - ##File_check - DataImportFile <- paste(DIR_DATA_INPUT,BasinCode,"_BV.txt",sep=""); - FileExists <- file.exists(DataImportFile); if(FileExists==FALSE){ print("Error: DataImportFile not found",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - - ##Object_initialisation - BasinData <- list(); - BasinData$BasinCode <- BasinCode; - - - ##_Basin_Characteristics - ### BasinData$BasinName <- as.character(read.csv2(file=DataImportFile,skip=19,nrows=1,header=FALSE,stringsAsFactors=FALSE)[1,1]); - ### BasinData$BasinArea_km2 <- as.numeric( read.csv2(file=DataImportFile,skip=24,nrows=1,header=FALSE,stringsAsFactors=FALSE)[1,3]); - Bool <- FALSE; - if(exists("BasinCharactFile")){ FileExists <- file.exists(BasinCharactFile); if(FileExists){ Bool <- TRUE; } } - if(!Bool){ cat("Warning: BasinCharact file not found \n"); } - if( Bool){ - TAB_CHARACT <- read.csv2(file=BasinCharactFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - IndBasin <- which(TAB_CHARACT$Code == BasinCode); - if(length(IndBasin)!=1){ print("Error: Basin not found in BasinInfoFile",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - if(length(IndBasin)==1){ - BasinData$StationX_l2e <- as.numeric(TAB_CHARACT$iX_CEM[IndBasin]); - BasinData$StationY_l2e <- as.numeric(TAB_CHARACT$iY_CEM[IndBasin]); - BasinData$StationZ_l2e <- as.numeric(TAB_CHARACT$iZ_CEM[IndBasin]); - BasinData$BasinArea_km2 <- as.numeric(TAB_CHARACT$S_CEM[IndBasin]); - BasinData$BasinName <- TAB_CHARACT$Nom[IndBasin]; - for(iChar in 1:nchar(BasinData$BasinName)){ - BasinData$BasinName <- gsub(pattern="^* ",replacement="",BasinData$BasinName); - BasinData$BasinName <- gsub(pattern=" *$",replacement="",BasinData$BasinName); } - rm(TAB_CHARACT); } ### memory clear - } - - - ##DataSeries - Format <- c("A8","X1","I8","X1","A5","X1","A7","X1","F5.0","X1","F5.0","X1","F5.0","X1","F5.0","X1","F5.0"); - TAB_DATA <- read.fortran(file=DataImportFile,skip=51,header=FALSE,Format); - - BasinData$TabDatesT <- as.character(TAB_DATA[,1]); - BasinData$TabDatesR <- as.POSIXlt(strptime(TAB_DATA[,1],format="%Y%m%d",tz="UTC")); - - BasinData$TabObsQm3s <- TAB_DATA[,2]/1000; ### observed runoff (in m3/s) - BasinData$TabObsQmm <- BasinData$TabObsQm3s*86.4/BasinData$BasinArea_km2; ### observed runoff (in mm/d) - - BasinData$TabObsP <- TAB_DATA[,5]; ### precipitation (catchment average in mm) - BasinData$TabObsF <- TAB_DATA[,6]; ### solid fraction precipitation - BasinData$TabObsT <- TAB_DATA[,7]; ### air temp (catchment average in degre C) - BasinData$TabObsE <- TAB_DATA[,8]; ### potential evap (catchment average in mm/d) - - BasinData$TabObsTmin <- NULL; ### min air temp (catchment average in degre C) - BasinData$TabObsTmax <- NULL; ### max air temp (catchment average in degre C) - - # BasinData$TabObsEou <- TAB_DATA[,8]; ### potential evap oudin (catchment average in mm/d) - # BasinData$TabObsEpm <- TAB_DATA[,9]; ### potential evap penman (catchment average in mm/d) - - # BasinData$TabObsFsafran <- TAB_DATA[,6]; - # USACE_Tmin <- -1.0; USACE_Tmax <- 3.0; - # SolidFraction <- 1- (BasinData$TabObsT - USACE_Tmin)/(USACE_Tmax - USACE_Tmin); - # SolidFraction[BasinData$TabObsT > USACE_Tmax] <- 0; - # SolidFraction[BasinData$TabObsT < USACE_Tmin] <- 1; - # BasinData$TabObsFusace <- SolidFraction; - - rm(TAB_DATA); ### memory clear - - - ##Missing_values - for(iList in 1:length(BasinData)){ if(is.numeric(BasinData[[iList]])){ - if(names(BasinData)[iList] %in% c("TabObsTmin","TabObsT","TabObsTmax")){ - BasinData[[iList]][ BasinData[[iList]]<(-100) ] <- NA; - } else { - BasinData[[iList]][ BasinData[[iList]]<0 ] <- NA; - } - } } - ##Constant_values - if("TabObsQmm" %in% names(BasinData)){ - if(sd(BasinData$TabObsQmm[!is.na(BasinData$TabObsQmm)])==0){ cat("Error: runoff values are constant \n"); stop("EXECUTION STOPPED",call.=FALSE); } } - - - - ##Hypso_Curve - Bool <- FALSE; - if(exists("HypsoDataFile")){ FileExists <- file.exists(HypsoDataFile); if(FileExists){ Bool <- TRUE; } } - if(Bool){ - TAB_HYPSO <- read.csv2(file=HypsoDataFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - iR <- which(formatC(TAB_HYPSO$CODE,format="d",width=8,flag="0")==BasinData$BasinCode); - iC <- which(colnames(TAB_HYPSO)=="Zmin"):which(colnames(TAB_HYPSO)=="Zmax"); - BasinData$HypsoData <- as.numeric(TAB_HYPSO[iR,iC]); ### min, q01, q02, ... , q98, q99, max - rm(TAB_HYPSO); ### memory clear - } else { - cat("Warning: Hypso file not found \n"); - } - - - - ##END - return(BasinData); - -} - - - - - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_MOPEX_DLY.R b/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_MOPEX_DLY.R deleted file mode 100644 index 6bc7f2493bcd453cca5d7051ac93900b0d608664..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_MOPEX_DLY.R +++ /dev/null @@ -1,88 +0,0 @@ - -DataImport_MOPEX_DLY <- function(DIR_DATA_INPUT,BasinCode,BasinCharactFile,HypsoDataFile){ - - - ##File_check - DataImportFile <- paste(DIR_DATA_INPUT,BasinCode,".dly",sep=""); - FileExists <- file.exists(DataImportFile); if(FileExists==FALSE){ print("Error: DataImportFile not found",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - - ##Object_initialisation - BasinData <- list(); - BasinData$BasinCode <- BasinCode; - - - ##_Basin_Characteristics - Bool <- FALSE; - if(exists("BasinCharactFile")){ FileExists <- file.exists(BasinCharactFile); if(FileExists){ Bool <- TRUE; } } - if(!Bool){ cat("Warning: BasinCharact file not found \n"); } - if( Bool){ - TAB_CHARACT <- read.csv2(file=BasinCharactFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - IndBasin <- which(formatC(TAB_CHARACT[,1],format="d",width=8,flag="0") == BasinCode); - if(length(IndBasin)!=1){ print("Error: Basin not found in BasinInfoFile",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - if(length(IndBasin)==1){ - BasinData$StationLong_deg <- as.numeric(TAB_CHARACT[IndBasin, 5]); - BasinData$StationLat_deg <- as.numeric(TAB_CHARACT[IndBasin, 6]); - BasinData$BasinArea_km2 <- as.numeric(TAB_CHARACT[IndBasin,10]); - BasinData$BasinName <- TAB_CHARACT[IndBasin,11]; - for(iChar in 1:nchar(BasinData$BasinName)){ - BasinData$BasinName <- gsub(pattern="^* ",replacement="",BasinData$BasinName); - BasinData$BasinName <- gsub(pattern=" *$",replacement="",BasinData$BasinName); } - } - rm(TAB_CHARACT); } ### memory clear - - - ##DataSeries - Format <- c("A8","F10.0","F10.0","F10.0","F10.0","F10.0"); - TAB_DATA <- read.fortran(file=DataImportFile,skip=0,header=FALSE,Format); - - TabDatesTxt <- TAB_DATA[,1]; TabDatesTxt <- gsub(pattern=" ",replacement="0",TabDatesTxt); - BasinData$TabDatesR <- as.POSIXlt(strptime(TabDatesTxt,format="%Y%m%d",tz="UTC")); - BasinData$TabObsP <- as.numeric(TAB_DATA[,2]); - BasinData$TabObsE0noa <- as.numeric(TAB_DATA[,3]); - BasinData$TabObsQmm <- as.numeric(TAB_DATA[,4]); - BasinData$TabObsTmin <- as.numeric(TAB_DATA[,6]); - BasinData$TabObsTmax <- as.numeric(TAB_DATA[,5]); - - BasinData$TabObsT <- (BasinData$TabObsTmin+BasinData$TabObsTmax)/2; - BasinData$TabObsE0oud <- PEdaily_Oudin(BasinData$TabDatesR$yday+1,BasinData$TabObsT,BasinData$StationLat_deg/(180/pi)); - BasinData$TabObsE <- BasinData$TabObsE0noa; - - rm(TAB_DATA); ### memory clear - - ##Missing_values - for(iList in 1:length(BasinData)){ if(is.numeric(BasinData[[iList]])){ - if(names(BasinData)[iList] %in% c("TabObsTmin","TabObsT","TabObsTmax")){ - BasinData[[iList]][ BasinData[[iList]]<(-100) ] <- NA; - } else { - BasinData[[iList]][ BasinData[[iList]]<0 ] <- NA; - } - } } - ##Constant_values - if("TabObsQmm" %in% names(BasinData)){ - if(sd(BasinData$TabObsQmm[!is.na(BasinData$TabObsQmm)])==0){ cat("Error: runoff values are constant \n"); stop("EXECUTION STOPPED",call.=FALSE); } } - - - - ##Hypso_Curve - Bool <- FALSE; - if(exists("HypsoDataFile")){ FileExists <- file.exists(HypsoDataFile); if(FileExists){ Bool <- TRUE; } } - if(Bool){ - TAB_HYPSO <- read.csv2(file=HypsoDataFile,header=TRUE,skip=0,stringsAsFactors=FALSE); - iR <- which(formatC(TAB_HYPSO$CODE,format="d",width=8,flag="0")==BasinData$BasinCode); - iC <- which(colnames(TAB_HYPSO)=="Zmin"):which(colnames(TAB_HYPSO)=="Zmax"); - BasinData$HypsoData <- as.numeric(TAB_HYPSO[iR,iC]); ### min, q01, q02, ... , q98, q99, max - rm(TAB_HYPSO); ### memory clear - } else { - cat("Warning: Hypso file not found \n"); - } - - - - ##END - return(BasinData); - -} - - - - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_TutorialExamples.R b/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_TutorialExamples.R deleted file mode 100644 index ea13f5fb8acf732c43cd2c8e3b5abde29cbe83d4..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/DataImport_TutorialExamples.R +++ /dev/null @@ -1,63 +0,0 @@ - -DataImport_TutorialExamples <- function(DIR_DATA_INPUT,BasinCode,BasinCharactFile,HypsoDataFile){ - - - ##File_check - DataImportFile <- paste(DIR_DATA_INPUT,BasinCode,".txt",sep=""); - FileExists <- file.exists(DataImportFile); if(FileExists==FALSE){ print("Error: DataImportFile not found",quote=FALSE); stop("EXECUTION STOPPED",call.=FALSE); } - - ##Object_initialisation - BasinData <- list(); - BasinData$BasinCode <- BasinCode; - - ##Basin_Name_and_Surf - Lines <- read.table(file=DataImportFile,skip=1,header=FALSE,nrow=3,sep=";",comment.char="",stringsAsFactors=FALSE); - Name <- as.character(Lines[2,2]); Name <- gsub(pattern="^*[ ]",replacement="",Name); Name <- gsub(pattern="[ ]*$",replacement="",Name); # remove leading and trailing white space - BasinData$BasinName <- Name; - BasinData$BasinArea_km2 <- as.numeric(Lines[3,2]); - - ##DataSeries - TAB_DATA <- read.table(file=DataImportFile,sep=";",header=TRUE,comment.char="#",stringsAsFactors=FALSE); - - BasinData$TabDatesT <- as.character(TAB_DATA[,1]); - BasinData$TabDatesR <- as.POSIXlt(strptime(TAB_DATA[,1],format="%Y%m%d",tz="UTC")); - - BasinData$TabObsQm3s <- TAB_DATA[,2]/1000; ### observed runoff (in m3/s) - BasinData$TabObsQmm <- TAB_DATA[,3]; ### observed runoff (in mm/d) - - BasinData$TabObsP <- TAB_DATA[,4]; ### precipitation (catchment average in mm) - BasinData$TabObsT <- TAB_DATA[,5]; ### air temp (catchment average in degre C) - BasinData$TabObsE <- TAB_DATA[,6]; ### potential evap (catchment average in mm/d) - BasinData$TabObsTmin <- NULL; ### min air temp (catchment average in degre C) - BasinData$TabObsTmax <- NULL; ### max air temp (catchment average in degre C) - - rm(TAB_DATA); ### memory clear - - ##Missing_values - BasinData$TabObsQm3s[BasinData$TabObsQm3s<0] <- NA; - BasinData$TabObsQmm[BasinData$TabObsQmm<0] <- NA; - BasinData$TabObsP[BasinData$TabObsP<0] <- NA; - BasinData$TabObsF[BasinData$TabObsF<0] <- NA; - BasinData$TabObsT[BasinData$TabObsT<(-100)] <- NA; - BasinData$TabObsE[BasinData$TabObsE<0] <- NA; - - ##Missing_values - if("TabObsQmm" %in% names(BasinData)){ - if(sd(BasinData$TabObsQmm[!is.na(BasinData$TabObsQmm)])==0){ cat("Error: runoff values are constant \n"); stop("EXECUTION STOPPED",call.=FALSE); } } - - - ##Hypso_Curve - FileExists <- file.exists(HypsoDataFile); if(FileExists==FALSE){ cat("Error: Hypso file not found "); stop("EXECUTION STOPPED",call.=FALSE); } - TAB_HYPSO <- read.table(file=HypsoDataFile,header=TRUE,stringsAsFactors=FALSE); - iR <- which(TAB_HYPSO$CODE==BasinData$BasinCode); - iC <- which(colnames(TAB_HYPSO)=="Zmin"):which(colnames(TAB_HYPSO)=="Zmax"); - BasinData$HypsoData <- as.numeric(TAB_HYPSO[iR,iC]); ### min, q01, q02, ... , q98, q99, max - rm(TAB_HYPSO); ### memory clear - - - ##END - return(BasinData); - -} - - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/SeriesAveraging_D.R b/files_misc/airGR_AdvancedExample/MyFunctions/SeriesAveraging_D.R deleted file mode 100644 index 10ad41444ddad62fed793c5d3d028c52288560ff..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/SeriesAveraging_D.R +++ /dev/null @@ -1,30 +0,0 @@ -#***************************************************************************************************************** -#' Function for data averaging used to prepare model inputs for initialising -#' -#' The time series provided is averaged to create an average year, i.e. interannual daily mean values. \cr -#' This average year is then repeated a number of time to build an artificial series (ex. 5-10 years long) -#' which can be used to initialize the hydrological model. -#***************************************************************************************************************** -#' @title SeriesAveraging_D -#' @author Laurent Coron (December 2013) -#' @export -#' @param TabObsDates series of dates at the daily time step (format must be R dates, POSIXct or POSIXlt) -#' @param InputSeries input series to be averaged at the daily time step -#' @param NBY number of years for the output series (i.e. number of times the average year is repeated) -#' @return Averaged input series repeated NBY times -#***************************************************************************************************************** -SeriesAveraging_D <- function(TabObsDates,InputSeries,NBY){ - - - ##We_compute_an_average_year - Input_DATA <- as.matrix(InputSeries) - Inputs_MOY <- as.matrix(aggregate(Input_DATA,by=list(as.numeric(format(TabObsDates,format="%m%d"))),FUN=mean,na.rm=F)[,2:(ncol(Input_DATA)+1)]); - - ##We_repeat_this_year_as_many_times_as_requested - OutputSeries <- Inputs_MOY; - if(NBY>1){ for(iii in 1:(NBY-1)){ OutputSeries <- rbind(OutputSeries,Inputs_MOY); } } - - - return(OutputSeries); - -} \ No newline at end of file diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotPDF_LongTS_PEQ.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotPDF_LongTS_PEQ.R deleted file mode 100644 index e14eb26ab3159e0c1fe78057afde238008ff4bd8..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotPDF_LongTS_PEQ.R +++ /dev/null @@ -1,294 +0,0 @@ - -plotPDF_LongTS_PEQ <- function(TabDatesR,TabObsPrecip,TabObsPotEvap,TabObsQmm,TabSimQmm,DatesR_PlotB,DatesR_PlotE,FormatExportFile,PlotHeader,CreatePDF,ExportFile){ - - BOOL_Precip <- length(TabObsPrecip)!=0; - BOOL_ObsQmm <- length(TabObsQmm)!=0; - BOOL_SimQmm <- length(TabSimQmm)!=0; - BOOL_PotEvap <- length(TabObsPotEvap)!=0; - - ################################################################################ - ##Dates de début et fin - TimeStep <- difftime(TabDatesR[2],TabDatesR[1],units="secs")[[1]]; - DateBSelec <- DatesR_PlotB; - DateESelec <- DatesR_PlotE; - DateBGraph <- as.POSIXlt(strptime(paste("01/01/",as.character(DateBSelec$year+1900 ),sep=""),format="%d/%m/%Y",tz="UTC")) - if(DateESelec$mday==01 & DateESelec$mon==00){ K <- 0; } else { K <- 1; } - DateEGraph <- as.POSIXlt(strptime(paste("01/01/",as.character(DateESelec$year+1900+K),sep=""),format="%d/%m/%Y",tz="UTC")) - - NbYears <- DateEGraph$year-DateBGraph$year+1; - - - ##Vecteurs de chroniques et dates - DatesGraph <- as.POSIXlt(seq(from=DateBGraph,to=DateEGraph,by=TimeStep),tz="UTC"); - DatesChron <- TabDatesR; - - if( DatesChron[1] <= DatesGraph[1] ){ IndChron_B <- which(DatesChron==DatesGraph[1]); IndGraph_B <- 1; } - if( DatesChron[1] > DatesGraph[1] ){ IndChron_B <- 1; IndGraph_B <- which(DatesGraph==DatesChron[1]); } - - if( tail(DatesChron,1) >= tail(DatesGraph,1) ){ IndChron_E <- which(DatesChron==tail(DatesGraph,1)); IndGraph_E <- length(DatesGraph); } - if( tail(DatesChron,1) < tail(DatesGraph,1) ){ IndChron_E <- length(DatesChron); IndGraph_E <- which(DatesGraph==tail(DatesChron,1)); } - - ChronLabel <- NULL; ChronUnit <- NULL; - NbChron <- sum(BOOL_Precip,BOOL_PotEvap,BOOL_ObsQmm,BOOL_SimQmm); - LengthGraph <- length(DatesGraph); - ChronGraph <- matrix(NA,nrow=LengthGraph,ncol=NbChron); - ID <- 0; - if(BOOL_Precip ){ ID <- ID+1; ChronLabel[ID] <- "Precip" ; ChronUnit[ID]="[mm/d]"; ChronGraph[IndGraph_B:IndGraph_E,ID] <- TabObsPrecip[IndChron_B:IndChron_E]; } - if(BOOL_ObsQmm ){ ID <- ID+1; ChronLabel[ID] <- "Qobs" ; ChronUnit[ID]="[mm/d]"; ChronGraph[IndGraph_B:IndGraph_E,ID] <- TabObsQmm[IndChron_B:IndChron_E]; } - if(BOOL_SimQmm ){ ID <- ID+1; ChronLabel[ID] <- "Qsim" ; ChronUnit[ID]="[mm/d]"; ChronGraph[IndGraph_B:IndGraph_E,ID] <- TabSimQmm[IndChron_B:IndChron_E]; } - if(BOOL_PotEvap){ ID <- ID+1; ChronLabel[ID] <- "PotEvap"; ChronUnit[ID]="[mm/d]"; ChronGraph[IndGraph_B:IndGraph_E,ID] <- TabObsPotEvap[IndChron_B:IndChron_E]; } - - - ##GapIndicator and ZeroIndicator - ComputeDataIndicator <- function(MyData,DataType){ - ##initialisation - Indicator <- rep(1,length(MyData)); - ##All missing values are identified - Indicator[!(MyData %in% DataType)] <- NA; - ##We check all the values to have an optimized gap indicator - for(j in 2:(length(MyData)-1)){ - ##If the value is missing but isolated (between available values), we set a neighbouring value as missing to ensure a line segment will be plot - if(identical(MyData[j],DataType) && !identical(MyData[j-1],DataType) && !identical(MyData[j+1],DataType)){ Indicator[j-1]=1; } - ##If the value is missing but located between other missing values, we set the Gap indicator to a negative value which will not be plotted - ##but will ensire a continuous line between the last and the next missing values - if(identical(MyData[j],DataType) && identical(MyData[j-1],DataType) && identical(MyData[j+1],DataType)){ Indicator[j]=(-100); } - } - return(Indicator); - } - - GapIndicator <- matrix(NA,nrow=LengthGraph,ncol=NbChron); for(ID in 1:NbChron){ GapIndicator[,ID] <- ComputeDataIndicator(ChronGraph[,ID],NA); } - ZeroIndicator <- matrix(NA,nrow=LengthGraph,ncol=NbChron); for(ID in 1:NbChron){ ZeroIndicator[,ID] <- ComputeDataIndicator(ChronGraph[,ID], 0); } - - SelecIndicator <- rep(NA,LengthGraph); - TMP1 <- 1; TMP2 <- which(DatesGraph==DateBSelec); if(TMP2!=TMP1){ SelecIndicator[TMP1:TMP2] <- (-100); SelecIndicator[c(TMP1,TMP2)] <- 1; } - TMP1 <- which(DatesGraph==DateESelec); TMP2 <- LengthGraph; if(TMP2!=TMP1){ SelecIndicator[TMP1:TMP2] <- (-100); SelecIndicator[c(TMP1,TMP2)] <- 1; } - - - ################################################################################ - - ######################################################## - ##Mise en page générale - NumGraph=NULL; SizeGraph=NULL; CurveType=NULL; CurveColour=NULL; InversionAxisY=NULL; ScaleAxisY=NULL; - ID=0; IP=0; - if(BOOL_Precip ){ ID=ID+1; IP=IP+1; NumGraph[ID]=IP; SizeGraph[ID]= 8; CurveType[ID]="h"; CurveColour[ID]="royalblue" ; InversionAxisY[ID]=TRUE ; ScaleAxisY[ID]="c(0,max(ChronGraph[,ID],na.rm=TRUE))"; } - if(BOOL_ObsQmm ){ ID=ID+1; IP=IP+1; NumGraph[ID]=IP; SizeGraph[ID]=20; CurveType[ID]="l"; CurveColour[ID]="black" ; InversionAxisY[ID]=FALSE; ScaleAxisY[ID]="c(-0.05*max(ChronGraph[,ID],na.rm=TRUE),max(ChronGraph[,ID],na.rm=TRUE))"; } - if(BOOL_SimQmm ){ ID=ID+1; IP=IP+0; NumGraph[ID]=IP; SizeGraph[ID]=20; CurveType[ID]="l"; CurveColour[ID]="red" ; InversionAxisY[ID]=FALSE; ScaleAxisY[ID]="c(-0.05*max(ChronGraph[,ID],na.rm=TRUE),max(ChronGraph[,ID],na.rm=TRUE))"; } - if(BOOL_PotEvap){ ID=ID+1; IP=IP+1; NumGraph[ID]=IP; SizeGraph[ID]= 8; CurveType[ID]="l"; CurveColour[ID]="chartreuse4"; InversionAxisY[ID]=FALSE; ScaleAxisY[ID]="c(min(ChronGraph[,ID],na.rm=TRUE),max(ChronGraph[,ID],na.rm=TRUE))"; } - - GapColour=rep("red",NbChron); - ZeroColour=rep("forestgreen",NbChron); ZeroColour[ChronLabel=="Precip" | ChronLabel=="PotEvap"]=NA; - - YearHeight=4; YearWidth=10; iAxe <- 1; - NbGraphs=max(NumGraph[1:NbChron]) - marVide=c(0,0,0,0) - ##On specifie le fichier export et sa taille - if(FormatExportFile=="variable"){ - width=min(200,-6.05+YearWidth*NbYears) - height=1+YearHeight*NbGraphs - paper="special" - cex1=1.8 - cex2=1.4 - pV=1 ##proportion relative des espace entre les graphs - marGraph =c( 0.0,15.0, 0.0,15.0) - marLacune=c( 2.5,15.0, 0.0,15.0) - } else if(FormatExportFile=="a4"){ - width=67 - height=101 - paper="a4" - cex1=1.0 - cex2=0.7 - pV=2 ##proportion relative des espace entre les graphs - marGraph =c( 0.0, 9.0, 0.0, 9.0) - marLacune=c( 1.0, 9.0, 0.0, 9.0) - } else if(FormatExportFile=="a4r"){ - width=101 - height=67 - paper="a4r" - cex1=1.0 - cex2=0.7 - pV=2 ##proportion relative des espace entre les graphs - marGraph =c( 0.0, 9.0, 0.0, 9.0) - marLacune=c( 0.5, 9.0, 0.0, 9.0) - } - if(CreatePDF==FALSE){ - cex1=1.0 - cex2=0.7 - pV=2 ##proportion relative des espace entre les graphs - marGraph =c( 0.0, 9.0, 0.0, 9.0) - marLacune=c( 0.5, 9.0, 0.0, 9.0) } - if(CreatePDF){ pdf(file=ExportFile,paper=paper,width=width,height=height); } - - - ######################################################## - ##On determine la proportion relative des graphs à tracer - SizeGraph2=rep(0,NbChron) - for(ID in 1:NbChron){ - for(iGraph in 1:NbGraphs){ - if(NumGraph[ID]==iGraph){ SizeGraph2[iGraph]=max(SizeGraph2[iGraph],SizeGraph[ID]) } } } - SizeGraph3=round(SizeGraph2[1:NbGraphs]/sum(SizeGraph2[1:NbGraphs])*7*NbGraphs) - pL=1 ##proportion fixe que représente l''indicateur de Lacunes - pG=SizeGraph3-pL ##proportion relative que représente le Graph - if(NbGraphs==1){ mplot=matrix(c(rep( 1,pV),rep( 2,pG[1]),rep( 3,pL),rep( 4,pV) ),byrow=T)} - if(NbGraphs==2){ mplot=matrix(c(rep( 1,pV),rep( 2,pG[1]),rep( 3,pL),rep( 4,pV),rep( 5,pG[2]),rep( 6,pL),rep( 7,pV) ),byrow=T)} - if(NbGraphs==3){ mplot=matrix(c(rep( 1,pV),rep( 2,pG[1]),rep( 3,pL),rep( 4,pV),rep( 5,pG[2]),rep( 6,pL),rep( 7,pV), - rep( 8,pG[3]),rep( 9,pL),rep( 10,pV)),byrow=T)} - if(NbGraphs==4){ mplot=matrix(c(rep( 1,pV),rep( 2,pG[1]),rep( 3,pL),rep( 4,pV),rep( 5,pG[2]),rep( 6,pL),rep(7,pV), - rep( 8,pG[3]),rep( 9,pL),rep(10,pV),rep(11,pG[4]),rep(12,pL),rep(13,pV) ),byrow=T)} - if(NbGraphs==5){ mplot=matrix(c(rep( 1,pV),rep( 2,pG[1]),rep( 3,pL),rep( 4,pV),rep( 5,pG[2]),rep( 6,pL),rep( 7,pV), - rep( 8,pG[3]),rep( 9,pL),rep(10,pV),rep(11,pG[4]),rep(12,pL),rep(13,pV),rep(14,pG[5]),rep(15,pL),rep(16,pV) ),byrow=T)} - layout(mplot) - ##On definie divers liste des dates - SeqDate1=seq(DateBGraph,DateEGraph,"months") - SeqDate2=seq(DateBGraph,DateEGraph,"3 months") - SeqDate3=seq(DateBGraph,DateEGraph,"2 years"); if(length(SeqDate3)==1){ SeqDate3 <- seq(DatesGraph[length(DatesGraph)%/%2],DatesGraph[length(DatesGraph)%/%2],"months"); } - - - ##Options de mise en page générales - par(family="serif",las=1,xaxs="i", yaxs="i") - - - - ######################################################## - ##Tracage des chroniques (Boucle sur les graphs) - for(iGraph in 1:NbGraphs){ - ######################################### - ##Graph permettant d''assurer l''espacement - par(new=FALSE,mar=marVide) - plot(0,0,type="n",xaxt="n",yaxt="n",xlab="",ylab="",bty="n") ##Creation d''un graphique vide - ######################################### - ##On fait la liste du (des) indices de chroniques à tracer dans la graph en cours (iGraph) - PlottingList=NULL - for(ID in 1:NbChron){ - if(NumGraph[ID]==iGraph){ PlottingList[length(PlottingList)+1]=ID } } - ######################################### - ##Premier(s) graph(s) contenant(s) les chroniques - nScale=max(3,round(SizeGraph3[iGraph]/2)) - xlim=seq(DateBGraph,DateEGraph,length.out=2) - ################## - ##Determination du ylim commmun à toutes les chroniques tracées sur le graph en cours - ##Initialisation - ylim_0=c(+1e50,-1e50) - ylim_1=ylim_0 ; ylim_2=ylim_0 - ##Boucle - for(ii in 1:length(PlottingList)){ - ID=PlottingList[ii] - if((sum(is.na(ChronGraph[,ID]))-length(ChronGraph[,ID]))!=0){ ##S''il y a des données - ID_ylim=eval(parse(text=ScaleAxisY[ID])) - if(InversionAxisY[ID]==FALSE){ ylim_1[1]=min(ylim_1[1],ID_ylim[1]) ; ylim_1[2]=max(ylim_1[2],ID_ylim[2]) } - if(InversionAxisY[ID]==TRUE ){ ylim_2[1]=min(ylim_2[1],ID_ylim[1]) ; ylim_2[2]=max(ylim_2[2],ID_ylim[2]) } - } } - if(ylim_1[1]==ylim_0[1] && ylim_1[2]==ylim_0[2]){ ylim_1=c(0,10)} ##S''il n''y a aucune données - if(ylim_2[1]==ylim_0[1] && ylim_2[2]==ylim_0[2]){ ylim_2=c(0,10)} ##S''il n''y a aucune données - ylim_2=c(ylim_2[2],ylim_2[1]) ##On retourne ylim_2 - ##Tests sur le nombre de courbes d''axe inversé - if(sum(InversionAxisY[PlottingList])==length(PlottingList)){ ylim_1=ylim_2 } ##toutes les courbes - if(sum(InversionAxisY[PlottingList])==0 ){ ylim_2=ylim_1 } ##aucune courbe - ################## - ##Boucle sur les chroniques à tracer sur le graph en cours - par(new=FALSE,mar=marGraph) - plot(0,0,type="n",xaxt="n",yaxt="n",xlab="",ylab="",bty="n",xlim=xlim,ylim=ylim_1) ##Creation d''un graphique vide - ################## - ##Tracage de la grille et des echelles X - if(FormatExportFile=="variable" & CreatePDF){ for(ab in 1:length(SeqDate1)) { abline(v=SeqDate1[ab],lty="dotted",col=grey(0.6)); } } - for(ab in 1:length(SeqDate2)) { if((ab-iAxe)%%4==0){ abline(v=SeqDate2[ab],lty="solid",col=grey(0.6)); } } - ################## - Counter <- 1; - for(ii in 1:length(PlottingList)){ - ID=PlottingList[ii] - ##Inversion de l''axe - if(InversionAxisY[ID]==TRUE ){ ylim=ylim_2 ; sideY=4; } - if(InversionAxisY[ID]==FALSE){ ylim=ylim_1 ; sideY=2; } - ##On trace le graph - Bool=FALSE; - if(ii==1){ Bool=TRUE; } - if(ii>1 ){ if(InversionAxisY[PlottingList[ii]]!=InversionAxisY[PlottingList[ii-1]]){ Bool=TRUE; } } - if(Bool==TRUE){ - par(new=TRUE,mar=marGraph); - plot(DatesGraph,ChronGraph[,ID],bty="n",type=CurveType[ID],col=CurveColour[ID],xaxt="n",yaxt="n",xlab="",ylab="",xlim=xlim,ylim=ylim); - } else { - lines(DatesGraph,ChronGraph[,ID],type=CurveType[ID],col=CurveColour[ID],lend=1); - } -# ##Labels -# line=3.0+ii*2.0 -# mtext(paste(ChronLabel[ID],ChronUnit[ID],sep=" "),side=2,col=CurveColour[ID],line=line,las=0,cex=cex2) -# mtext(paste(ChronLabel[ID],ChronUnit[ID],sep=" "),side=4,col=CurveColour[ID],line=line,las=0,cex=cex2) -# ##Axe Y -# axis(side=sideY,at=pretty(ylim,n=nScale),cex.axis=cex1,col=CurveColour[ID],col.axis=CurveColour[ID]) -# - ##Labels_and_Axis - if(ii>1){ if(InversionAxisY[PlottingList[ii-1]]==InversionAxisY[PlottingList[ii]]){ Counter <- Counter+1; } } - line1=1.0+(Counter-1)*6.0 - line2=4.5+(Counter-1)*6.0 - axis(side=sideY,at=pretty(ylim,n=nScale),cex.axis=cex1,col=CurveColour[ID],col.axis=CurveColour[ID],line=line1) - mtext(paste(ChronLabel[ID],ChronUnit[ID],sep=" "),side=sideY,col=CurveColour[ID],las=0,cex=cex2,line=line2) - - for(cd in 1:length(pretty(ylim,n=nScale))){ abline(h=pretty(ylim,n=nScale)[cd],lty="dotted",col=CurveColour[ID]); } - - } ##boucle for(ii) - box(); - ################## - ##Tracage de l''entete - if(iGraph==1){ - if(FormatExportFile=="variable" | CreatePDF==FALSE){ - if(length(SeqDate3)>1){ axis(side=3,at=SeqDate3[2:(length(SeqDate3)-1)],labels=rep(PlotHeader,(length(SeqDate3)-2)),tick=FALSE,outer=TRUE,cex.axis=cex1,line=-3.5); - } else { axis(side=3,at=SeqDate3,labels=PlotHeader,tick=FALSE,outer=TRUE,cex.axis=cex1,line=-3.5); } - } else if(FormatExportFile=="a4" | FormatExportFile=="a4r"){ - mtext(PlotHeader,side=3,cex=cex1,line=+2); } - } - - - ######################################### - ##Second(s) graph(s) contenant(s) les indicateurs de lacunes - par(new=FALSE,mar=marLacune) - plot(0,0,type="n",xaxt="n",yaxt="n",xlab="",ylab="",bty="n",xlim=xlim,ylim=c(0,2)) ##Creation d''un graphique vide - ################## - ##Tracage de la grille et des echelles - if(FormatExportFile=="variable"){ for(ab in 1:length(SeqDate1)){ abline(v=SeqDate1[ab],lty="dotted",col=grey(0.6)); } } - for(ab in 1:length(SeqDate2)){ if((ab-iAxe)%%4==0){ abline(v=SeqDate2[ab],lty="solid",col=grey(0.6)); } } - axis(side=1,at=SeqDate2,labels=strftime(as.POSIXlt(SeqDate2),"%m/%Y"),cex.axis=cex1) - ################## - ##Boucle sur les chroniques à tracer sur le graph en cours - for(ii in 1:length(PlottingList)){ - ID=PlottingList[ii] - ##On trace le graph - lines(DatesGraph[GapIndicator[,ID]>0],GapIndicator[GapIndicator[,ID]>0,ID],type="l",col=GapColour[ID],lwd=4.2,lend=0); - lines(DatesGraph[ZeroIndicator[,ID]>0],ZeroIndicator[ZeroIndicator[,ID]>0,ID],type="l",col=ZeroColour[ID],lwd=4.2,lend=0); - lines(DatesGraph[SelecIndicator>0],SelecIndicator[SelecIndicator>0],type="l",col=grey(0.8),lwd=7,lend=1); - } ##boucle for(ID) - box(); - ######################################### - } - ######################################### - ##Dernier graph vide tout en bas - par(new=FALSE,mar=marVide) - plot(0,0,type="n",xaxt="n",yaxt="n",xlab="",ylab="",bty="n") ##Creation d''un graphique vide - ######################################### - ##Fin de la boucle sur les graphs iGraph - - - ############################################################################## - if(CreatePDF){ dev.off(); } - - -} - - - - -###Example -# TabDatesR <- BasinData$TabDatesR[IndPeriod_Run] -# TabObsPrecip <- BasinData$TabObsP[IndPeriod_Run] -# TabObsPotEvap <- BasinData$TabObsE[IndPeriod_Run] -# TabObsQmm <- BasinData$TabObsQmm[IndPeriod_Run] -# TabSimQmm <- OutputsModel$Qsim; -# DatesR_PlotB <- as.POSIXlt(strptime("01/01/1900",format="%d/%m/%Y",tz="UTC")) -# DatesR_PlotE <- as.POSIXlt(strptime("01/01/2020",format="%d/%m/%Y",tz="UTC")) -# IndPeriod_Plot <- 45:(5.4*365); -# FormatExportFile <- "variable" -# PlotHeader=paste(BasinData$BasinCode," - ",BasinData$BasinName,sep="") -# CreatePDF <- TRUE; -# ExportFile = "TEMP_LONG_PLOT.pdf" -# DataPDFPlot_LongTS_PEQ(TabDatesR,TabObsPrecip,TabObsPotEvap,TabObsQmm,TabSimQmm,DatesR_PlotB,DatesR_PlotE,FormatExportFile,PlotHeader,CreatePDF,ExportFile) -# - - \ No newline at end of file diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeD_PQ.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeD_PQ.R deleted file mode 100644 index d9c0ad31ed78ae1f1bca29e105e4aae70dbd41a8..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeD_PQ.R +++ /dev/null @@ -1,47 +0,0 @@ - -plotScreen_RegimeD_PQ <- function(OutputsModel,TabObsQmm,IndPeriod_Run,IndPeriod_Plot){ - - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,1,5)); - cexaxis <- 1.1; cexlab <- 1.3; - - MatData <- cbind(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot],OutputsModel$Precip[IndPeriod_Plot]); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR[IndPeriod_Plot],format="%m%d"))),FUN=mean,na.rm=T)); - colnames(AggregData) <- c("AggregDates","Qobs","Qsim","Precip"); - - TmpDates <- formatC(AggregData$AggregDates,format="d",width=4,flag="0"); - xLabels <- paste(substr(TmpDates,3,4),"/",substr(TmpDates,1,2),sep="") - Seq <- 1:nrow(AggregData); - # SeqLab <- pretty(Seq,n=7); SeqLab[SeqLab==0] <- 1; SeqLab <- SeqLab[SeqLab<=366]; - SeqLab <- Seq[substr(xLabels,1,2)=="01"] - ylab1 <- "discharge [mm/d] "; - ylab2 <- " precip [mm/d]"; - - par(new=FALSE); - ylim1 <- range(AggregData$Precip[Seq],na.rm=TRUE); ylim2 <- c(ylim1[1],2*ylim1[2]); ylim2 <- rev(ylim2); - plot(AggregData$Precip[Seq],type="h",lwd=1,lend=2,ylim=ylim2,col="royalblue",xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i") - axis(side=4,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - mtext(side=4,ylab2,line=3,cex=cexlab) - - par(new=TRUE); - ylim1 <- range(AggregData$Qobs[Seq],na.rm=TRUE); ylim2 <- c(ylim1[1],1.4*ylim1[2]); - # ylim1 <- range(c(AggregData$Qobs[Seq],AggregData$Qsim[Seq]),na.rm=TRUE); ylim2 <- c(ylim1[1],1.4*ylim1[2]); - plot(Seq,AggregData$Qobs[Seq],type="l",xlim=range(Seq),ylim=ylim2,lwd=1.3,lty=1,col="black",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",cex.lab=cexlab,cex.axis=cexaxis) - lines(Seq,AggregData$Qsim[Seq],lwd=1.3,lty=1,col="orangered") - axis(side=1,at=SeqLab,labels=xLabels[SeqLab],cex.axis=cexaxis) - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=1.1) - mtext(side=2,ylab1,line=3,cex=cexlab) - - legend("bottomleft",c("Qobs","Qsim","Precip"),col=c("black","orangered","royalblue"),lty=c(1,1,1),lwd=c(2,2,2),bty="o",bg=NA,cex=0.8) - - - - -} - - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeM_PNQ.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeM_PNQ.R deleted file mode 100644 index 83138ca55d2bbd1df27d016109ba1a52b6ab7480..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeM_PNQ.R +++ /dev/null @@ -1,60 +0,0 @@ - -plotScreen_RegimeM_PNQ <- function(OutputsModel,TabObsQmm,TabObsPsol,IndPeriod_Run,IndPeriod_Plot){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if("CemaNeigeLayers" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$CemaNeigeLayers"," are needed for the plot \n",sep="")); return(NULL); } - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - if(length(TabObsPsol[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsPsol[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - TimeStep <- difftime(tail(OutputsModel$DatesR,1),tail(OutputsModel$DatesR,2),units="secs")[[1]]; - - MyRollMean1 <- function(x,n){ - return(filter(x,rep(1/n,n),sides=2)); } - MyRollMean2 <- function(x,n){ - return(filter(c(tail(x,n%/%2),x,x[1:(n%/%2)]),rep(1/n,n),sides=2)[(n%/%2+1):(length(x)+n%/%2)]); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,1,5)); - cexaxis <- 1.1; cexlab <- 1.3; - - MatData <- cbind(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot],OutputsModel$Precip[IndPeriod_Plot],TabObsPsol[IndPeriod_Run][IndPeriod_Plot]); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR[IndPeriod_Plot],format="%m%d"))),FUN=mean,na.rm=T)); - colnames(AggregData) <- c("AggregDates","Qobs","Qsim","Precip","Psol"); - - Window <- 31*(24*60*60/TimeStep); - AggregData2 <- as.data.frame(cbind(AggregData$AggregDates, MyRollMean2(AggregData$Qobs,Window), MyRollMean2(AggregData$Qsim,Window), MyRollMean2(AggregData$Precip,Window))); - colnames(AggregData2) <- colnames(AggregData); - AggregData <- AggregData2; - - TmpDates <- formatC(AggregData$AggregDates,format="d",width=4,flag="0"); - xLabels <- paste(substr(TmpDates,3,4),"/",substr(TmpDates,1,2),sep="") - Seq <- 1:nrow(AggregData); - # SeqLab <- pretty(Seq,n=7); SeqLab[SeqLab==0] <- 1; SeqLab <- SeqLab[SeqLab<=366]; - SeqLab <- Seq[substr(xLabels,1,2)=="01"] - ylab1 <- "discharge [mm/d] "; - ylab2 <- " precip [mm/d]"; - - par(new=FALSE); - ylim1 <- range(AggregData$Precip[Seq],na.rm=TRUE); ylim2 <- c(ylim1[1],2*ylim1[2]); ylim2 <- rev(ylim2); - plot(0,0,type="n",xlim=range(Seq),ylim=ylim2,xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i",bty="n") - axis(side=4,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - mtext(side=4,ylab2,line=3,cex=cexlab) - polygon(x=c(Seq,rev(Seq)),y=c(AggregData$Precip[Seq],rep(0,length(Seq))),lwd=1.3,border="royalblue",col=rgb(215/255,235/255,255/255)) - polygon(x=c(Seq,rev(Seq)),y=c(AggregData$Psol[Seq],rep(0,length(Seq))),lwd=1.3,border="goldenrod3",col="gold") - - par(new=TRUE); -# ylim1 <- range(AggregData$Qobs[Seq],na.rm=TRUE); ylim2 <- c(ylim1[1],1.4*ylim1[2]); - ylim1 <- range(c(AggregData$Qobs[Seq],AggregData$Qsim[Seq]),na.rm=TRUE); ylim2 <- c(ylim1[1],1.4*ylim1[2]); - plot(Seq,AggregData$Qobs[Seq],type="l",xlim=range(Seq),ylim=ylim2,lwd=1.3,lty=1,col="black",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",cex.lab=cexlab,cex.axis=cexaxis) - lines(Seq,AggregData$Qsim[Seq],lwd=1.3,lty=1,col="orangered") - axis(side=1,at=SeqLab,labels=xLabels[SeqLab],cex.axis=cexaxis) - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=1.1) - mtext(side=2,ylab1,line=3,cex=cexlab) - - ### legend("bottomleft",title=" 31-days moving-average ",c("Qobs ","Qsim","Precip"),lty=c(1,1,NA),lwd=c(2,2,2),pch=c(NA,NA,22),pt.cex=c(NA,NA,2),pt.bg=c(NA,NA,rgb(215/255,235/255,255/255)),col=c("black","orangered","royalblue"),bty="o",bg=NA,cex=0.8) - legend("bottomleft",title=" 31-days moving-average ",c("Qobs ","Qsim","Precip"),lty=c(1,1,1),lwd=c(2,2,2),col=c("black","orangered","royalblue"),bty="o",bg=NA,cex=0.8) - - - -} diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeM_PQ.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeM_PQ.R deleted file mode 100644 index 9e1c588014b6348f3723fa58980e0d828777a2c7..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_RegimeM_PQ.R +++ /dev/null @@ -1,57 +0,0 @@ - -plotScreen_RegimeM_PQ <- function(OutputsModel,TabObsQmm,IndPeriod_Run,IndPeriod_Plot){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - TimeStep <- difftime(tail(OutputsModel$DatesR,1),tail(OutputsModel$DatesR,2),units="secs")[[1]]; - - MyRollMean1 <- function(x,n){ - return(filter(x,rep(1/n,n),sides=2)); } - MyRollMean2 <- function(x,n){ - return(filter(c(tail(x,n%/%2),x,x[1:(n%/%2)]),rep(1/n,n),sides=2)[(n%/%2+1):(length(x)+n%/%2)]); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,1,5)); - cexaxis <- 1.1; cexlab <- 1.3; - - MatData <- cbind(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot],OutputsModel$Precip[IndPeriod_Plot]); - AggregData <- as.data.frame(aggregate(MatData,by=list(as.numeric(format(OutputsModel$DatesR[IndPeriod_Plot],format="%m%d%H%M%S"))),FUN=mean,na.rm=T)); - colnames(AggregData) <- c("AggregDates","Qobs","Qsim","Precip"); - - Window <- 31*(24*60*60/TimeStep); - AggregData2 <- as.data.frame(cbind(AggregData$AggregDates, MyRollMean2(AggregData$Qobs,Window), MyRollMean2(AggregData$Qsim,Window), MyRollMean2(AggregData$Precip,Window))); - colnames(AggregData2) <- colnames(AggregData); - AggregData <- AggregData2; - - TmpDates <- formatC(AggregData$AggregDates,format="d",width=10,flag="0"); - xLabels <- paste(substr(TmpDates,3,4),"/",substr(TmpDates,1,2),sep="") - Seq <- 1:nrow(AggregData); - # SeqLab <- pretty(Seq,n=7); SeqLab[SeqLab==0] <- 1; SeqLab <- SeqLab[SeqLab<=366]; - SeqLab <- Seq[substr(xLabels,1,2)=="01"] - ylab1 <- "discharge [mm/d] "; - ylab2 <- " precip [mm/d]"; - - par(new=FALSE); - ylim1 <- range(AggregData$Precip[Seq],na.rm=TRUE); ylim2 <- c(ylim1[1],2*ylim1[2]); ylim2 <- rev(ylim2); - plot(0,0,type="n",xlim=range(Seq),ylim=ylim2,xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i",bty="n") - axis(side=4,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - mtext(side=4,ylab2,line=3,cex=cexlab) - polygon(x=c(Seq,rev(Seq)),y=c(AggregData$Precip[Seq],rep(0,length(Seq))),lwd=1.3,border="royalblue",col=rgb(215/255,235/255,255/255)) - - par(new=TRUE); - ylim1 <- range(AggregData$Qobs[Seq],na.rm=TRUE); ylim2 <- c(ylim1[1],1.4*ylim1[2]); - # ylim1 <- range(c(AggregData$Qobs[Seq],AggregData$Qsim[Seq]),na.rm=TRUE); ylim2 <- c(ylim1[1],1.4*ylim1[2]); - plot(Seq,AggregData$Qobs[Seq],type="l",xlim=range(Seq),ylim=ylim2,lwd=1.3,lty=1,col="black",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",cex.lab=cexlab,cex.axis=cexaxis) - lines(Seq,AggregData$Qsim[Seq],lwd=1.3,lty=1,col="orangered") - axis(side=1,at=SeqLab,labels=xLabels[SeqLab],cex.axis=cexaxis) - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=1.1) - mtext(side=2,ylab1,line=3,cex=cexlab) - - ### legend("bottomleft",title=" 31-days moving-average ",c("Qobs ","Qsim","Precip"),lty=c(1,1,NA),lwd=c(2,2,2),pch=c(NA,NA,22),pt.cex=c(NA,NA,2),pt.bg=c(NA,NA,rgb(215/255,235/255,255/255)),col=c("black","orangered","royalblue"),bty="o",bg=NA,cex=0.8) - legend("bottomleft",title=" 31-days moving-average ",c("Qobs ","Qsim","Precip"),lty=c(1,1,1),lwd=c(2,2,2),col=c("black","orangered","royalblue"),bty="o",bg=NA,cex=0.8) - - - -} diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_CemaNeige.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_CemaNeige.R deleted file mode 100644 index 24a9e0dad66e0d0ca702efc541f639157b3df603..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_CemaNeige.R +++ /dev/null @@ -1,39 +0,0 @@ - -plotScreen_TS_CemaNeige <- function(OutputsModel,TabObsQmm,IndPeriod_Run,IndPeriod_Plot){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR" ," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if("CemaNeigeLayers" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$CemaNeigeLayers"," are needed for the plot \n",sep="")); return(NULL); } - - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,0.5,1)); - Seq <- pretty(IndPeriod_Plot,n=10); Seq[Seq==0] <- 1; - - ylim <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot]),na.rm=TRUE); - ### ylim <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot]),na.rm=TRUE); - plot(IndPeriod_Plot,TabObsQmm[IndPeriod_Run][IndPeriod_Plot],type="l",ylim=ylim,lwd=1.8,lty=1,col="black",xaxt="n",xlab="",xaxs="i",ylab="discharge [mm/d]",cex.lab=1.3,cex.axis=1.1) - lines(IndPeriod_Plot,OutputsModel$Qsim[IndPeriod_Plot],lwd=1.8,lty=1,col="orangered") - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=1.1) - legend("topleft",c("Qobs","Qsim"),col=c("black","orangered"),lty=c(1,1),lwd=c(2,2),bty="o",bg="white") - - - if("CemaNeigeLayers" %in% names(OutputsModel)){ - - NLayers <- length(OutputsModel$CemaNeigeLayers); - TotalSnowPack <- OutputsModel$CemaNeigeLayers[[NLayers]]$SnowPack[IndPeriod_Plot]; - plot(1:length(IndPeriod_Plot) ,OutputsModel$CemaNeigeLayers[[NLayers]]$SnowPack[IndPeriod_Plot],type="l",cex.axis=1.1,cex.lab=1.3,lwd=1.8,lty=3,col="royalblue",xaxt="n",xlab="",xaxs="i",ylab="snow pack [mm]") - if(NLayers>1){ for(iLayer in seq((NLayers-1),1,by=-1)){ - lines(1:length(IndPeriod_Plot),OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack[IndPeriod_Plot],lwd=1.8,lty=3,col="royalblue"); - TotalSnowPack <- TotalSnowPack + OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack[IndPeriod_Plot]; - } } - TotalSnowPack <- TotalSnowPack/NLayers; - lines(1:length(IndPeriod_Plot),TotalSnowPack,lwd=2.5,lty=1,col="royalblue") - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=1.1) - legend("topleft",c("elevation layer snow pack","catchment average snow pack"),col=c("royalblue","royalblue"),lty=c(3,1),lwd=c(1.8,2.5),bty="o",bg="white") - } else { - plot(0:10,0:10,type="n",xlab="",ylab="",xaxt="n",yaxt="n"); - text(5,5,"CemaNeige outputs are not available") - } -} diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_GR4J.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_GR4J.R deleted file mode 100644 index 3ed059c2e916529cd4b304a89ec550734c24a29e..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_GR4J.R +++ /dev/null @@ -1,27 +0,0 @@ - -plotScreen_TS_GR4J <- function(OutputsModel,TabObsQmm,IndPeriod_Run,IndPeriod_Plot){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if("Prod" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Prod" ," are needed for the plot \n",sep="")); return(NULL); } - if("Rout" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Rout" ," are needed for the plot \n",sep="")); return(NULL); } - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,0.5,1)); - Seq <- pretty(IndPeriod_Plot,n=10); Seq[Seq==0] <- 1; - - ylim <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot]),na.rm=TRUE); - ### ylim <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot]),na.rm=TRUE); - plot(IndPeriod_Plot,TabObsQmm[IndPeriod_Run][IndPeriod_Plot],type="l",ylim=ylim,lwd=1.8,lty=1,col="black",xaxt="n",xlab="",xaxs="i",ylab="discharge [mm/d]",cex.lab=1.3,cex.axis=1.1) - lines(IndPeriod_Plot,OutputsModel$Qsim[IndPeriod_Plot],lwd=1.8,lty=1,col="orangered") - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=1.1) - legend("topleft",c("Qobs","Qsim"),col=c("black","orangered"),lty=c(1,1),lwd=c(2,2),bg="white") - - plot(IndPeriod_Plot,OutputsModel$Prod[IndPeriod_Plot],type="l",lwd=1.8,lty=1,col="royalblue",xaxt="n",xlab="",xaxs="i",ylab="prod. store [mm]",cex.lab=1.3,cex.axis=1.1) - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=1.1) - - plot(IndPeriod_Plot,OutputsModel$Rout[IndPeriod_Plot],type="l",lwd=1.8,lty=1,col="royalblue",xaxt="n",xlab="",xaxs="i",ylab="rout. store [mm]",cex.lab=1.3,cex.axis=1.1) - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=1.1) - -} diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_PQ.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_PQ.R deleted file mode 100644 index 65211055a5df7fcafe412776c386da9e461d74e5..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_PQ.R +++ /dev/null @@ -1,37 +0,0 @@ - -plotScreen_TS_PQ <- function(OutputsModel,TabObsQmm,IndPeriod_Run,IndPeriod_Plot){ - - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,1,5)); - cexaxis <- 1.1; cexlab <- 1.3; - - Seq <- pretty(IndPeriod_Plot,n=10); Seq[Seq==0] <- 1; - - ylim1 <- range(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],na.rm=TRUE); ylim2 <- c(ylim1[1],1.2*ylim1[2]); - ### ylim1 <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot]),na.rm=TRUE); ylim2 <- c(ylim1[1],1.2*ylim1[2]); - plot(IndPeriod_Plot,TabObsQmm[IndPeriod_Run][IndPeriod_Plot],type="l",ylim=ylim2,lwd=1.8,lty=1,col="black",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",cex.lab=cexlab,cex.axis=cexaxis) - lines(IndPeriod_Plot,OutputsModel$Qsim[IndPeriod_Plot],lwd=1.8,lty=1,col="orangered") - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=cexaxis) - axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=1.1) - mtext(side=2,"discharge [mm/d] ",line=3,cex=cexlab) - - par(new=TRUE); - ylim1 <- range(OutputsModel$Precip[IndPeriod_Plot],na.rm=TRUE); ylim2 <- c(ylim1[1],2.5*ylim1[2]); ylim2 <- rev(ylim2); - plot(OutputsModel$Precip[IndPeriod_Plot],type="h",ylim=ylim2,col="royalblue",xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i") - axis(side=4,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis) - mtext(side=4," precip [mm/d]",line=3,cex=cexlab) - - - legend("topleft",c("Qobs","Qsim","Precip"),col=c("black","orangered","royalblue"),lty=c(1,1,1),lwd=c(2,2,2),bty="o",bg="white",cex=0.8) - - - - -} - - diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_Q.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_Q.R deleted file mode 100644 index 7345e5b03695088ed959a33b7620f1348972fbab..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_Q.R +++ /dev/null @@ -1,19 +0,0 @@ - -plotScreen_TS_Q <- function(OutputsModel,TabObsQmm,IndPeriod_Run,IndPeriod_Plot){ - - if("DatesR" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if(length(TabObsQmm[IndPeriod_Run])!=length(OutputsModel$DatesR)){ cat("Error in plotScreen: TabObsQmm[IndPeriod_Run] and OutputsModel must have the same length \n"); return(NULL); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,0.5,1)); - Seq <- pretty(IndPeriod_Plot,n=10); Seq[Seq==0] <- 1; - ylim <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot]),na.rm=TRUE); - ### ylim <- range(c(TabObsQmm[IndPeriod_Run][IndPeriod_Plot],OutputsModel$Qsim[IndPeriod_Plot]),na.rm=TRUE); - - plot(IndPeriod_Plot,TabObsQmm[IndPeriod_Run][IndPeriod_Plot],type="l",ylim=ylim,lwd=1.8,lty=1,col="black",xlab="",xaxt="n",xaxs="i",ylab="discharge [mm/d]",cex.lab=1.3,cex.axis=1.1) - lines(IndPeriod_Plot,OutputsModel$Qsim[IndPeriod_Plot],lwd=1.8,lty=1,col="orangered") - axis(side=1,at=Seq,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq],cex.axis=1.1) - legend("topleft",c("Qobs","Qsim"),col=c("black","orangered"),lty=c(1,1),lwd=c(2,2),bty="o",bg="white") - -} \ No newline at end of file diff --git a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_Q_CalSim.R b/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_Q_CalSim.R deleted file mode 100644 index 45781ba09b5de2ff8398a6aa8ed9760797dcef8f..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/MyFunctions/plotScreen_TS_Q_CalSim.R +++ /dev/null @@ -1,29 +0,0 @@ - -plotScreen_TS_Q_CalSim <- function(TabDatesR,TabObsQmm,IndPeriod_Run_Cal,OutputsModel_Cal,IndPeriod_Run_Sim,OutputsModel_Sim){ - - if("DatesR" %in% names(OutputsModel_Cal) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel_Cal) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if("DatesR" %in% names(OutputsModel_Sim) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$DatesR"," are needed for the plot \n",sep="")); return(NULL); } - if("Qsim" %in% names(OutputsModel_Sim) == FALSE){ cat(paste("Error in plotScreen: OutputsModel$Qsim" ," are needed for the plot \n",sep="")); return(NULL); } - if(length(OutputsModel_Cal$DatesR)!=length(IndPeriod_Run_Cal)){ cat("Error in plotScreen: time series in OutputsModel_Cal and IndPeriod_Run_Cal must have the same length \n"); return(NULL); } - if(length(OutputsModel_Sim$DatesR)!=length(IndPeriod_Run_Sim)){ cat("Error in plotScreen: time series in OutputsModel_Cal and IndPeriod_Run_Cal must have the same length \n"); return(NULL); } - - ### par(mfrow=c(1,1)) - par(mar=c(3,5,0.5,1)); - xlim <- range(c(IndPeriod_Run_Cal,IndPeriod_Run_Sim)); - ylim <- range(c(TabObsQmm[c(IndPeriod_Run_Cal,IndPeriod_Run_Sim)]),na.rm=TRUE); - ### ylim <- range(c(TabObsQmm[c(IndPeriod_Run_Cal,IndPeriod_Run_Sim)],OutputsModel_Cal$Qsim,OutputsModel_Sim$Qsim),na.rm=TRUE); - Seq <- pretty(xlim,n=10); Seq[Seq==0] <- 1; - - plot(xlim[1]:xlim[2],TabObsQmm[xlim[1]:xlim[2]],type="l",ylim=ylim,lwd=1.8,lty=1,col="black",xlab="",xaxt="n",xaxs="i",ylab="discharge [mm/d]",cex.lab=1.3,cex.axis=1.1) - axis(side=1,at=Seq,labels=format(TabDatesR,format="%m/%Y")[Seq],cex.axis=1.1) - - lines(IndPeriod_Run_Cal,OutputsModel_Cal$Qsim,lwd=1.8,lty=1,col="royalblue") - lines(IndPeriod_Run_Sim,OutputsModel_Sim$Qsim,lwd=1.8,lty=1,col="orangered") - ### lines(c(IndPeriod_Run_Cal[1],tail(IndPeriod_Run_Cal,1)),rep(ylim[1],2),lwd=3,lend=2,col="royalblue") - ### lines(c(IndPeriod_Run_Sim[1],tail(IndPeriod_Run_Sim,1)),rep(ylim[1],2),lwd=3,lend=2,col="orangered") - - legend("topleft",c("Qobs","Qsim [CalRun]","Qsim [SimRun]"), - col=c("black","royalblue","orangered"),lty=rep(1,5),lwd=rep(3,5),bty="o",bg="white") - -} \ No newline at end of file diff --git a/files_misc/airGR_AdvancedExample/Test_DataInput/L0123001.txt b/files_misc/airGR_AdvancedExample/Test_DataInput/L0123001.txt deleted file mode 100644 index 0c99391c324cb8ab0a922a3f2b760e472972adba..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/Test_DataInput/L0123001.txt +++ /dev/null @@ -1,10600 +0,0 @@ -# ------------------------------------------------------- -# Code ; L0123001 -# Name ; Banjo River at Paterson Creek -# Area (km2) ; 830 -# Units ; YYYYMMDD ; l/s ; mm/d ; mm/d ; degC ; mm/d -# ------------------------------------------------------- - Date; Q; Qmm; Ptot; Temp; PE -19840101; 3550; 0.37; 0.00; 1.40; 0.20 -19840102; 3650; 0.38; 0.50; 3.10; 0.30 -19840103; 3690; 0.38; 3.50; 4.70; 0.40 -19840104; 3840; 0.40; 0.00; 3.20; 0.30 -19840105; 3940; 0.41; 0.00; 0.50; 0.20 -19840106; 3690; 0.38; 0.30; -1.00; 0.20 -19840107; 3370; 0.35; 4.10; 3.70; 0.30 -19840108; 3840; 0.40; 1.40; 7.50; 0.50 -19840109; 4090; 0.43; 0.50; 7.70; 0.50 -19840110; 4140; 0.43; 39.30; 8.20; 0.50 -19840111; 21800; 2.27; 12.10; 7.70; 0.50 -19840112; 36000; 3.75; 14.50; 7.00; 0.50 -19840113; 20400; 2.12; 3.70; 7.40; 0.50 -19840114; 21700; 2.26; 5.60; 5.00; 0.40 -19840115; 15100; 1.57; 13.20; 5.80; 0.40 -19840116; 22300; 2.32; 7.60; 5.50; 0.40 -19840117; 21400; 2.23; 1.10; 5.70; 0.40 -19840118; 12900; 1.34; 4.50; 6.60; 0.50 -19840119; 12500; 1.30; 2.80; 8.10; 0.60 -19840120; 13700; 1.43; 1.10; 4.60; 0.40 -19840121; 11200; 1.17; 0.80; 3.70; 0.40 -19840122; 10300; 1.07; 0.30; 5.00; 0.40 -19840123; 9780; 1.02; 8.70; 7.20; 0.50 -19840124; 11900; 1.24; 4.30; 5.00; 0.50 -19840125; 14200; 1.48; 17.70; 5.80; 0.50 -19840126; 20100; 2.09; 6.30; 9.20; 0.70 -19840127; 21800; 2.27; 4.00; 5.80; 0.50 -19840128; 16300; 1.70; 0.30; 5.00; 0.50 -19840129; 12700; 1.32; 0.10; 1.70; 0.30 -19840130; 11100; 1.16; 0.10; -2.50; 0.10 -19840131; 10400; 1.08; 11.70; -0.20; 0.20 -19840201; 12400; 1.29; 9.70; 5.80; 0.50 -19840202; 17700; 1.84; 6.40; 8.20; 0.70 -19840203; 19100; 1.99; 15.40; 6.50; 0.60 -19840204; 25100; 2.61; 12.70; 5.20; 0.50 -19840205; 29600; 3.08; 5.20; 7.10; 0.70 -19840206; 31900; 3.32; 0.00; 7.30; 0.70 -19840207; 28600; 2.98; 2.20; 6.60; 0.60 -19840208; 21100; 2.20; 9.10; 7.20; 0.70 -19840209; 26900; 2.80; 4.90; 3.50; 0.50 -19840210; 20800; 2.17; 11.10; 6.30; 0.70 -19840211; 27200; 2.83; 11.70; 6.30; 0.70 -19840212; 31900; 3.32; 30.10; 7.00; 0.70 -19840213; 49800; 5.18; 7.90; 6.10; 0.70 -19840214; 70500; 7.34; 0.40; 5.80; 0.70 -19840215; 35700; 3.72; 6.70; 7.50; 0.80 -19840216; 36000; 3.75; 0.50; 6.20; 0.70 -19840217; 28800; 3.00; 10.70; 4.70; 0.60 -19840218; 30000; 3.12; 4.40; 5.20; 0.70 -19840219; 30600; 3.19; 0.10; 5.20; 0.70 -19840220; 29300; 3.05; 0.00; 4.50; 0.70 -19840221; 25900; 2.70; 0.80; 4.80; 0.70 -19840222; 25000; 2.60; 0.50; 4.30; 0.70 -19840223; 23600; 2.46; 0.80; 5.10; 0.70 -19840224; 22400; 2.33; 1.60; 7.80; 0.90 -19840225; 22300; 2.32; 0.10; 8.20; 1.00 -19840226; 20400; 2.12; 2.50; 6.40; 0.80 -19840227; 19500; 2.03; 0.60; 6.90; 0.90 -19840228; 18600; 1.94; 3.30; 6.70; 0.90 -19840229; 18200; 1.89; 3.20; 6.80; 0.90 -19840301; 18000; 1.87; 0.20; 4.90; 0.80 -19840302; 17000; 1.77; 10.10; 3.70; 0.70 -19840303; 27300; 2.84; 12.00; 5.50; 0.80 -19840304; 32300; 3.36; 16.10; 3.40; 0.70 -19840305; 36200; 3.77; 10.40; 5.40; 0.90 -19840306; 31700; 3.30; 9.90; 6.20; 0.90 -19840307; 37000; 3.85; 9.60; 5.50; 0.90 -19840308; 38900; 4.05; 0.20; 6.50; 1.00 -19840309; 26900; 2.80; 0.10; 6.30; 1.00 -19840310; 24900; 2.59; 0.00; 6.10; 1.00 -19840311; 23100; 2.40; 0.00; 4.20; 0.80 -19840312; 21800; 2.27; 0.00; 2.30; 0.70 -19840313; 20600; 2.14; 0.00; 5.60; 1.00 -19840314; 19300; 2.01; 1.10; 8.00; 1.20 -19840315; 18800; 1.96; 0.10; 11.30; 1.60 -19840316; 17400; 1.81; 0.10; 11.10; 1.60 -19840317; 16500; 1.72; 0.00; 8.90; 1.40 -19840318; 15400; 1.60; 0.00; 10.20; 1.50 -19840319; 14600; 1.52; 0.00; 10.80; 1.60 -19840320; 14600; 1.52; 0.00; 11.30; 1.70 -19840321; 14200; 1.48; 0.60; 10.90; 1.60 -19840322; 14000; 1.46; 0.00; 11.40; 1.70 -19840323; 13300; 1.38; 0.00; 12.80; 1.90 -19840324; 12000; 1.25; 0.00; 10.80; 1.70 -19840325; 11400; 1.19; 10.40; 9.80; 1.60 -19840326; 15400; 1.60; 1.50; 7.60; 1.40 -19840327; 14700; 1.53; 1.90; 8.50; 1.50 -19840328; 13500; 1.41; 0.20; 7.20; 1.30 -19840329; 11400; 1.19; 0.00; 7.10; 1.30 -19840330; 10400; 1.08; 3.60; 8.40; 1.50 -19840331; 11400; 1.19; 0.30; 10.50; 1.80 -19840401; 10300; 1.07; 0.00; 11.10; 1.90 -19840402; 9490; 0.99; 0.30; 10.10; 1.80 -19840403; 9230; 0.96; 9.70; 10.20; 1.80 -19840404; 15000; 1.56; 4.10; 9.70; 1.80 -19840405; 18400; 1.92; 8.90; 8.80; 1.70 -19840406; 18300; 1.90; 6.50; 10.40; 1.90 -19840407; 18700; 1.95; 2.50; 9.80; 1.80 -19840408; 16000; 1.67; 14.00; 8.40; 1.70 -19840409; 21000; 2.19; 6.00; 7.50; 1.60 -19840410; 20600; 2.14; 8.10; 7.50; 1.60 -19840411; 21700; 2.26; 5.50; 7.80; 1.60 -19840412; 20500; 2.13; 1.70; 8.50; 1.80 -19840413; 17300; 1.80; 8.30; 8.40; 1.70 -19840414; 19000; 1.98; 0.70; 8.40; 1.80 -19840415; 18900; 1.97; 0.00; 8.10; 1.70 -19840416; 14700; 1.53; 0.00; 7.70; 1.70 -19840417; 13000; 1.35; 0.00; 9.30; 1.90 -19840418; 12400; 1.29; 0.00; 10.80; 2.20 -19840419; 11600; 1.21; 0.10; 7.90; 1.80 -19840420; 11100; 1.16; 1.00; 6.30; 1.50 -19840421; 11700; 1.22; 0.00; 7.70; 1.80 -19840422; 11700; 1.22; 0.90; 7.50; 1.70 -19840423; 12000; 1.25; 0.00; 7.80; 1.80 -19840424; 11800; 1.23; 0.00; 6.70; 1.70 -19840425; 10200; 1.06; 0.00; 6.70; 1.70 -19840426; 10100; 1.05; 0.00; 8.70; 2.00 -19840427; 9340; 0.97; 0.00; 9.10; 2.10 -19840428; 9210; 0.96; 4.10; 8.10; 1.90 -19840429; 11800; 1.23; 17.80; 8.20; 2.00 -19840430; 21600; 2.25; 0.00; 8.00; 1.90 -19840501; 14700; 1.53; 0.50; 9.70; 2.20 -19840502; 10900; 1.13; 0.70; 10.20; 2.30 -19840503; 10600; 1.10; 0.20; 10.70; 2.40 -19840504; 9580; 1.00; 15.40; 9.00; 2.10 -19840505; 16700; 1.74; 11.80; 8.90; 2.10 -19840506; 26100; 2.72; 1.20; 9.30; 2.20 -19840507; 19000; 1.98; 0.10; 10.10; 2.30 -19840508; 13600; 1.42; 3.70; 9.60; 2.30 -19840509; 11500; 1.20; 8.40; 10.40; 2.40 -19840510; 15500; 1.61; 0.40; 9.30; 2.20 -19840511; 14600; 1.52; 7.40; 8.10; 2.10 -19840512; 16500; 1.72; 5.40; 7.90; 2.00 -19840513; 15600; 1.62; 0.50; 7.60; 2.00 -19840514; 12400; 1.29; 0.10; 8.90; 2.20 -19840515; 10400; 1.08; 0.80; 7.40; 2.00 -19840516; 9520; 0.99; 0.30; 8.10; 2.10 -19840517; 9080; 0.95; 0.30; 8.10; 2.10 -19840518; 9210; 0.96; 0.00; 8.10; 2.10 -19840519; 8810; 0.92; 1.90; 9.00; 2.30 -19840520; 8420; 0.88; 1.90; 10.10; 2.50 -19840521; 8420; 0.88; 2.60; 11.90; 2.80 -19840522; 14600; 1.52; 1.50; 10.40; 2.50 -19840523; 15400; 1.60; 19.90; 10.10; 2.50 -19840524; 16400; 1.71; 2.00; 11.50; 2.80 -19840525; 14600; 1.52; 7.20; 11.30; 2.70 -19840526; 11800; 1.23; 1.00; 11.70; 2.80 -19840527; 10300; 1.07; 0.10; 10.60; 2.60 -19840528; 10300; 1.07; 2.60; 10.40; 2.60 -19840529; 10700; 1.11; 0.00; 11.00; 2.70 -19840530; 10500; 1.09; 0.00; 10.30; 2.60 -19840531; 9790; 1.02; 3.30; 9.30; 2.40 -19840601; 10700; 1.11; 14.90; 10.20; 2.60 -19840602; 17300; 1.80; 0.40; 11.40; 2.80 -19840603; 13100; 1.36; 14.30; 10.70; 2.70 -19840604; 21800; 2.27; 15.80; 11.00; 2.70 -19840605; 34100; 3.55; 1.60; 10.00; 2.60 -19840606; 23900; 2.49; 7.50; 10.50; 2.70 -19840607; 20300; 2.11; 2.40; 10.70; 2.70 -19840608; 18200; 1.89; 1.50; 10.40; 2.70 -19840609; 15700; 1.63; 4.80; 10.10; 2.60 -19840610; 15800; 1.64; 1.70; 9.60; 2.50 -19840611; 15300; 1.59; 0.40; 10.10; 2.60 -19840612; 15000; 1.56; 3.30; 11.00; 2.80 -19840613; 14300; 1.49; 2.60; 13.00; 3.10 -19840614; 14300; 1.49; 0.00; 13.70; 3.20 -19840615; 13000; 1.35; 0.00; 13.70; 3.30 -19840616; 11400; 1.19; 0.00; 13.00; 3.10 -19840617; 10900; 1.13; 0.00; 11.90; 2.90 -19840618; 10800; 1.12; 4.80; 11.20; 2.80 -19840619; 11800; 1.23; 0.00; 10.10; 2.60 -19840620; 11100; 1.16; 0.20; 10.60; 2.70 -19840621; 10500; 1.09; 0.00; 13.20; 3.20 -19840622; 10000; 1.04; 0.10; 11.60; 2.90 -19840623; 9620; 1.00; 0.00; 11.20; 2.80 -19840624; 9620; 1.00; 0.00; 12.10; 3.00 -19840625; 9210; 0.96; 0.00; 11.80; 2.90 -19840626; 9210; 0.96; 0.60; 12.90; 3.10 -19840627; 9790; 1.02; 5.20; 12.20; 3.00 -19840628; 10500; 1.09; 0.00; 11.10; 2.80 -19840629; 9340; 0.97; 0.00; 10.90; 2.80 -19840630; 8680; 0.90; 4.30; 10.90; 2.80 -19840701; 9160; 0.95; 0.00; 11.70; 2.90 -19840702; 9020; 0.94; 0.40; 11.60; 2.90 -19840703; 8500; 0.88; 0.50; 13.50; 3.20 -19840704; 8000; 0.83; 0.00; 13.30; 3.20 -19840705; 8000; 0.83; 0.80; 13.60; 3.20 -19840706; 7360; 0.77; 0.10; 13.60; 3.20 -19840707; 7360; 0.77; 0.00; 12.70; 3.00 -19840708; 7100; 0.74; 0.20; 14.60; 3.40 -19840709; 6850; 0.71; 0.10; 12.70; 3.00 -19840710; 6500; 0.68; 0.00; 12.10; 2.90 -19840711; 6160; 0.64; 0.00; 13.00; 3.00 -19840712; 6160; 0.64; 0.00; 14.50; 3.30 -19840713; 5820; 0.61; 0.00; 17.10; 3.70 -19840714; 5380; 0.56; 0.00; 18.20; 3.90 -19840715; 5070; 0.53; 0.00; 17.20; 3.80 -19840716; 4760; 0.50; 0.00; 17.00; 3.70 -19840717; 4650; 0.48; 5.50; 18.30; 3.90 -19840718; 4250; 0.44; 2.50; 18.40; 3.90 -19840719; 3990; 0.42; 0.00; 17.90; 3.80 -19840720; 4160; 0.43; 0.00; 17.70; 3.80 -19840721; 3940; 0.41; 0.00; 17.40; 3.70 -19840722; 3270; 0.34; 5.50; 17.40; 3.70 -19840723; 3270; 0.34; 9.90; 17.20; 3.70 -19840724; 5080; 0.53; 0.00; 17.10; 3.60 -19840725; 5100; 0.53; 0.00; 17.00; 3.60 -19840726; 5320; 0.55; 0.00; 17.90; 3.70 -19840727; 3700; 0.39; 0.00; 14.80; 3.20 -19840728; 3500; 0.36; 0.00; 14.70; 3.20 -19840729; 3230; 0.34; 0.00; 16.30; 3.40 -19840730; 3130; 0.33; 2.60; 15.20; 3.20 -19840731; 3300; 0.34; 2.60; 14.20; 3.10 -19840801; 3700; 0.39; 3.70; 13.40; 2.90 -19840802; 3370; 0.35; 0.00; 13.00; 2.80 -19840803; 3060; 0.32; 0.00; 14.50; 3.10 -19840804; 3060; 0.32; 1.40; 13.80; 2.90 -19840805; 3370; 0.35; 0.40; 15.60; 3.20 -19840806; 3700; 0.39; 2.40; 16.80; 3.40 -19840807; 4040; 0.42; 12.70; 16.90; 3.40 -19840808; 4640; 0.48; 0.20; 15.50; 3.10 -19840809; 4760; 0.50; 0.00; 14.50; 2.90 -19840810; 3440; 0.36; 0.00; 12.90; 2.70 -19840811; 2980; 0.31; 0.00; 13.60; 2.80 -19840812; 2760; 0.29; 0.40; 14.40; 2.90 -19840813; 2830; 0.29; 1.40; 13.60; 2.80 -19840814; 2960; 0.31; 0.00; 15.70; 3.00 -19840815; 2890; 0.30; 0.00; 16.70; 3.20 -19840816; 2370; 0.25; 0.00; 14.80; 2.90 -19840817; 2540; 0.26; 0.20; 13.90; 2.70 -19840818; 2670; 0.28; 0.00; 13.30; 2.60 -19840819; 2430; 0.25; 0.00; 13.40; 2.60 -19840820; 2200; 0.23; 0.00; 14.80; 2.80 -19840821; 2370; 0.25; 0.00; 16.20; 3.00 -19840822; 2600; 0.27; 0.00; 15.70; 2.90 -19840823; 2370; 0.25; 0.00; 15.00; 2.80 -19840824; 2370; 0.25; 0.00; 16.00; 2.90 -19840825; 2250; 0.23; 0.00; 18.30; 3.20 -19840826; 2080; 0.22; 1.70; 16.20; 2.90 -19840827; 2980; 0.31; 8.80; 16.50; 2.90 -19840828; 2420; 0.25; 2.40; 16.00; 2.80 -19840829; 3340; 0.35; 2.20; 15.80; 2.80 -19840830; 3240; 0.34; 0.00; 15.90; 2.70 -19840831; 2560; 0.27; 0.00; 16.80; 2.80 -19840901; 2200; 0.23; 0.00; 16.60; 2.80 -19840902; 2070; 0.22; 0.00; 15.10; 2.50 -19840903; 2140; 0.22; 20.70; 14.30; 2.40 -19840904; 2540; 0.26; 0.00; 15.50; 2.60 -19840905; 5300; 0.55; 0.00; 15.80; 2.60 -19840906; 4300; 0.45; 0.00; 16.40; 2.60 -19840907; 3230; 0.34; 0.00; 14.70; 2.40 -19840908; 2890; 0.30; 27.00; 14.90; 2.40 -19840909; 6720; 0.70; 9.90; 12.30; 2.00 -19840910; 10100; 1.05; 0.00; 9.70; 1.70 -19840911; 5890; 0.61; 0.00; 9.70; 1.70 -19840912; 3440; 0.36; 0.00; 10.20; 1.70 -19840913; 3270; 0.34; 1.50; 10.50; 1.80 -19840914; 3200; 0.33; 0.10; 11.80; 1.90 -19840915; 3570; 0.37; 0.00; 11.60; 1.80 -19840916; 3300; 0.34; 0.00; 11.10; 1.80 -19840917; 3230; 0.34; 0.00; 11.60; 1.80 -19840918; 2930; 0.31; 0.50; 11.40; 1.80 -19840919; 2870; 0.30; 3.80; 11.10; 1.70 -19840920; 2870; 0.30; 0.00; 11.40; 1.70 -19840921; 2870; 0.30; 0.00; 13.10; 1.90 -19840922; 2870; 0.30; 0.00; 15.20; 2.10 -19840923; 2640; 0.27; 0.20; 15.90; 2.10 -19840924; 2480; 0.26; 0.30; 12.30; 1.70 -19840925; 2310; 0.24; 0.00; 10.10; 1.50 -19840926; 2250; 0.23; 0.00; 9.60; 1.40 -19840927; 2250; 0.23; 0.00; 10.10; 1.50 -19840928; 2080; 0.22; 0.00; 10.30; 1.50 -19840929; 2420; 0.25; 0.00; 10.90; 1.50 -19840930; 2190; 0.23; 0.00; 10.10; 1.40 -19841001; 2360; 0.25; 10.90; 10.30; 1.40 -19841002; 2580; 0.27; 1.10; 12.40; 1.60 -19841003; 2640; 0.27; 0.00; 15.00; 1.80 -19841004; 2250; 0.23; 0.00; 12.40; 1.50 -19841005; 2250; 0.23; 0.00; 14.70; 1.70 -19841006; 2190; 0.23; 0.10; 15.30; 1.80 -19841007; 2020; 0.21; 0.20; 13.40; 1.60 -19841008; 2020; 0.21; 0.00; 13.90; 1.60 -19841009; 2250; 0.23; 19.80; 13.60; 1.50 -19841010; 3040; 0.32; 8.60; 9.90; 1.20 -19841011; 6160; 0.64; 0.70; 9.50; 1.20 -19841012; 4670; 0.49; 0.00; 10.50; 1.20 -19841013; 3040; 0.32; 1.30; 10.60; 1.20 -19841014; 2540; 0.26; 0.00; 10.20; 1.20 -19841015; 2310; 0.24; 0.00; 10.10; 1.10 -19841016; 2580; 0.27; 0.00; 8.90; 1.00 -19841017; 2580; 0.27; 0.00; 9.70; 1.10 -19841018; 2420; 0.25; 0.00; 8.90; 1.00 -19841019; 2420; 0.25; 0.00; 6.90; 0.90 -19841020; 2420; 0.25; 0.00; 7.10; 0.90 -19841021; 2190; 0.23; 0.00; 7.60; 0.90 -19841022; 2360; 0.25; 0.00; 9.10; 1.00 -19841023; 2190; 0.23; 0.00; 9.90; 1.00 -19841024; 2190; 0.23; 0.00; 10.30; 1.00 -19841025; 2190; 0.23; 0.10; 9.80; 1.00 -19841026; 2130; 0.22; 7.70; 11.10; 1.00 -19841027; 2420; 0.25; 6.80; 11.00; 1.00 -19841028; 2920; 0.30; 1.30; 10.00; 0.90 -19841029; 3180; 0.33; 19.20; 12.30; 1.10 -19841030; 6260; 0.65; 6.70; 12.50; 1.00 -19841031; 9660; 1.01; 3.30; 9.60; 0.90 -19841101; 5850; 0.61; 0.00; 10.20; 0.90 -19841102; 4700; 0.49; 0.00; 10.60; 0.90 -19841103; 3650; 0.38; 0.00; 9.90; 0.90 -19841104; 3370; 0.35; 0.10; 9.40; 0.80 -19841105; 3300; 0.34; 0.70; 11.30; 0.90 -19841106; 3100; 0.32; 0.10; 12.50; 0.90 -19841107; 3100; 0.32; 2.00; 10.60; 0.80 -19841108; 3100; 0.32; 0.50; 9.80; 0.80 -19841109; 3100; 0.32; 1.40; 9.90; 0.80 -19841110; 3650; 0.38; 14.00; 8.80; 0.70 -19841111; 6940; 0.72; 2.80; 6.20; 0.50 -19841112; 5670; 0.59; 7.20; 10.30; 0.80 -19841113; 6190; 0.64; 27.60; 9.00; 0.70 -19841114; 17400; 1.81; 0.30; 6.70; 0.60 -19841115; 19100; 1.99; 24.30; 5.80; 0.50 -19841116; 19300; 2.01; 17.10; 12.50; 0.80 -19841117; 33900; 3.53; 8.00; 9.50; 0.70 -19841118; 25800; 2.69; 16.80; 4.50; 0.40 -19841119; 23700; 2.47; 15.40; 9.30; 0.60 -19841120; 31800; 3.31; 3.50; 8.90; 0.60 -19841121; 23500; 2.45; 1.30; 7.40; 0.50 -19841122; 14800; 1.54; 0.10; 6.40; 0.50 -19841123; 12100; 1.26; 0.00; 5.60; 0.40 -19841124; 10800; 1.12; 0.00; 4.20; 0.40 -19841125; 9740; 1.01; 0.20; 3.50; 0.30 -19841126; 9300; 0.97; 0.20; 6.00; 0.50 -19841127; 9620; 1.00; 0.20; 4.90; 0.40 -19841128; 9300; 0.97; 1.20; 5.90; 0.40 -19841129; 8920; 0.93; 10.90; 6.00; 0.40 -19841130; 10400; 1.08; 1.50; 7.30; 0.50 -19841201; 17000; 1.77; 12.10; 10.30; 0.60 -19841202; 16700; 1.74; 7.40; 8.20; 0.50 -19841203; 24000; 2.50; 4.80; 6.20; 0.40 -19841204; 16000; 1.67; 13.30; 8.70; 0.50 -19841205; 29000; 3.02; 0.50; 10.20; 0.60 -19841206; 19000; 1.98; 9.30; 10.40; 0.60 -19841207; 21100; 2.20; 5.80; 7.10; 0.50 -19841208; 20500; 2.13; 3.10; 6.70; 0.40 -19841209; 18400; 1.92; 5.00; 7.60; 0.50 -19841210; 17900; 1.86; 11.50; 8.50; 0.50 -19841211; 28400; 2.96; 6.00; 7.50; 0.50 -19841212; 20900; 2.18; 31.80; 11.10; 0.60 -19841213; 51000; 5.31; 6.90; 11.90; 0.60 -19841214; 61300; 6.38; 0.00; 9.00; 0.50 -19841215; 35900; 3.74; 3.70; 7.90; 0.50 -19841216; 32000; 3.33; 0.40; 10.00; 0.50 -19841217; 28700; 2.99; 0.00; 8.70; 0.50 -19841218; 24300; 2.53; 0.00; 6.30; 0.40 -19841219; 22400; 2.33; 0.00; 3.90; 0.30 -19841220; 21300; 2.22; 0.00; 0.10; 0.20 -19841221; 20300; 2.11; 0.00; -1.40; 0.10 -19841222; 19400; 2.02; 0.30; 1.50; 0.20 -19841223; 18300; 1.90; 0.00; 2.20; 0.20 -19841224; 17500; 1.82; 2.10; 4.00; 0.30 -19841225; 17800; 1.85; 2.30; 5.30; 0.30 -19841226; 17500; 1.82; 5.10; 8.10; 0.50 -19841227; 20300; 2.11; 8.70; 9.80; 0.50 -19841228; 24700; 2.57; 11.00; 8.60; 0.50 -19841229; 28100; 2.93; 0.20; 6.70; 0.40 -19841230; 21800; 2.27; 0.00; 4.90; 0.40 -19841231; 16800; 1.75; 0.00; 0.00; 0.20 -19850101; 17600; 1.83; 0.00; 2.90; 0.30 -19850102; 16200; 1.69; 0.00; 3.50; 0.30 -19850103; 15200; 1.58; 0.30; 2.60; 0.30 -19850104; 15800; 1.64; 0.10; 7.00; 0.50 -19850105; 15600; 1.62; 0.00; 5.20; 0.40 -19850106; 14700; 1.53; 0.00; 1.30; 0.20 -19850107; 13700; 1.43; 0.00; -0.10; 0.20 -19850108; 13200; 1.37; 0.00; 1.50; 0.30 -19850109; 13200; 1.37; 0.00; 2.30; 0.30 -19850110; 13200; 1.37; 0.00; 1.00; 0.20 -19850111; 13100; 1.36; 0.10; 0.50; 0.20 -19850112; 12700; 1.32; 0.00; 0.60; 0.20 -19850113; 12700; 1.32; 5.50; 3.70; 0.30 -19850114; 14700; 1.53; 14.90; 7.50; 0.50 -19850115; 25900; 2.70; 4.90; 4.60; 0.40 -19850116; 26900; 2.80; 0.10; 2.20; 0.30 -19850117; 17600; 1.83; 0.00; 4.30; 0.40 -19850118; 15000; 1.56; 0.00; 3.70; 0.40 -19850119; 13900; 1.45; 16.20; 4.90; 0.40 -19850120; 22200; 2.31; 11.00; 4.00; 0.40 -19850121; 33600; 3.50; 2.20; 2.00; 0.30 -19850122; 25100; 2.61; 3.20; 3.70; 0.40 -19850123; 19700; 2.05; 1.10; 9.00; 0.60 -19850124; 19500; 2.03; 0.10; 8.80; 0.60 -19850125; 18300; 1.90; 0.70; 7.40; 0.60 -19850126; 13700; 1.43; 2.70; 7.90; 0.60 -19850127; 17500; 1.82; 4.40; 9.30; 0.70 -19850128; 23300; 2.43; 0.40; 9.20; 0.70 -19850129; 20600; 2.14; 0.40; 7.50; 0.60 -19850130; 17800; 1.85; 2.10; 7.20; 0.60 -19850131; 17200; 1.79; 4.00; 5.10; 0.50 -19850201; 19200; 2.00; 0.70; 6.80; 0.60 -19850202; 19200; 2.00; 0.00; 5.70; 0.50 -19850203; 16600; 1.73; 0.00; 4.00; 0.50 -19850204; 15200; 1.58; 0.00; 1.10; 0.30 -19850205; 14900; 1.55; 0.30; 3.80; 0.50 -19850206; 14900; 1.55; 0.10; 6.70; 0.60 -19850207; 14300; 1.49; 0.20; 6.70; 0.70 -19850208; 14300; 1.49; 6.40; 7.30; 0.70 -19850209; 15800; 1.64; 3.10; 5.60; 0.60 -19850210; 18200; 1.89; 3.20; 5.00; 0.60 -19850211; 18000; 1.87; 2.20; 6.20; 0.70 -19850212; 18700; 1.95; 19.20; 6.70; 0.70 -19850213; 37700; 3.92; 5.40; 1.70; 0.40 -19850214; 26500; 2.76; 4.00; 1.40; 0.40 -19850215; 23800; 2.48; 2.20; 2.10; 0.40 -19850216; 20500; 2.13; 0.00; 2.30; 0.50 -19850217; 17500; 1.82; 0.00; 2.30; 0.50 -19850218; 16500; 1.72; 0.00; 3.20; 0.50 -19850219; 15800; 1.64; 0.10; 7.60; 0.90 -19850220; 15300; 1.59; 0.00; 8.50; 0.90 -19850221; 14900; 1.55; 0.60; 7.60; 0.90 -19850222; 14700; 1.53; 0.90; 6.50; 0.80 -19850223; 14700; 1.53; 4.90; 6.20; 0.80 -19850224; 15900; 1.66; 9.90; 6.20; 0.80 -19850225; 23400; 2.44; 6.30; 5.00; 0.70 -19850226; 21300; 2.22; 0.90; 6.60; 0.90 -19850227; 17600; 1.83; 0.00; 4.90; 0.70 -19850228; 15200; 1.58; 0.00; 3.30; 0.60 -19850301; 14300; 1.49; 0.60; 4.20; 0.70 -19850302; 14300; 1.49; 0.00; 5.30; 0.80 -19850303; 13400; 1.39; 0.00; 6.90; 1.00 -19850304; 13200; 1.37; 0.00; 8.30; 1.10 -19850305; 12900; 1.34; 0.10; 7.60; 1.00 -19850306; 12400; 1.29; 0.40; 5.70; 0.90 -19850307; 12400; 1.29; 0.00; 5.30; 0.90 -19850308; 12000; 1.25; 0.00; 4.90; 0.90 -19850309; 11400; 1.19; 0.00; 5.80; 0.90 -19850310; 11300; 1.18; 0.00; 5.30; 0.90 -19850311; 10800; 1.12; 0.00; 4.40; 0.80 -19850312; 9910; 1.03; 0.00; 4.40; 0.90 -19850313; 10000; 1.04; 0.00; 3.90; 0.80 -19850314; 9730; 1.01; 0.00; 5.10; 0.90 -19850315; 9730; 1.01; 0.00; 4.50; 0.90 -19850316; 9220; 0.96; 0.00; 5.00; 1.00 -19850317; 8860; 0.92; 0.00; 4.90; 1.00 -19850318; 8580; 0.89; 0.00; 5.20; 1.00 -19850319; 8580; 0.89; 0.00; 7.60; 1.30 -19850320; 8440; 0.88; 0.00; 7.00; 1.20 -19850321; 8170; 0.85; 0.00; 9.30; 1.50 -19850322; 8170; 0.85; 0.00; 9.90; 1.60 -19850323; 8440; 0.88; 1.00; 9.40; 1.50 -19850324; 8940; 0.93; 9.50; 8.30; 1.40 -19850325; 11800; 1.23; 2.50; 6.00; 1.20 -19850326; 10500; 1.09; 0.00; 6.00; 1.20 -19850327; 9490; 0.99; 0.50; 6.40; 1.30 -19850328; 9050; 0.94; 0.00; 8.60; 1.50 -19850329; 8680; 0.90; 0.00; 7.40; 1.40 -19850330; 8200; 0.85; 0.60; 5.40; 1.20 -19850331; 8050; 0.84; 0.00; 6.40; 1.30 -19850401; 8200; 0.85; 2.70; 7.60; 1.50 -19850402; 8560; 0.89; 7.10; 7.70; 1.50 -19850403; 9700; 1.01; 0.00; 6.00; 1.30 -19850404; 7650; 0.80; 0.00; 7.20; 1.50 -19850405; 6830; 0.71; 0.80; 8.90; 1.70 -19850406; 7120; 0.74; 0.00; 8.40; 1.60 -19850407; 7000; 0.73; 0.00; 5.80; 1.30 -19850408; 5790; 0.60; 3.70; 3.40; 1.00 -19850409; 5790; 0.60; 2.50; 2.00; 0.90 -19850410; 6480; 0.67; 0.50; 4.40; 1.20 -19850411; 6590; 0.69; 1.20; 6.10; 1.40 -19850412; 6480; 0.67; 1.00; 8.80; 1.80 -19850413; 5900; 0.61; 0.00; 8.00; 1.70 -19850414; 5900; 0.61; 0.00; 7.50; 1.60 -19850415; 6130; 0.64; 0.00; 8.60; 1.80 -19850416; 6130; 0.64; 0.00; 9.80; 2.00 -19850417; 6010; 0.63; 0.00; 9.80; 2.00 -19850418; 6240; 0.65; 0.00; 8.50; 1.80 -19850419; 5910; 0.62; 0.00; 6.50; 1.60 -19850420; 5910; 0.62; 0.70; 5.90; 1.50 -19850421; 5910; 0.62; 4.40; 7.10; 1.70 -19850422; 6240; 0.65; 1.10; 4.60; 1.40 -19850423; 6880; 0.72; 5.00; 4.80; 1.40 -19850424; 7170; 0.75; 5.00; 5.40; 1.50 -19850425; 9590; 1.00; 0.00; 8.90; 2.00 -19850426; 8550; 0.89; 0.00; 10.40; 2.20 -19850427; 7050; 0.73; 1.20; 10.40; 2.20 -19850428; 7000; 0.73; 7.30; 10.60; 2.30 -19850429; 8230; 0.86; 8.50; 10.20; 2.20 -19850430; 11400; 1.19; 7.80; 10.90; 2.30 -19850501; 18700; 1.95; 0.00; 8.00; 1.90 -19850502; 10300; 1.07; 0.20; 10.80; 2.40 -19850503; 8180; 0.85; 2.80; 12.20; 2.60 -19850504; 7600; 0.79; 6.70; 10.40; 2.30 -19850505; 7750; 0.81; 9.20; 10.10; 2.30 -19850506; 9420; 0.98; 11.00; 9.30; 2.20 -19850507; 19000; 1.98; 2.00; 9.40; 2.20 -19850508; 13200; 1.37; 0.00; 9.60; 2.30 -19850509; 8540; 0.89; 0.10; 9.80; 2.30 -19850510; 7160; 0.75; 0.00; 9.70; 2.30 -19850511; 6460; 0.67; 0.00; 8.70; 2.20 -19850512; 6340; 0.66; 0.00; 8.70; 2.20 -19850513; 5530; 0.58; 0.00; 10.40; 2.50 -19850514; 5430; 0.57; 0.00; 11.50; 2.60 -19850515; 5430; 0.57; 0.00; 13.10; 2.90 -19850516; 5220; 0.54; 6.40; 15.60; 3.30 -19850517; 5430; 0.57; 9.80; 11.30; 2.60 -19850518; 7990; 0.83; 12.50; 12.40; 2.80 -19850519; 11700; 1.22; 1.80; 11.80; 2.70 -19850520; 13100; 1.36; 2.50; 13.70; 3.10 -19850521; 9100; 0.95; 3.50; 12.80; 2.90 -19850522; 8860; 0.92; 7.80; 11.70; 2.80 -19850523; 11500; 1.20; 4.60; 12.10; 2.80 -19850524; 13800; 1.44; 0.00; 13.20; 3.00 -19850525; 8980; 0.93; 0.00; 15.90; 3.50 -19850526; 7940; 0.83; 0.20; 18.80; 4.00 -19850527; 7260; 0.76; 1.90; 15.80; 3.50 -19850528; 6950; 0.72; 4.20; 13.00; 3.00 -19850529; 6950; 0.72; 11.00; 12.40; 2.90 -19850530; 9470; 0.99; 10.80; 13.10; 3.10 -19850531; 17600; 1.83; 2.10; 13.00; 3.10 -19850601; 15700; 1.63; 0.00; 10.90; 2.70 -19850602; 10500; 1.09; 1.10; 10.50; 2.60 -19850603; 8180; 0.85; 0.00; 12.30; 2.90 -19850604; 7480; 0.78; 0.00; 12.00; 2.90 -19850605; 6660; 0.69; 0.00; 12.70; 3.00 -19850606; 6270; 0.65; 0.00; 13.50; 3.20 -19850607; 6270; 0.65; 0.00; 15.30; 3.50 -19850608; 5710; 0.59; 0.00; 16.10; 3.60 -19850609; 5710; 0.59; 0.00; 15.90; 3.60 -19850610; 5150; 0.54; 0.00; 13.80; 3.30 -19850611; 5150; 0.54; 0.00; 13.90; 3.30 -19850612; 5380; 0.56; 0.00; 15.90; 3.60 -19850613; 5610; 0.58; 0.10; 13.80; 3.30 -19850614; 5280; 0.55; 0.00; 15.20; 3.50 -19850615; 4820; 0.50; 0.00; 17.80; 4.00 -19850616; 4560; 0.47; 0.00; 18.30; 4.10 -19850617; 4300; 0.45; 0.00; 15.20; 3.50 -19850618; 3920; 0.41; 0.00; 16.40; 3.70 -19850619; 3920; 0.41; 9.70; 14.20; 3.30 -19850620; 4370; 0.45; 4.50; 11.60; 2.90 -19850621; 4920; 0.51; 0.00; 14.40; 3.40 -19850622; 4820; 0.50; 0.00; 15.40; 3.60 -19850623; 4560; 0.47; 0.00; 16.80; 3.80 -19850624; 4110; 0.43; 0.00; 16.70; 3.80 -19850625; 3920; 0.41; 0.00; 18.20; 4.00 -19850626; 3730; 0.39; 0.60; 19.30; 4.20 -19850627; 3570; 0.37; 0.90; 18.10; 4.00 -19850628; 3500; 0.36; 0.00; 15.90; 3.60 -19850629; 3500; 0.36; 0.00; 14.60; 3.40 -19850630; 3500; 0.36; 0.00; 15.60; 3.60 -19850701; 3280; 0.34; 0.00; 16.60; 3.70 -19850702; 3120; 0.32; 0.00; 17.60; 3.90 -19850703; 3120; 0.32; 0.00; 18.40; 4.10 -19850704; 2830; 0.29; 25.20; 19.90; 4.30 -19850705; 3280; 0.34; 11.20; 16.40; 3.70 -19850706; 8860; 0.92; 1.20; 15.80; 3.60 -19850707; 6860; 0.71; 0.00; 15.30; 3.50 -19850708; 4300; 0.45; 0.00; 14.60; 3.40 -19850709; 3280; 0.34; 0.00; 17.30; 3.80 -19850710; 3350; 0.35; 0.00; 17.70; 3.90 -19850711; 2960; 0.31; 0.00; 15.00; 3.40 -19850712; 2960; 0.31; 0.00; 15.70; 3.50 -19850713; 2730; 0.28; 0.00; 15.40; 3.50 -19850714; 2800; 0.29; 3.30; 14.10; 3.20 -19850715; 2870; 0.30; 7.90; 13.90; 3.20 -19850716; 3010; 0.31; 6.90; 14.10; 3.20 -19850717; 3170; 0.33; 5.20; 14.60; 3.30 -19850718; 3800; 0.40; 3.30; 15.90; 3.50 -19850719; 3570; 0.37; 0.90; 15.40; 3.40 -19850720; 3490; 0.36; 5.30; 14.30; 3.20 -19850721; 3330; 0.35; 4.50; 14.00; 3.10 -19850722; 3870; 0.40; 8.70; 13.80; 3.10 -19850723; 4070; 0.42; 3.30; 14.80; 3.20 -19850724; 3970; 0.41; 3.60; 15.70; 3.40 -19850725; 3870; 0.40; 0.40; 15.30; 3.30 -19850726; 3490; 0.36; 0.00; 15.20; 3.30 -19850727; 3260; 0.34; 0.00; 14.90; 3.20 -19850728; 2810; 0.29; 0.00; 14.10; 3.10 -19850729; 2460; 0.26; 0.00; 14.60; 3.10 -19850730; 2460; 0.26; 0.00; 15.70; 3.30 -19850731; 2670; 0.28; 0.00; 17.20; 3.50 -19850801; 2600; 0.27; 0.00; 18.70; 3.70 -19850802; 2400; 0.25; 0.80; 16.60; 3.40 -19850803; 2260; 0.24; 1.90; 16.50; 3.40 -19850804; 2260; 0.24; 0.10; 15.50; 3.20 -19850805; 2010; 0.21; 1.60; 16.50; 3.30 -19850806; 2200; 0.23; 19.90; 15.30; 3.10 -19850807; 3490; 0.36; 0.70; 14.90; 3.00 -19850808; 3280; 0.34; 0.00; 13.60; 2.80 -19850809; 3190; 0.33; 0.00; 15.80; 3.10 -19850810; 2690; 0.28; 0.00; 18.10; 3.50 -19850811; 2310; 0.24; 0.00; 19.00; 3.60 -19850812; 1960; 0.20; 0.00; 21.70; 4.00 -19850813; 1960; 0.20; 0.00; 24.40; 4.40 -19850814; 1900; 0.20; 0.00; 23.80; 4.20 -19850815; 2070; 0.22; 0.70; 20.20; 3.70 -19850816; 2070; 0.22; 0.00; 18.70; 3.40 -19850817; 2070; 0.22; 0.00; 17.10; 3.20 -19850818; 1600; 0.17; 0.00; 17.50; 3.20 -19850819; 1790; 0.19; 0.00; 18.00; 3.30 -19850820; 1850; 0.19; 0.00; 17.80; 3.20 -19850821; 1600; 0.17; 0.00; 19.50; 3.40 -19850822; 1440; 0.15; 0.30; 21.50; 3.70 -19850823; 1440; 0.15; 0.10; 18.60; 3.30 -19850824; 1270; 0.13; 0.00; 17.60; 3.10 -19850825; 1450; 0.15; 0.00; 17.70; 3.10 -19850826; 1140; 0.12; 0.00; 19.10; 3.30 -19850827; 1140; 0.12; 0.00; 17.00; 2.90 -19850828; 1020; 0.11; 0.00; 15.70; 2.80 -19850829; 855; 0.09; 1.20; 13.90; 2.50 -19850830; 855; 0.09; 0.00; 13.80; 2.40 -19850831; 855; 0.09; 0.00; 13.50; 2.40 -19850901; 688; 0.07; 0.00; 14.70; 2.50 -19850902; 730; 0.08; 0.00; 16.20; 2.70 -19850903; 855; 0.09; 0.00; 18.60; 3.00 -19850904; 1350; 0.14; 0.00; 19.40; 3.00 -19850905; 1770; 0.18; 0.10; 18.20; 2.90 -19850906; 2020; 0.21; 0.00; 17.80; 2.80 -19850907; 2020; 0.21; 0.00; 20.40; 3.10 -19850908; 1960; 0.20; 3.50; 20.50; 3.10 -19850909; 2020; 0.21; 4.80; 17.30; 2.60 -19850910; 2250; 0.23; 0.00; 18.00; 2.70 -19850911; 2500; 0.26; 0.00; 17.60; 2.60 -19850912; 2310; 0.24; 0.50; 16.40; 2.50 -19850913; 2310; 0.24; 0.00; 16.20; 2.40 -19850914; 2130; 0.22; 2.30; 19.80; 2.80 -19850915; 2310; 0.24; 4.80; 19.50; 2.70 -19850916; 1960; 0.20; 12.90; 18.30; 2.60 -19850917; 2310; 0.24; 0.70; 14.80; 2.20 -19850918; 2880; 0.30; 10.00; 13.60; 2.00 -19850919; 3130; 0.33; 5.50; 13.30; 1.90 -19850920; 3400; 0.35; 9.00; 11.80; 1.80 -19850921; 3820; 0.40; 2.00; 12.00; 1.70 -19850922; 3760; 0.39; 4.80; 9.90; 1.50 -19850923; 3550; 0.37; 1.20; 9.90; 1.50 -19850924; 2690; 0.28; 9.90; 11.90; 1.70 -19850925; 2750; 0.29; 0.10; 12.20; 1.70 -19850926; 2940; 0.31; 0.30; 12.20; 1.70 -19850927; 2750; 0.29; 9.50; 12.00; 1.60 -19850928; 2810; 0.29; 6.20; 13.10; 1.70 -19850929; 3250; 0.34; 3.20; 10.60; 1.40 -19850930; 3670; 0.38; 0.70; 10.60; 1.40 -19851001; 3340; 0.35; 0.00; 9.50; 1.30 -19851002; 2940; 0.31; 0.00; 12.50; 1.60 -19851003; 2500; 0.26; 0.10; 11.40; 1.50 -19851004; 2130; 0.22; 10.00; 13.00; 1.60 -19851005; 2430; 0.25; 4.30; 13.90; 1.60 -19851006; 2930; 0.31; 0.60; 12.50; 1.50 -19851007; 3060; 0.32; 0.10; 11.90; 1.40 -19851008; 2810; 0.29; 0.00; 11.30; 1.40 -19851009; 2750; 0.29; 0.00; 10.70; 1.30 -19851010; 2560; 0.27; 0.00; 10.60; 1.30 -19851011; 2370; 0.25; 1.20; 12.10; 1.40 -19851012; 2370; 0.25; 12.00; 10.40; 1.20 -19851013; 2490; 0.26; 3.10; 12.80; 1.40 -19851014; 3400; 0.35; 9.00; 12.20; 1.30 -19851015; 4080; 0.42; 22.00; 12.40; 1.30 -19851016; 13200; 1.37; 1.90; 11.50; 1.20 -19851017; 9940; 1.03; 0.20; 7.60; 0.90 -19851018; 5400; 0.56; 0.00; 6.30; 0.80 -19851019; 4080; 0.42; 0.20; 9.20; 1.00 -19851020; 3590; 0.37; 0.80; 12.50; 1.20 -19851021; 3310; 0.34; 0.10; 10.40; 1.10 -19851022; 3060; 0.32; 0.40; 9.70; 1.00 -19851023; 3060; 0.32; 2.10; 12.30; 1.20 -19851024; 3060; 0.32; 0.00; 10.30; 1.00 -19851025; 3060; 0.32; 0.00; 8.10; 0.80 -19851026; 2870; 0.30; 0.00; 8.40; 0.90 -19851027; 2870; 0.30; 0.00; 8.10; 0.80 -19851028; 2870; 0.30; 0.00; 10.90; 1.00 -19851029; 2930; 0.31; 0.00; 10.20; 0.90 -19851030; 2620; 0.27; 0.00; 7.40; 0.70 -19851031; 2370; 0.25; 0.00; 6.00; 0.70 -19851101; 2430; 0.25; 0.90; 11.70; 1.00 -19851102; 2490; 0.26; 0.00; 12.50; 1.00 -19851103; 2490; 0.26; 2.50; 12.80; 1.00 -19851104; 2620; 0.27; 9.90; 12.60; 1.00 -19851105; 3120; 0.32; 0.70; 9.00; 0.80 -19851106; 4010; 0.42; 0.00; 5.50; 0.60 -19851107; 3590; 0.37; 0.00; 6.10; 0.60 -19851108; 3380; 0.35; 0.00; 8.20; 0.70 -19851109; 3120; 0.32; 0.00; 7.80; 0.70 -19851110; 3120; 0.32; 0.30; 9.90; 0.80 -19851111; 3120; 0.32; 0.20; 6.30; 0.60 -19851112; 3120; 0.32; 1.00; 7.80; 0.60 -19851113; 3060; 0.32; 3.30; 11.60; 0.80 -19851114; 3120; 0.32; 2.00; 11.70; 0.80 -19851115; 3120; 0.32; 3.50; 11.30; 0.80 -19851116; 3660; 0.38; 0.50; 10.20; 0.70 -19851117; 3870; 0.40; 0.00; 8.50; 0.60 -19851118; 3590; 0.37; 0.00; 4.20; 0.40 -19851119; 3590; 0.37; 0.00; 8.10; 0.60 -19851120; 3380; 0.35; 0.00; 7.90; 0.60 -19851121; 3310; 0.34; 0.00; 4.60; 0.40 -19851122; 3120; 0.32; 0.00; 4.90; 0.40 -19851123; 3120; 0.32; 0.00; 7.60; 0.50 -19851124; 3120; 0.32; 0.40; 8.30; 0.60 -19851125; 3120; 0.32; 0.30; 9.40; 0.60 -19851126; 3120; 0.32; 0.00; 3.80; 0.40 -19851127; 3120; 0.32; 0.70; 2.60; 0.30 -19851128; 3060; 0.32; 25.10; 7.40; 0.50 -19851129; 4080; 0.42; 3.60; 8.00; 0.50 -19851130; 10700; 1.11; 25.50; 6.70; 0.50 -19851201; 15000; 1.56; 10.20; 1.70; 0.30 -19851202; 14000; 1.46; 0.00; -0.60; 0.20 -19851203; 10300; 1.07; 0.10; 4.00; 0.30 -19851204; 6090; 0.63; 0.00; 8.80; 0.50 -19851205; 5510; 0.57; 0.40; 8.10; 0.50 -19851206; 5010; 0.52; 2.10; 8.50; 0.50 -19851207; 4490; 0.47; 7.90; 10.40; 0.60 -19851208; 5700; 0.59; 2.50; 6.00; 0.40 -19851209; 10200; 1.06; 0.10; 2.60; 0.30 -19851210; 6470; 0.67; 0.00; 2.50; 0.30 -19851211; 5010; 0.52; 3.70; 7.10; 0.40 -19851212; 5360; 0.56; 1.50; 6.40; 0.40 -19851213; 5710; 0.59; 0.10; 9.30; 0.50 -19851214; 5360; 0.56; 0.10; 9.20; 0.50 -19851215; 5010; 0.52; 1.50; 3.80; 0.30 -19851216; 4600; 0.48; 2.40; 9.00; 0.50 -19851217; 5360; 0.56; 0.70; 5.80; 0.40 -19851218; 5460; 0.57; 0.50; 5.50; 0.40 -19851219; 5110; 0.53; 5.70; 8.70; 0.50 -19851220; 5460; 0.57; 1.40; 9.80; 0.50 -19851221; 7100; 0.74; 9.90; 7.30; 0.40 -19851222; 9150; 0.95; 4.20; 6.80; 0.40 -19851223; 11100; 1.16; 3.80; 6.10; 0.40 -19851224; 10900; 1.13; 1.00; 4.90; 0.30 -19851225; 11100; 1.16; 1.10; 5.50; 0.40 -19851226; 7740; 0.81; 1.30; 6.40; 0.40 -19851227; 7070; 0.74; 1.30; 9.00; 0.50 -19851228; 6830; 0.71; 0.30; 6.70; 0.40 -19851229; 6710; 0.70; 0.60; 7.50; 0.40 -19851230; 10200; 1.06; 2.50; 6.30; 0.40 -19851231; 13500; 1.41; 0.00; 4.10; 0.30 -19860101; 6470; 0.67; 0.00; 0.80; 0.20 -19860102; 6470; 0.67; 0.00; 1.90; 0.20 -19860103; 23700; 2.47; 4.40; 4.60; 0.30 -19860104; 6710; 0.70; 22.90; 8.90; 0.50 -19860105; 19400; 2.02; 12.30; 9.30; 0.50 -19860106; 32000; 3.33; 9.10; 9.50; 0.50 -19860107; 23300; 2.43; 7.00; 9.10; 0.50 -19860108; 24700; 2.57; 21.60; 7.20; 0.50 -19860109; 33800; 3.52; 12.00; 4.70; 0.40 -19860110; 33600; 3.50; 9.90; 10.00; 0.60 -19860111; 32400; 3.37; 7.80; 10.50; 0.60 -19860112; 25700; 2.68; 13.20; 9.60; 0.60 -19860113; 30100; 3.13; 9.80; 8.40; 0.50 -19860114; 36600; 3.81; 2.30; 10.10; 0.60 -19860115; 29300; 3.05; 4.50; 10.60; 0.60 -19860116; 26300; 2.74; 3.40; 9.80; 0.60 -19860117; 26300; 2.74; 0.20; 7.60; 0.50 -19860118; 21800; 2.27; 0.10; 8.60; 0.60 -19860119; 19800; 2.06; 0.20; 7.50; 0.50 -19860120; 18400; 1.92; 0.00; 4.50; 0.40 -19860121; 17200; 1.79; 5.00; 5.70; 0.50 -19860122; 17500; 1.82; 0.70; 8.60; 0.60 -19860123; 17500; 1.82; 3.50; 8.10; 0.60 -19860124; 17000; 1.77; 1.40; 5.70; 0.50 -19860125; 16300; 1.70; 7.50; 5.20; 0.50 -19860126; 20800; 2.17; 11.80; 7.00; 0.60 -19860127; 25500; 2.65; 26.60; 7.00; 0.60 -19860128; 42700; 4.44; 1.40; 8.20; 0.60 -19860129; 37700; 3.92; 0.70; 6.20; 0.60 -19860130; 22700; 2.36; 2.00; 8.10; 0.70 -19860131; 20800; 2.17; 6.10; 6.80; 0.60 -19860201; 23400; 2.44; 9.10; 7.60; 0.70 -19860202; 29200; 3.04; 1.50; 5.90; 0.60 -19860203; 23200; 2.42; 11.30; 5.40; 0.60 -19860204; 26000; 2.71; 21.10; 7.50; 0.70 -19860205; 44000; 4.58; 16.20; 9.60; 0.80 -19860206; 55300; 5.76; 10.40; 4.50; 0.50 -19860207; 45800; 4.77; 3.10; 5.60; 0.60 -19860208; 34900; 3.63; 3.70; 9.00; 0.80 -19860209; 33900; 3.53; 3.10; 10.10; 0.90 -19860210; 35200; 3.66; 55.60; 10.40; 0.90 -19860211; 122000; 12.70; 14.60; 9.00; 0.80 -19860212; 133000; 13.84; 11.90; 7.10; 0.70 -19860213; 77000; 8.02; 2.80; 5.20; 0.60 -19860214; 57800; 6.02; 43.50; 6.30; 0.70 -19860215; 164000; 17.07; 6.90; 8.00; 0.80 -19860216; 109000; 11.35; 4.10; 7.80; 0.80 -19860217; 70500; 7.34; 0.80; 6.80; 0.80 -19860218; 72400; 7.54; 0.40; 5.90; 0.70 -19860219; 41800; 4.35; 0.10; 5.00; 0.70 -19860220; 34600; 3.60; 0.00; 4.40; 0.60 -19860221; 29700; 3.09; 1.70; 5.40; 0.70 -19860222; 27300; 2.84; 0.10; 7.40; 0.90 -19860223; 24000; 2.50; 0.00; 5.20; 0.70 -19860224; 21200; 2.21; 0.00; 4.40; 0.70 -19860225; 20700; 2.15; 0.00; 4.70; 0.70 -19860226; 20500; 2.13; 0.00; 3.90; 0.70 -19860227; 19200; 2.00; 0.00; 2.00; 0.50 -19860228; 18400; 1.92; 29.70; 3.10; 0.60 -19860301; 38300; 3.99; 2.60; 4.80; 0.80 -19860302; 32100; 3.34; 0.60; 3.70; 0.70 -19860303; 20800; 2.17; 0.80; 3.00; 0.60 -19860304; 18500; 1.93; 1.00; 2.30; 0.60 -19860305; 17800; 1.85; 0.00; 2.70; 0.60 -19860306; 16900; 1.76; 0.00; 4.50; 0.80 -19860307; 16400; 1.71; 0.00; 4.60; 0.80 -19860308; 15800; 1.64; 0.00; 2.40; 0.60 -19860309; 15600; 1.62; 0.00; 2.50; 0.60 -19860310; 15300; 1.59; 0.00; 3.00; 0.70 -19860311; 14900; 1.55; 7.40; 4.50; 0.90 -19860312; 16500; 1.72; 12.80; 5.50; 1.00 -19860313; 19000; 1.98; 0.00; 7.60; 1.20 -19860314; 16700; 1.74; 16.40; 6.00; 1.00 -19860315; 21000; 2.19; 7.20; 9.50; 1.40 -19860316; 27800; 2.89; 8.60; 10.30; 1.50 -19860317; 28300; 2.95; 22.40; 9.70; 1.40 -19860318; 44800; 4.66; 2.00; 8.70; 1.40 -19860319; 34900; 3.63; 0.20; 7.60; 1.30 -19860320; 23600; 2.46; 0.00; 7.50; 1.20 -19860321; 20600; 2.14; 0.00; 8.60; 1.40 -19860322; 19600; 2.04; 0.00; 10.80; 1.60 -19860323; 19000; 1.98; 0.00; 10.90; 1.70 -19860324; 18100; 1.88; 0.00; 9.60; 1.60 -19860325; 17900; 1.86; 0.00; 11.70; 1.80 -19860326; 17600; 1.83; 0.90; 11.90; 1.80 -19860327; 17100; 1.78; 0.00; 10.00; 1.70 -19860328; 16500; 1.72; 0.20; 6.90; 1.30 -19860329; 16100; 1.68; 0.00; 8.20; 1.50 -19860330; 15700; 1.63; 0.00; 9.70; 1.70 -19860331; 15000; 1.56; 0.00; 8.30; 1.50 -19860401; 15100; 1.57; 0.00; 8.60; 1.60 -19860402; 14900; 1.55; 7.10; 9.70; 1.70 -19860403; 16400; 1.71; 11.20; 8.70; 1.60 -19860404; 19800; 2.06; 0.70; 9.20; 1.70 -19860405; 16100; 1.68; 0.00; 10.30; 1.80 -19860406; 14500; 1.51; 0.00; 9.40; 1.80 -19860407; 13700; 1.43; 0.50; 9.90; 1.90 -19860408; 13100; 1.36; 5.80; 10.70; 2.00 -19860409; 14000; 1.46; 0.50; 11.80; 2.10 -19860410; 13900; 1.45; 4.80; 9.90; 1.90 -19860411; 14200; 1.48; 1.00; 9.10; 1.80 -19860412; 13900; 1.45; 0.10; 9.90; 1.90 -19860413; 12700; 1.32; 0.00; 8.60; 1.80 -19860414; 11900; 1.24; 0.00; 8.20; 1.70 -19860415; 11600; 1.21; 0.00; 7.90; 1.70 -19860416; 10900; 1.13; 0.00; 8.90; 1.80 -19860417; 10500; 1.09; 0.00; 9.20; 1.90 -19860418; 10100; 1.05; 0.00; 8.20; 1.80 -19860419; 10100; 1.05; 0.00; 9.50; 2.00 -19860420; 10100; 1.05; 0.00; 10.40; 2.10 -19860421; 9950; 1.04; 0.00; 8.70; 1.90 -19860422; 9950; 1.04; 0.00; 7.20; 1.70 -19860423; 9830; 1.02; 0.00; 8.90; 2.00 -19860424; 9680; 1.01; 0.00; 7.40; 1.80 -19860425; 9300; 0.97; 2.00; 7.20; 1.70 -19860426; 9300; 0.97; 1.10; 5.90; 1.60 -19860427; 9300; 0.97; 0.70; 5.60; 1.50 -19860428; 9300; 0.97; 0.20; 5.80; 1.60 -19860429; 8750; 0.91; 0.00; 7.00; 1.80 -19860430; 8750; 0.91; 4.20; 7.00; 1.80 -19860501; 9180; 0.96; 1.60; 6.50; 1.70 -19860502; 9110; 0.95; 44.60; 7.00; 1.80 -19860503; 23800; 2.48; 4.10; 9.80; 2.20 -19860504; 20100; 2.09; 1.30; 9.30; 2.20 -19860505; 14100; 1.47; 0.50; 9.20; 2.20 -19860506; 10800; 1.12; 0.10; 8.80; 2.10 -19860507; 9950; 1.04; 0.50; 6.50; 1.80 -19860508; 9300; 0.97; 0.00; 8.00; 2.00 -19860509; 9300; 0.97; 12.80; 9.60; 2.30 -19860510; 12800; 1.33; 7.10; 9.90; 2.40 -19860511; 14000; 1.46; 1.40; 10.40; 2.40 -19860512; 12500; 1.30; 2.90; 11.20; 2.60 -19860513; 11300; 1.18; 4.10; 10.50; 2.50 -19860514; 11400; 1.19; 0.00; 10.80; 2.50 -19860515; 10100; 1.05; 0.20; 14.80; 3.20 -19860516; 9440; 0.98; 0.00; 12.40; 2.80 -19860517; 9060; 0.94; 0.00; 11.00; 2.60 -19860518; 8630; 0.90; 0.00; 12.80; 2.90 -19860519; 8480; 0.88; 0.00; 13.80; 3.10 -19860520; 7740; 0.81; 0.00; 14.00; 3.10 -19860521; 7600; 0.79; 0.10; 13.00; 3.00 -19860522; 7600; 0.79; 0.00; 12.10; 2.80 -19860523; 7310; 0.76; 4.60; 10.70; 2.60 -19860524; 7480; 0.78; 2.20; 10.10; 2.50 -19860525; 7860; 0.82; 0.00; 11.40; 2.70 -19860526; 7740; 0.81; 0.00; 12.60; 2.90 -19860527; 7480; 0.78; 2.10; 12.10; 2.90 -19860528; 7550; 0.79; 0.10; 11.40; 2.80 -19860529; 7360; 0.77; 0.00; 11.70; 2.80 -19860530; 6800; 0.71; 2.00; 13.10; 3.10 -19860531; 6800; 0.71; 0.00; 12.40; 3.00 -19860601; 7070; 0.74; 0.50; 13.10; 3.10 -19860602; 6800; 0.71; 0.00; 14.70; 3.40 -19860603; 6800; 0.71; 0.00; 13.10; 3.10 -19860604; 6680; 0.70; 0.00; 14.30; 3.30 -19860605; 6290; 0.65; 0.00; 12.60; 3.00 -19860606; 5780; 0.60; 0.50; 11.50; 2.90 -19860607; 5780; 0.60; 0.10; 11.70; 2.80 -19860608; 5530; 0.58; 0.80; 11.10; 2.80 -19860609; 5650; 0.59; 1.10; 10.90; 2.80 -19860610; 5530; 0.58; 0.20; 11.10; 2.80 -19860611; 5530; 0.58; 0.00; 14.00; 3.30 -19860612; 5300; 0.55; 0.00; 16.70; 3.70 -19860613; 4940; 0.51; 0.00; 14.10; 3.30 -19860614; 4940; 0.51; 0.00; 15.40; 3.50 -19860615; 4710; 0.49; 0.40; 17.80; 4.00 -19860616; 4470; 0.47; 0.30; 16.80; 3.80 -19860617; 4120; 0.43; 1.30; 12.50; 3.00 -19860618; 4360; 0.45; 0.00; 11.70; 2.90 -19860619; 3760; 0.39; 0.00; 13.70; 3.20 -19860620; 3880; 0.40; 0.00; 18.40; 4.10 -19860621; 3530; 0.37; 0.00; 21.40; 4.60 -19860622; 3530; 0.37; 3.60; 16.60; 3.80 -19860623; 3880; 0.40; 1.40; 14.10; 3.30 -19860624; 4120; 0.43; 3.90; 16.00; 3.70 -19860625; 4240; 0.44; 6.70; 14.90; 3.50 -19860626; 4590; 0.48; 3.40; 14.90; 3.50 -19860627; 4710; 0.49; 1.50; 13.30; 3.20 -19860628; 4710; 0.49; 5.10; 14.20; 3.30 -19860629; 4590; 0.48; 7.30; 14.90; 3.40 -19860630; 5300; 0.55; 3.50; 15.60; 3.60 -19860701; 5540; 0.58; 0.00; 15.50; 3.60 -19860702; 5300; 0.55; 1.90; 14.40; 3.40 -19860703; 4940; 0.51; 0.00; 13.40; 3.20 -19860704; 4590; 0.48; 0.40; 13.20; 3.10 -19860705; 4350; 0.45; 1.20; 14.80; 3.40 -19860706; 4590; 0.48; 0.00; 14.50; 3.40 -19860707; 4350; 0.45; 0.00; 16.00; 3.60 -19860708; 4350; 0.45; 0.00; 18.30; 4.00 -19860709; 4230; 0.44; 0.00; 15.90; 3.60 -19860710; 3880; 0.40; 0.00; 16.00; 3.60 -19860711; 3640; 0.38; 0.20; 16.10; 3.60 -19860712; 3410; 0.35; 9.30; 15.30; 3.50 -19860713; 3360; 0.35; 0.70; 13.60; 3.20 -19860714; 3490; 0.36; 3.00; 13.80; 3.20 -19860715; 3360; 0.35; 7.30; 13.80; 3.20 -19860716; 4230; 0.44; 2.80; 13.60; 3.10 -19860717; 4230; 0.44; 0.10; 14.00; 3.20 -19860718; 3610; 0.38; 0.00; 13.90; 3.10 -19860719; 3240; 0.34; 0.10; 14.30; 3.20 -19860720; 2860; 0.30; 0.00; 16.90; 3.60 -19860721; 2610; 0.27; 0.00; 16.30; 3.50 -19860722; 2480; 0.26; 0.20; 14.50; 3.20 -19860723; 2600; 0.27; 0.90; 14.90; 3.30 -19860724; 3030; 0.32; 0.20; 14.00; 3.10 -19860725; 2480; 0.26; 0.00; 13.90; 3.10 -19860726; 2480; 0.26; 0.00; 14.40; 3.10 -19860727; 2420; 0.25; 0.00; 14.60; 3.20 -19860728; 2230; 0.23; 0.00; 15.60; 3.30 -19860729; 2230; 0.23; 0.00; 16.40; 3.40 -19860730; 2420; 0.25; 0.00; 15.90; 3.30 -19860731; 2170; 0.23; 0.00; 16.30; 3.40 -19860801; 2300; 0.24; 0.30; 17.70; 3.60 -19860802; 2170; 0.23; 0.80; 14.90; 3.10 -19860803; 2230; 0.23; 18.50; 16.90; 3.40 -19860804; 3730; 0.39; 0.20; 13.70; 2.90 -19860805; 4610; 0.48; 0.00; 14.30; 3.00 -19860806; 4110; 0.43; 0.00; 17.10; 3.40 -19860807; 3410; 0.35; 1.60; 16.30; 3.30 -19860808; 3160; 0.33; 4.30; 15.40; 3.10 -19860809; 3410; 0.35; 6.00; 15.20; 3.10 -19860810; 4000; 0.42; 0.30; 14.50; 2.90 -19860811; 4000; 0.42; 0.60; 14.20; 2.90 -19860812; 3410; 0.35; 2.30; 15.80; 3.10 -19860813; 3640; 0.38; 0.00; 16.80; 3.20 -19860814; 3640; 0.38; 0.20; 18.40; 3.40 -19860815; 3160; 0.33; 0.00; 19.40; 3.60 -19860816; 3100; 0.32; 1.50; 16.00; 3.10 -19860817; 3040; 0.32; 0.00; 14.40; 2.80 -19860818; 2810; 0.29; 0.00; 13.50; 2.60 -19860819; 2720; 0.28; 0.00; 14.70; 2.80 -19860820; 2870; 0.30; 0.00; 16.50; 3.00 -19860821; 2720; 0.28; 0.00; 16.30; 3.00 -19860822; 2720; 0.28; 0.00; 15.40; 2.80 -19860823; 2500; 0.26; 0.20; 15.40; 2.80 -19860824; 2560; 0.27; 1.00; 16.90; 3.00 -19860825; 2560; 0.27; 7.70; 17.00; 3.00 -19860826; 2780; 0.29; 0.00; 14.50; 2.60 -19860827; 2930; 0.31; 0.00; 12.60; 2.40 -19860828; 2620; 0.27; 0.00; 14.30; 2.60 -19860829; 2300; 0.24; 1.60; 13.70; 2.40 -19860830; 2240; 0.23; 1.80; 12.50; 2.30 -19860831; 2300; 0.24; 6.70; 12.80; 2.30 -19860901; 2460; 0.26; 12.60; 13.60; 2.40 -19860902; 2900; 0.30; 3.80; 14.20; 2.40 -19860903; 3760; 0.39; 10.80; 12.80; 2.20 -19860904; 4470; 0.47; 16.90; 14.20; 2.40 -19860905; 8030; 0.84; 15.70; 13.40; 2.30 -19860906; 9970; 1.04; 12.60; 13.50; 2.20 -19860907; 8260; 0.86; 1.10; 14.30; 2.30 -19860908; 8440; 0.88; 10.60; 13.50; 2.20 -19860909; 6530; 0.68; 0.40; 12.70; 2.10 -19860910; 7760; 0.81; 0.00; 12.10; 2.00 -19860911; 6200; 0.65; 3.90; 15.30; 2.40 -19860912; 5540; 0.58; 2.00; 17.00; 2.50 -19860913; 5540; 0.58; 2.10; 14.60; 2.20 -19860914; 5810; 0.60; 1.20; 13.90; 2.10 -19860915; 5660; 0.59; 4.80; 13.30; 2.00 -19860916; 5420; 0.56; 0.10; 13.20; 2.00 -19860917; 5420; 0.56; 0.00; 13.80; 2.10 -19860918; 5170; 0.54; 0.00; 13.40; 2.00 -19860919; 4940; 0.51; 0.00; 11.70; 1.80 -19860920; 4580; 0.48; 0.00; 11.60; 1.70 -19860921; 4580; 0.48; 2.20; 11.00; 1.70 -19860922; 4350; 0.45; 7.50; 10.60; 1.60 -19860923; 4940; 0.51; 15.40; 12.10; 1.70 -19860924; 7860; 0.82; 4.60; 10.40; 1.50 -19860925; 7260; 0.76; 1.20; 11.30; 1.60 -19860926; 7000; 0.73; 4.10; 11.20; 1.60 -19860927; 6560; 0.68; 13.20; 11.90; 1.60 -19860928; 10100; 1.05; 5.70; 7.40; 1.20 -19860929; 9250; 0.96; 6.10; 6.80; 1.10 -19860930; 9130; 0.95; 2.90; 8.00; 1.20 -19861001; 7480; 0.78; 0.50; 9.10; 1.30 -19861002; 6710; 0.70; 3.10; 7.80; 1.10 -19861003; 6440; 0.67; 1.10; 7.70; 1.10 -19861004; 5780; 0.60; 0.70; 7.10; 1.10 -19861005; 5660; 0.59; 0.20; 8.60; 1.20 -19861006; 5660; 0.59; 5.00; 9.20; 1.20 -19861007; 4940; 0.51; 4.70; 9.10; 1.20 -19861008; 5420; 0.56; 1.10; 9.80; 1.20 -19861009; 5180; 0.54; 0.10; 9.20; 1.20 -19861010; 4590; 0.48; 1.70; 7.30; 1.00 -19861011; 4230; 0.44; 0.90; 7.10; 1.00 -19861012; 4000; 0.42; 0.40; 6.80; 0.90 -19861013; 4000; 0.42; 4.20; 8.20; 1.00 -19861014; 3880; 0.40; 5.80; 10.20; 1.20 -19861015; 5180; 0.54; 2.00; 9.50; 1.10 -19861016; 5650; 0.59; 1.90; 9.30; 1.10 -19861017; 5300; 0.55; 2.10; 9.10; 1.00 -19861018; 5060; 0.53; 18.70; 9.30; 1.00 -19861019; 11300; 1.18; 7.50; 11.40; 1.20 -19861020; 12600; 1.31; 5.80; 8.50; 0.90 -19861021; 11500; 1.20; 4.00; 6.30; 0.80 -19861022; 11300; 1.18; 7.40; 6.10; 0.70 -19861023; 11000; 1.15; 0.90; 7.70; 0.80 -19861024; 9100; 0.95; 0.10; 8.40; 0.90 -19861025; 7480; 0.78; 0.70; 8.70; 0.90 -19861026; 6680; 0.70; 0.80; 10.60; 1.00 -19861027; 6530; 0.68; 0.90; 9.50; 0.90 -19861028; 5890; 0.61; 3.90; 7.50; 0.80 -19861029; 6140; 0.64; 3.50; 5.80; 0.60 -19861030; 7560; 0.79; 6.40; 6.00; 0.60 -19861031; 7470; 0.78; 2.10; 8.70; 0.80 -19861101; 8930; 0.93; 0.80; 9.50; 0.80 -19861102; 8090; 0.84; 3.30; 9.80; 0.80 -19861103; 7730; 0.80; 3.40; 8.50; 0.80 -19861104; 7820; 0.81; 2.10; 7.10; 0.70 -19861105; 7660; 0.80; 0.00; 7.70; 0.70 -19861106; 7120; 0.74; 7.50; 7.50; 0.70 -19861107; 7560; 0.79; 4.20; 10.90; 0.80 -19861108; 9840; 1.02; 3.70; 10.90; 0.80 -19861109; 9160; 0.95; 1.40; 11.20; 0.80 -19861110; 8800; 0.92; 0.20; 8.70; 0.70 -19861111; 8020; 0.83; 7.80; 8.80; 0.70 -19861112; 9260; 0.96; 3.10; 7.80; 0.60 -19861113; 9630; 1.00; 47.00; 10.00; 0.70 -19861114; 38000; 3.96; 4.20; 10.40; 0.70 -19861115; 35200; 3.66; 8.00; 8.90; 0.70 -19861116; 22900; 2.38; 4.70; 7.90; 0.60 -19861117; 20100; 2.09; 6.30; 8.50; 0.60 -19861118; 18200; 1.89; 1.00; 6.20; 0.50 -19861119; 16300; 1.70; 13.80; 5.90; 0.50 -19861120; 20300; 2.11; 1.40; 8.90; 0.60 -19861121; 19600; 2.04; 36.90; 10.20; 0.70 -19861122; 51300; 5.34; 5.60; 10.80; 0.70 -19861123; 43500; 4.53; 2.10; 8.00; 0.60 -19861124; 29500; 3.07; 2.00; 8.90; 0.60 -19861125; 26400; 2.75; 5.10; 8.20; 0.50 -19861126; 25700; 2.68; 13.50; 11.10; 0.70 -19861127; 36900; 3.84; 3.50; 10.60; 0.60 -19861128; 30900; 3.22; 1.60; 7.40; 0.50 -19861129; 24500; 2.55; 2.50; 7.50; 0.50 -19861130; 23600; 2.46; 4.10; 9.80; 0.60 -19861201; 24000; 2.50; 0.40; 10.10; 0.60 -19861202; 21100; 2.20; 0.00; 10.20; 0.60 -19861203; 19100; 1.99; 0.00; 9.40; 0.60 -19861204; 18400; 1.92; 0.90; 8.70; 0.50 -19861205; 17700; 1.84; 0.20; 7.00; 0.50 -19861206; 17000; 1.77; 0.30; 7.90; 0.50 -19861207; 16200; 1.69; 0.00; 9.80; 0.60 -19861208; 15900; 1.66; 0.00; 8.70; 0.50 -19861209; 14800; 1.54; 1.50; 6.80; 0.40 -19861210; 14500; 1.51; 2.00; 5.40; 0.40 -19861211; 14600; 1.52; 3.40; 6.00; 0.40 -19861212; 15300; 1.59; 3.20; 8.00; 0.50 -19861213; 16400; 1.71; 0.70; 9.30; 0.50 -19861214; 14900; 1.55; 2.00; 8.10; 0.50 -19861215; 14300; 1.49; 3.00; 7.20; 0.40 -19861216; 14900; 1.55; 8.70; 9.70; 0.50 -19861217; 19800; 2.06; 0.70; 8.70; 0.50 -19861218; 17800; 1.85; 0.40; 7.80; 0.40 -19861219; 15200; 1.58; 0.00; 8.80; 0.50 -19861220; 14400; 1.50; 0.00; 9.70; 0.50 -19861221; 14100; 1.47; 1.00; 10.40; 0.50 -19861222; 13800; 1.44; 2.20; 10.90; 0.60 -19861223; 13700; 1.43; 15.50; 9.50; 0.50 -19861224; 24600; 2.56; 4.50; 7.30; 0.40 -19861225; 24600; 2.56; 3.80; 10.80; 0.60 -19861226; 21400; 2.23; 5.40; 11.50; 0.60 -19861227; 20300; 2.11; 2.60; 11.00; 0.60 -19861228; 19900; 2.07; 1.60; 11.30; 0.60 -19861229; 18500; 1.93; 0.90; 9.80; 0.50 -19861230; 17300; 1.80; 0.00; 4.50; 0.30 -19861231; 16200; 1.69; 0.00; 3.20; 0.30 -19870101; 16400; 1.71; 0.00; 4.40; 0.30 -19870102; 16200; 1.69; 0.00; 4.40; 0.30 -19870103; 16200; 1.69; 0.50; 6.60; 0.40 -19870104; 15900; 1.66; 0.00; 6.30; 0.40 -19870105; 15700; 1.63; 0.00; 4.40; 0.30 -19870106; 15300; 1.59; 0.00; 7.20; 0.50 -19870107; 15000; 1.56; 1.40; 9.50; 0.60 -19870108; 15000; 1.56; 0.00; 9.50; 0.60 -19870109; 14600; 1.52; 0.00; 8.00; 0.50 -19870110; 14200; 1.48; 0.00; 7.10; 0.50 -19870111; 14200; 1.48; 0.20; 8.70; 0.50 -19870112; 14200; 1.48; 2.20; 8.60; 0.50 -19870113; 13700; 1.43; 2.50; 8.40; 0.50 -19870114; 14600; 1.52; 4.90; 10.30; 0.60 -19870115; 15800; 1.64; 4.20; 10.10; 0.60 -19870116; 15700; 1.63; 9.70; 7.00; 0.50 -19870117; 17900; 1.86; 8.40; 8.90; 0.60 -19870118; 21200; 2.21; 6.10; 5.60; 0.50 -19870119; 22600; 2.35; 15.70; 6.80; 0.50 -19870120; 31400; 3.27; 18.80; 6.80; 0.50 -19870121; 60000; 6.25; 7.40; 6.20; 0.50 -19870122; 32400; 3.37; 10.20; 8.90; 0.60 -19870123; 36100; 3.76; 2.20; 7.80; 0.60 -19870124; 28400; 2.96; 11.20; 7.10; 0.60 -19870125; 34100; 3.55; 1.40; 8.20; 0.60 -19870126; 34800; 3.62; 33.50; 7.40; 0.60 -19870127; 76500; 7.96; 6.50; 7.10; 0.60 -19870128; 70000; 7.29; 7.80; 8.90; 0.70 -19870129; 54800; 5.70; 2.90; 10.40; 0.80 -19870130; 45500; 4.74; 7.70; 10.80; 0.80 -19870131; 43600; 4.54; 1.00; 7.90; 0.70 -19870201; 43100; 4.49; 0.00; 6.80; 0.60 -19870202; 35100; 3.65; 0.00; 6.40; 0.60 -19870203; 32100; 3.34; 0.00; 6.10; 0.60 -19870204; 30500; 3.17; 0.00; 2.70; 0.40 -19870205; 28600; 2.98; 0.00; 3.20; 0.40 -19870206; 27100; 2.82; 0.40; 5.50; 0.60 -19870207; 26000; 2.71; 0.00; 7.50; 0.70 -19870208; 24800; 2.58; 0.00; 9.50; 0.80 -19870209; 23600; 2.46; 4.40; 7.40; 0.70 -19870210; 25700; 2.68; 5.40; 8.40; 0.80 -19870211; 27500; 2.86; 4.00; 8.20; 0.80 -19870212; 25200; 2.62; 4.20; 7.50; 0.80 -19870213; 24600; 2.56; 1.40; 6.10; 0.70 -19870214; 23100; 2.40; 3.10; 6.30; 0.70 -19870215; 23400; 2.44; 0.40; 5.60; 0.70 -19870216; 21000; 2.19; 0.60; 6.80; 0.80 -19870217; 20400; 2.12; 3.70; 9.80; 1.00 -19870218; 21400; 2.23; 1.10; 9.90; 1.00 -19870219; 21200; 2.21; 1.20; 8.10; 0.90 -19870220; 19900; 2.07; 0.00; 4.60; 0.70 -19870221; 18800; 1.96; 0.00; 3.70; 0.60 -19870222; 18300; 1.90; 0.00; 5.80; 0.80 -19870223; 18000; 1.87; 0.00; 7.70; 0.90 -19870224; 17500; 1.82; 0.00; 7.10; 0.90 -19870225; 17400; 1.81; 0.00; 4.70; 0.70 -19870226; 16900; 1.76; 0.00; 5.90; 0.80 -19870227; 16600; 1.73; 0.00; 6.70; 0.90 -19870228; 16300; 1.70; 1.00; 8.60; 1.10 -19870301; 16100; 1.68; 2.90; 10.30; 1.20 -19870302; 17100; 1.78; 15.30; 9.20; 1.10 -19870303; 24200; 2.52; 14.40; 8.30; 1.10 -19870304; 33500; 3.49; 4.90; 7.30; 1.00 -19870305; 32800; 3.41; 0.10; 7.30; 1.00 -19870306; 17300; 1.80; 15.40; 8.30; 1.10 -19870307; 21600; 2.25; 8.10; 9.10; 1.20 -19870308; 24700; 2.57; 7.60; 6.20; 1.00 -19870309; 26000; 2.71; 2.40; 5.30; 0.90 -19870310; 20300; 2.11; 0.80; 4.50; 0.80 -19870311; 17500; 1.82; 0.80; 5.00; 0.90 -19870312; 16700; 1.74; 0.40; 5.00; 0.90 -19870313; 16600; 1.73; 0.50; 6.10; 1.00 -19870314; 16300; 1.70; 0.70; 4.90; 0.90 -19870315; 16300; 1.70; 0.20; 3.80; 0.80 -19870316; 16100; 1.68; 0.00; 4.20; 0.90 -19870317; 15400; 1.60; 0.10; 3.20; 0.80 -19870318; 14700; 1.53; 0.70; 1.60; 0.60 -19870319; 14700; 1.53; 4.70; 1.60; 0.70 -19870320; 14700; 1.53; 0.70; 4.40; 0.90 -19870321; 15000; 1.56; 9.10; 5.30; 1.10 -19870322; 16200; 1.69; 2.20; 7.60; 1.30 -19870323; 17000; 1.77; 0.40; 6.30; 1.20 -19870324; 15400; 1.60; 0.00; 6.90; 1.30 -19870325; 13500; 1.41; 0.10; 7.30; 1.30 -19870326; 13100; 1.36; 3.00; 7.30; 1.30 -19870327; 13500; 1.41; 1.50; 6.20; 1.20 -19870328; 13500; 1.41; 4.50; 2.60; 0.90 -19870329; 13100; 1.36; 0.30; 3.30; 0.90 -19870330; 13200; 1.37; 2.10; 3.40; 0.90 -19870331; 12900; 1.34; 0.40; 4.60; 1.10 -19870401; 12100; 1.26; 0.50; 5.00; 1.20 -19870402; 11800; 1.23; 6.30; 5.90; 1.30 -19870403; 13400; 1.39; 2.00; 3.60; 1.00 -19870404; 12900; 1.34; 4.20; 1.40; 0.80 -19870405; 12400; 1.29; 6.80; 2.70; 0.90 -19870406; 15300; 1.59; 9.80; 1.20; 0.80 -19870407; 20900; 2.18; 2.50; 4.70; 1.20 -19870408; 17200; 1.79; 2.10; 4.20; 1.10 -19870409; 14500; 1.51; 1.50; 2.00; 0.90 -19870410; 13700; 1.43; 2.20; 4.70; 1.20 -19870411; 13200; 1.37; 0.20; 8.60; 1.70 -19870412; 12900; 1.34; 0.30; 9.20; 1.80 -19870413; 12300; 1.28; 0.10; 9.60; 1.90 -19870414; 12300; 1.28; 3.30; 9.40; 1.90 -19870415; 12300; 1.28; 2.30; 10.00; 2.00 -19870416; 12900; 1.34; 1.00; 10.30; 2.10 -19870417; 12100; 1.26; 2.90; 10.60; 2.10 -19870418; 13500; 1.41; 11.00; 10.00; 2.00 -19870419; 17100; 1.78; 0.00; 8.90; 1.90 -19870420; 14300; 1.49; 0.00; 8.40; 1.90 -19870421; 13700; 1.43; 0.00; 8.40; 1.90 -19870422; 13200; 1.37; 0.00; 12.20; 2.40 -19870423; 13000; 1.35; 0.00; 12.30; 2.50 -19870424; 12200; 1.27; 0.00; 11.70; 2.40 -19870425; 12100; 1.26; 0.00; 13.40; 2.60 -19870426; 11700; 1.22; 0.00; 13.30; 2.70 -19870427; 11400; 1.19; 0.00; 13.10; 2.60 -19870428; 11300; 1.18; 0.00; 13.40; 2.70 -19870429; 11300; 1.18; 0.60; 8.30; 2.00 -19870430; 11100; 1.16; 0.00; 7.70; 1.90 -19870501; 10900; 1.13; 0.00; 9.30; 2.10 -19870502; 10900; 1.13; 0.00; 10.20; 2.30 -19870503; 10600; 1.10; 0.00; 9.50; 2.20 -19870504; 10500; 1.09; 0.00; 7.80; 1.90 -19870505; 9950; 1.04; 0.00; 8.10; 2.00 -19870506; 9710; 1.01; 0.90; 8.80; 2.10 -19870507; 9950; 1.04; 2.20; 9.40; 2.20 -19870508; 9830; 1.02; 2.30; 9.00; 2.20 -19870509; 10200; 1.06; 2.70; 9.50; 2.30 -19870510; 10200; 1.06; 1.10; 10.10; 2.40 -19870511; 10500; 1.09; 0.00; 9.00; 2.20 -19870512; 10100; 1.05; 6.70; 8.30; 2.10 -19870513; 10300; 1.07; 2.10; 10.60; 2.50 -19870514; 10900; 1.13; 2.00; 9.90; 2.40 -19870515; 10700; 1.11; 0.60; 10.00; 2.40 -19870516; 10500; 1.09; 2.30; 11.60; 2.70 -19870517; 12200; 1.27; 0.10; 10.00; 2.40 -19870518; 10300; 1.07; 0.00; 12.10; 2.80 -19870519; 9450; 0.98; 0.00; 13.60; 3.00 -19870520; 8810; 0.92; 0.00; 18.20; 3.80 -19870521; 8360; 0.87; 0.00; 17.40; 3.70 -19870522; 8230; 0.86; 0.00; 13.20; 3.00 -19870523; 7970; 0.83; 0.80; 10.30; 2.50 -19870524; 7970; 0.83; 0.00; 9.50; 2.40 -19870525; 7970; 0.83; 0.00; 8.60; 2.30 -19870526; 7970; 0.83; 1.50; 9.50; 2.40 -19870527; 7970; 0.83; 0.30; 12.20; 2.90 -19870528; 7970; 0.83; 1.80; 13.40; 3.10 -19870529; 8100; 0.84; 3.80; 13.80; 3.20 -19870530; 8350; 0.87; 0.00; 11.30; 2.80 -19870531; 7710; 0.80; 0.40; 8.60; 2.30 -19870601; 7710; 0.80; 0.00; 9.70; 2.50 -19870602; 5840; 0.61; 1.90; 9.10; 2.40 -19870603; 5710; 0.59; 0.10; 9.40; 2.50 -19870604; 5450; 0.57; 1.40; 9.80; 2.50 -19870605; 5450; 0.57; 0.00; 15.80; 3.60 -19870606; 5710; 0.59; 0.00; 18.80; 4.10 -19870607; 5060; 0.53; 0.00; 17.60; 3.90 -19870608; 4800; 0.50; 0.00; 18.40; 4.00 -19870609; 4470; 0.47; 0.00; 17.90; 4.00 -19870610; 4250; 0.44; 0.00; 16.30; 3.70 -19870611; 3810; 0.40; 0.00; 17.70; 3.90 -19870612; 3750; 0.39; 0.00; 18.80; 4.10 -19870613; 3530; 0.37; 0.00; 19.00; 4.20 -19870614; 3530; 0.37; 0.00; 16.30; 3.70 -19870615; 3530; 0.37; 1.00; 12.90; 3.10 -19870616; 3750; 0.39; 15.40; 12.00; 3.00 -19870617; 4190; 0.44; 0.10; 11.90; 2.90 -19870618; 4190; 0.44; 1.40; 12.30; 3.00 -19870619; 3750; 0.39; 0.00; 13.90; 3.30 -19870620; 3530; 0.37; 0.00; 16.90; 3.80 -19870621; 3530; 0.37; 0.00; 18.50; 4.10 -19870622; 3310; 0.34; 0.00; 17.20; 3.90 -19870623; 3130; 0.33; 0.00; 17.00; 3.80 -19870624; 3190; 0.33; 0.00; 17.70; 4.00 -19870625; 3130; 0.33; 0.00; 16.20; 3.70 -19870626; 3130; 0.33; 0.00; 17.60; 3.90 -19870627; 3130; 0.33; 1.40; 17.30; 3.90 -19870628; 2790; 0.29; 0.00; 14.70; 3.40 -19870629; 2960; 0.31; 0.00; 13.00; 3.10 -19870630; 2620; 0.27; 0.00; 14.50; 3.40 -19870701; 2610; 0.27; 0.00; 16.10; 3.70 -19870702; 2610; 0.27; 0.00; 16.80; 3.80 -19870703; 2350; 0.24; 0.00; 17.10; 3.80 -19870704; 2490; 0.26; 0.00; 17.10; 3.80 -19870705; 2210; 0.23; 0.00; 16.30; 3.70 -19870706; 2220; 0.23; 0.00; 16.30; 3.70 -19870707; 2360; 0.25; 1.00; 19.40; 4.20 -19870708; 2090; 0.22; 4.20; 17.20; 3.80 -19870709; 2070; 0.22; 0.70; 16.60; 3.70 -19870710; 2070; 0.22; 9.50; 17.00; 3.80 -19870711; 2070; 0.22; 0.00; 16.10; 3.60 -19870712; 2200; 0.23; 0.80; 16.90; 3.70 -19870713; 2200; 0.23; 0.40; 20.10; 4.30 -19870714; 2070; 0.22; 0.70; 17.50; 3.80 -19870715; 1940; 0.20; 4.60; 16.70; 3.70 -19870716; 1940; 0.20; 11.50; 16.50; 3.60 -19870717; 2210; 0.23; 10.70; 15.50; 3.40 -19870718; 3090; 0.32; 0.20; 16.00; 3.50 -19870719; 3230; 0.34; 0.80; 17.30; 3.70 -19870720; 3090; 0.32; 1.50; 17.20; 3.70 -19870721; 2670; 0.28; 0.00; 15.60; 3.40 -19870722; 2740; 0.29; 0.00; 15.30; 3.30 -19870723; 3160; 0.33; 1.50; 15.60; 3.40 -19870724; 3370; 0.35; 0.00; 14.60; 3.20 -19870725; 3230; 0.34; 0.00; 15.50; 3.30 -19870726; 3370; 0.35; 0.00; 16.50; 3.50 -19870727; 3020; 0.31; 0.00; 19.00; 3.90 -19870728; 2670; 0.28; 0.00; 20.10; 4.00 -19870729; 2200; 0.23; 0.00; 21.10; 4.20 -19870730; 2460; 0.26; 0.00; 22.80; 4.40 -19870731; 2200; 0.23; 0.00; 23.60; 4.50 -19870801; 1810; 0.19; 0.00; 19.60; 3.90 -19870802; 1740; 0.18; 0.00; 23.00; 4.40 -19870803; 1600; 0.17; 1.10; 26.40; 4.90 -19870804; 1600; 0.17; 0.70; 23.60; 4.50 -19870805; 1600; 0.17; 0.40; 19.20; 3.80 -19870806; 1300; 0.14; 0.00; 20.80; 4.00 -19870807; 1070; 0.11; 0.00; 22.80; 4.30 -19870808; 1010; 0.11; 0.00; 19.80; 3.80 -19870809; 1010; 0.11; 0.20; 16.10; 3.20 -19870810; 1160; 0.12; 3.90; 15.90; 3.20 -19870811; 1160; 0.12; 0.00; 16.40; 3.20 -19870812; 1320; 0.14; 0.00; 17.70; 3.40 -19870813; 1480; 0.15; 1.80; 19.40; 3.60 -19870814; 1480; 0.15; 15.60; 16.50; 3.20 -19870815; 1480; 0.15; 3.40; 16.40; 3.10 -19870816; 1920; 0.20; 13.00; 18.10; 3.30 -19870817; 1920; 0.20; 1.30; 17.10; 3.20 -19870818; 2330; 0.24; 4.90; 17.30; 3.20 -19870819; 1670; 0.17; 0.10; 18.60; 3.30 -19870820; 1420; 0.15; 1.80; 18.20; 3.30 -19870821; 1110; 0.12; 1.40; 14.70; 2.80 -19870822; 1040; 0.11; 0.10; 13.20; 2.50 -19870823; 980; 0.10; 8.60; 14.20; 2.60 -19870824; 997; 0.10; 3.10; 16.40; 2.90 -19870825; 997; 0.10; 0.00; 15.90; 2.80 -19870826; 919; 0.10; 0.00; 16.60; 2.90 -19870827; 835; 0.09; 0.00; 17.20; 3.00 -19870828; 835; 0.09; 0.00; 18.60; 3.10 -19870829; 835; 0.09; 0.00; 18.20; 3.10 -19870830; 787; 0.08; 0.40; 14.30; 2.50 -19870831; 1240; 0.13; 1.10; 14.90; 2.60 -19870901; 1880; 0.20; 0.00; 16.60; 2.80 -19870902; 2820; 0.29; 0.00; 15.30; 2.60 -19870903; 2690; 0.28; 0.00; 14.90; 2.50 -19870904; 2420; 0.25; 0.00; 14.60; 2.40 -19870905; 2630; 0.27; 0.00; 13.30; 2.20 -19870906; 2840; 0.30; 0.00; 14.50; 2.40 -19870907; 2630; 0.27; 0.00; 15.50; 2.50 -19870908; 2420; 0.25; 0.00; 15.80; 2.50 -19870909; 2630; 0.27; 1.40; 14.90; 2.40 -19870910; 1280; 0.13; 0.40; 14.30; 2.30 -19870911; 896; 0.09; 13.20; 12.20; 2.00 -19870912; 1100; 0.11; 4.20; 12.50; 2.00 -19870913; 1490; 0.16; 18.60; 12.80; 2.00 -19870914; 4520; 0.47; 1.60; 10.30; 1.70 -19870915; 3440; 0.36; 0.10; 10.80; 1.80 -19870916; 1670; 0.17; 0.70; 10.80; 1.70 -19870917; 1420; 0.15; 1.50; 11.90; 1.80 -19870918; 1540; 0.16; 1.00; 14.90; 2.20 -19870919; 1540; 0.16; 1.90; 15.00; 2.10 -19870920; 1540; 0.16; 4.50; 14.60; 2.10 -19870921; 1670; 0.17; 0.00; 12.20; 1.80 -19870922; 1520; 0.16; 0.00; 13.30; 1.90 -19870923; 1380; 0.14; 1.50; 13.70; 1.90 -19870924; 1520; 0.16; 2.70; 13.20; 1.80 -19870925; 1820; 0.19; 20.80; 13.50; 1.80 -19870926; 4900; 0.51; 11.60; 12.80; 1.70 -19870927; 5290; 0.55; 4.10; 14.80; 1.90 -19870928; 5610; 0.58; 7.00; 13.50; 1.80 -19870929; 5180; 0.54; 7.10; 14.20; 1.80 -19870930; 4790; 0.50; 2.20; 12.40; 1.60 -19871001; 4090; 0.43; 3.60; 12.10; 1.60 -19871002; 3510; 0.37; 10.40; 14.20; 1.70 -19871003; 4840; 0.50; 0.00; 11.10; 1.40 -19871004; 4250; 0.44; 0.00; 10.70; 1.40 -19871005; 2950; 0.31; 0.00; 10.20; 1.30 -19871006; 2460; 0.26; 0.00; 10.80; 1.40 -19871007; 2460; 0.26; 0.00; 12.20; 1.50 -19871008; 2340; 0.24; 0.00; 11.60; 1.40 -19871009; 2210; 0.23; 0.80; 11.20; 1.30 -19871010; 2070; 0.22; 6.50; 10.10; 1.20 -19871011; 2340; 0.24; 0.70; 7.60; 1.00 -19871012; 2460; 0.26; 0.00; 6.40; 0.90 -19871013; 2320; 0.24; 1.70; 8.80; 1.10 -19871014; 2460; 0.26; 2.50; 10.40; 1.20 -19871015; 2460; 0.26; 4.40; 8.80; 1.00 -19871016; 2740; 0.29; 4.40; 7.00; 0.90 -19871017; 2950; 0.31; 0.00; 7.80; 0.90 -19871018; 2740; 0.29; 0.00; 8.80; 1.00 -19871019; 2460; 0.26; 0.00; 8.40; 0.90 -19871020; 2600; 0.27; 0.00; 7.50; 0.90 -19871021; 2460; 0.26; 0.20; 8.50; 0.90 -19871022; 2340; 0.24; 0.00; 11.10; 1.10 -19871023; 2210; 0.23; 0.20; 10.20; 1.00 -19871024; 2210; 0.23; 0.00; 12.20; 1.10 -19871025; 2210; 0.23; 0.00; 10.90; 1.00 -19871026; 2210; 0.23; 0.00; 9.30; 0.90 -19871027; 2090; 0.22; 0.00; 9.80; 0.90 -19871028; 2090; 0.22; 0.00; 9.90; 0.90 -19871029; 2090; 0.22; 0.00; 12.20; 1.10 -19871030; 2090; 0.22; 0.00; 13.90; 1.10 -19871031; 2090; 0.22; 8.80; 11.90; 1.00 -19871101; 2350; 0.24; 9.60; 8.20; 0.80 -19871102; 3090; 0.32; 9.90; 8.50; 0.80 -19871103; 4310; 0.45; 0.60; 10.00; 0.90 -19871104; 3930; 0.41; 0.50; 8.50; 0.80 -19871105; 3230; 0.34; 4.90; 8.90; 0.80 -19871106; 3020; 0.31; 0.00; 9.30; 0.80 -19871107; 3510; 0.37; 0.50; 8.10; 0.70 -19871108; 3020; 0.31; 0.90; 7.40; 0.60 -19871109; 2670; 0.28; 0.00; 5.80; 0.60 -19871110; 2460; 0.26; 0.20; 4.90; 0.50 -19871111; 2460; 0.26; 0.00; 6.80; 0.60 -19871112; 2600; 0.27; 5.80; 7.70; 0.60 -19871113; 1880; 0.20; 6.50; 11.80; 0.80 -19871114; 3460; 0.36; 2.30; 13.10; 0.90 -19871115; 4870; 0.51; 24.20; 13.30; 0.90 -19871116; 11500; 1.20; 10.20; 8.20; 0.60 -19871117; 11600; 1.21; 0.00; 6.10; 0.50 -19871118; 8030; 0.84; 0.00; 6.00; 0.50 -19871119; 5340; 0.56; 1.50; 8.40; 0.60 -19871120; 4790; 0.50; 1.40; 11.30; 0.70 -19871121; 4200; 0.44; 0.00; 8.20; 0.60 -19871122; 4360; 0.45; 0.00; 7.00; 0.50 -19871123; 3930; 0.41; 0.10; 7.80; 0.50 -19871124; 3720; 0.39; 0.00; 5.00; 0.40 -19871125; 3930; 0.41; 7.60; 7.50; 0.50 -19871126; 4200; 0.44; 5.70; 5.40; 0.40 -19871127; 6390; 0.67; 12.40; 9.50; 0.60 -19871128; 11100; 1.16; 10.70; 10.30; 0.60 -19871129; 12800; 1.33; 4.80; 6.30; 0.50 -19871130; 10200; 1.06; 1.70; 3.70; 0.30 -19871201; 8170; 0.85; 15.40; 7.80; 0.50 -19871202; 13300; 1.38; 2.80; 7.50; 0.50 -19871203; 13500; 1.41; 0.00; 5.20; 0.40 -19871204; 8940; 0.93; 0.00; 4.10; 0.30 -19871205; 7580; 0.79; 0.90; 6.20; 0.40 -19871206; 7280; 0.76; 0.50; 8.70; 0.50 -19871207; 7140; 0.74; 0.30; 7.50; 0.50 -19871208; 5500; 0.57; 0.00; 7.40; 0.50 -19871209; 5220; 0.54; 0.00; 4.20; 0.30 -19871210; 4790; 0.50; 0.00; 1.30; 0.20 -19871211; 4790; 0.50; 0.10; 0.30; 0.20 -19871212; 4790; 0.50; 4.10; 1.70; 0.20 -19871213; 4470; 0.47; 0.50; 3.50; 0.30 -19871214; 4790; 0.50; 0.00; 1.60; 0.20 -19871215; 4360; 0.45; 0.00; 0.10; 0.20 -19871216; 4360; 0.45; 0.00; 2.10; 0.30 -19871217; 4360; 0.45; 1.70; 4.30; 0.30 -19871218; 4470; 0.47; 0.10; 2.40; 0.30 -19871219; 4200; 0.44; 0.00; 3.50; 0.30 -19871220; 4200; 0.44; 0.00; 5.10; 0.40 -19871221; 4200; 0.44; 0.00; 3.00; 0.30 -19871222; 4360; 0.45; 0.00; 5.10; 0.40 -19871223; 3930; 0.41; 0.10; 4.50; 0.30 -19871224; 3790; 0.39; 2.00; 4.90; 0.30 -19871225; 4060; 0.42; 0.40; 6.30; 0.40 -19871226; 4200; 0.44; 0.00; 8.60; 0.50 -19871227; 4200; 0.44; 0.00; 7.10; 0.40 -19871228; 4200; 0.44; 0.00; 4.60; 0.30 -19871229; 3930; 0.41; 0.00; 5.40; 0.40 -19871230; 3650; 0.38; 0.10; 5.90; 0.40 -19871231; 3930; 0.41; 1.30; 8.50; 0.50 -19880101; 3780; 0.39; 0.80; 9.80; 0.50 -19880102; 4130; 0.43; 0.10; 9.80; 0.50 -19880103; 4130; 0.43; 0.00; 8.00; 0.50 -19880104; 3880; 0.40; 1.10; 7.10; 0.40 -19880105; 3880; 0.40; 0.00; 8.30; 0.50 -19880106; 3880; 0.40; 0.00; 7.70; 0.50 -19880107; 3720; 0.39; 0.00; 6.30; 0.40 -19880108; 3720; 0.39; 0.00; 6.40; 0.40 -19880109; 3720; 0.39; 0.10; 6.70; 0.40 -19880110; 3720; 0.39; 0.00; 9.20; 0.60 -19880111; 3720; 0.39; 0.00; 9.20; 0.60 -19880112; 3460; 0.36; 0.00; 8.00; 0.50 -19880113; 3620; 0.38; 0.00; 6.60; 0.50 -19880114; 3660; 0.38; 0.00; 5.00; 0.40 -19880115; 3720; 0.39; 0.00; 4.20; 0.40 -19880116; 3560; 0.37; 0.00; 4.50; 0.40 -19880117; 3560; 0.37; 0.00; 5.60; 0.50 -19880118; 3560; 0.37; 1.00; 4.50; 0.40 -19880119; 3560; 0.37; 1.50; 5.60; 0.40 -19880120; 3310; 0.34; 0.90; 8.40; 0.60 -19880121; 3500; 0.36; 0.20; 7.10; 0.50 -19880122; 3400; 0.35; 1.40; 8.60; 0.60 -19880123; 3500; 0.36; 5.30; 7.00; 0.50 -19880124; 3560; 0.37; 5.90; 1.10; 0.30 -19880125; 4680; 0.49; 2.50; 0.40; 0.20 -19880126; 5550; 0.58; 3.80; 1.30; 0.30 -19880127; 4830; 0.50; 0.10; 3.30; 0.40 -19880128; 5950; 0.62; 16.60; 4.10; 0.40 -19880129; 11900; 1.24; 15.70; 4.70; 0.50 -19880130; 19000; 1.98; 1.10; 2.70; 0.40 -19880131; 12300; 1.28; 0.20; 1.60; 0.30 -19880201; 7950; 0.83; 0.30; 2.10; 0.40 -19880202; 5650; 0.59; 0.00; 0.60; 0.30 -19880203; 5050; 0.53; 4.50; -0.40; 0.20 -19880204; 5300; 0.55; 0.50; 3.20; 0.40 -19880205; 6250; 0.65; 3.30; 4.20; 0.50 -19880206; 6500; 0.68; 0.10; 6.10; 0.60 -19880207; 6650; 0.69; 1.70; 5.20; 0.60 -19880208; 5950; 0.62; 2.00; 7.20; 0.70 -19880209; 6200; 0.65; 3.80; 7.80; 0.70 -19880210; 7000; 0.73; 2.50; 7.70; 0.70 -19880211; 7000; 0.73; 1.70; 5.80; 0.60 -19880212; 7750; 0.81; 18.80; 7.00; 0.70 -19880213; 15200; 1.58; 0.20; 7.80; 0.80 -19880214; 12900; 1.34; 0.00; 3.50; 0.50 -19880215; 8450; 0.88; 0.00; 3.20; 0.50 -19880216; 7300; 0.76; 0.00; -0.90; 0.20 -19880217; 6500; 0.68; 0.00; -0.60; 0.30 -19880218; 6500; 0.68; 0.00; 1.00; 0.40 -19880219; 6200; 0.65; 0.00; 5.00; 0.70 -19880220; 5800; 0.60; 0.00; 8.00; 0.90 -19880221; 5950; 0.62; 7.60; 8.00; 0.90 -19880222; 7600; 0.79; 6.00; 9.10; 1.00 -19880223; 11000; 1.15; 0.30; 9.90; 1.10 -19880224; 8450; 0.88; 0.00; 9.70; 1.10 -19880225; 7000; 0.73; 0.00; 9.50; 1.10 -19880226; 6500; 0.68; 0.00; 8.00; 1.00 -19880227; 6350; 0.66; 0.00; 8.90; 1.10 -19880228; 6100; 0.63; 0.00; 7.70; 1.00 -19880229; 5950; 0.62; 0.00; 10.60; 1.20 -19880301; 5800; 0.60; 0.00; 9.40; 1.10 -19880302; 5800; 0.60; 0.00; 7.70; 1.00 -19880303; 5650; 0.59; 0.00; 7.20; 1.00 -19880304; 5650; 0.59; 0.00; 7.90; 1.10 -19880305; 5550; 0.58; 0.00; 7.40; 1.00 -19880306; 5250; 0.55; 0.00; 3.50; 0.70 -19880307; 5550; 0.58; 0.00; 1.80; 0.60 -19880308; 5050; 0.53; 0.00; 0.30; 0.50 -19880309; 5550; 0.58; 0.00; 1.20; 0.50 -19880310; 5250; 0.55; 0.00; 2.80; 0.70 -19880311; 5650; 0.59; 11.50; 5.60; 1.00 -19880312; 8850; 0.92; 18.50; 6.20; 1.00 -19880313; 15600; 1.62; 3.80; 6.20; 1.00 -19880314; 15600; 1.62; 6.30; 6.50; 1.10 -19880315; 12300; 1.28; 1.70; 6.70; 1.10 -19880316; 10700; 1.11; 4.30; 7.20; 1.20 -19880317; 10500; 1.09; 5.50; 9.60; 1.40 -19880318; 12300; 1.28; 0.00; 10.60; 1.60 -19880319; 9850; 1.03; 0.10; 10.00; 1.50 -19880320; 8700; 0.91; 0.00; 9.60; 1.50 -19880321; 8100; 0.84; 9.30; 7.90; 1.30 -19880322; 10800; 1.12; 3.40; 5.10; 1.10 -19880323; 12500; 1.30; 0.00; 3.40; 0.90 -19880324; 9700; 1.01; 0.70; 4.80; 1.00 -19880325; 8700; 0.91; 0.20; 9.10; 1.50 -19880326; 8700; 0.91; 1.30; 8.50; 1.50 -19880327; 8100; 0.84; 0.00; 5.80; 1.20 -19880328; 8100; 0.84; 0.00; 7.70; 1.40 -19880329; 7900; 0.82; 0.00; 8.80; 1.60 -19880330; 7450; 0.78; 0.00; 8.40; 1.50 -19880331; 7150; 0.74; 0.00; 8.00; 1.50 -19880401; 6500; 0.68; 0.10; 7.80; 1.50 -19880402; 6650; 0.69; 0.50; 7.10; 1.40 -19880403; 6350; 0.66; 0.00; 5.30; 1.20 -19880404; 6200; 0.65; 0.00; 7.00; 1.40 -19880405; 6100; 0.63; 0.00; 7.50; 1.50 -19880406; 5800; 0.60; 0.00; 8.90; 1.70 -19880407; 5800; 0.60; 0.00; 10.20; 1.90 -19880408; 5550; 0.58; 0.00; 7.10; 1.50 -19880409; 5650; 0.59; 0.00; 7.70; 1.60 -19880410; 5300; 0.55; 0.00; 8.70; 1.70 -19880411; 5400; 0.56; 0.00; 8.40; 1.70 -19880412; 5000; 0.52; 0.00; 9.20; 1.80 -19880413; 5000; 0.52; 0.20; 8.50; 1.80 -19880414; 4770; 0.50; 7.10; 7.60; 1.70 -19880415; 4520; 0.47; 0.00; 8.70; 1.80 -19880416; 4660; 0.49; 0.00; 8.80; 1.90 -19880417; 4910; 0.51; 0.00; 9.00; 1.90 -19880418; 4770; 0.50; 0.00; 11.90; 2.30 -19880419; 4770; 0.50; 0.00; 13.10; 2.50 -19880420; 4380; 0.46; 0.50; 13.50; 2.60 -19880421; 4380; 0.46; 0.60; 13.30; 2.60 -19880422; 4380; 0.46; 0.00; 9.60; 2.10 -19880423; 4380; 0.46; 1.30; 6.10; 1.60 -19880424; 4380; 0.46; 0.00; 5.70; 1.60 -19880425; 4220; 0.44; 0.00; 7.10; 1.80 -19880426; 4280; 0.45; 0.00; 8.80; 2.00 -19880427; 4120; 0.43; 0.00; 8.20; 1.90 -19880428; 4120; 0.43; 0.00; 6.30; 1.60 -19880429; 3860; 0.40; 0.00; 6.30; 1.70 -19880430; 3860; 0.40; 0.00; 8.10; 1.90 -19880501; 3810; 0.40; 0.00; 9.60; 2.20 -19880502; 3700; 0.39; 2.40; 9.90; 2.20 -19880503; 4080; 0.42; 0.40; 10.60; 2.40 -19880504; 4020; 0.42; 3.50; 10.40; 2.30 -19880505; 4180; 0.44; 0.40; 14.30; 2.90 -19880506; 4180; 0.44; 0.00; 17.80; 3.50 -19880507; 3920; 0.41; 0.10; 18.50; 3.70 -19880508; 3500; 0.36; 0.20; 16.70; 3.40 -19880509; 3500; 0.36; 0.00; 14.60; 3.10 -19880510; 3190; 0.33; 0.00; 10.90; 2.50 -19880511; 3090; 0.32; 0.60; 9.60; 2.30 -19880512; 3190; 0.33; 0.60; 10.10; 2.40 -19880513; 3190; 0.33; 0.00; 10.00; 2.40 -19880514; 3020; 0.31; 0.10; 10.20; 2.40 -19880515; 3020; 0.31; 0.20; 10.90; 2.60 -19880516; 2940; 0.31; 0.00; 11.10; 2.60 -19880517; 3020; 0.31; 1.40; 12.20; 2.80 -19880518; 3020; 0.31; 1.10; 10.60; 2.50 -19880519; 2940; 0.31; 4.90; 9.60; 2.40 -19880520; 3020; 0.31; 0.70; 10.00; 2.50 -19880521; 3020; 0.31; 0.00; 10.30; 2.50 -19880522; 3020; 0.31; 0.00; 12.80; 3.00 -19880523; 2940; 0.31; 0.00; 16.60; 3.60 -19880524; 2770; 0.29; 0.00; 15.10; 3.30 -19880525; 2700; 0.28; 0.00; 11.80; 2.80 -19880526; 2620; 0.27; 0.00; 10.90; 2.70 -19880527; 2570; 0.27; 0.00; 11.80; 2.80 -19880528; 2520; 0.26; 0.00; 12.90; 3.00 -19880529; 2570; 0.27; 0.00; 12.70; 3.00 -19880530; 2420; 0.25; 0.10; 12.80; 3.00 -19880531; 2570; 0.27; 1.30; 13.10; 3.10 -19880601; 2570; 0.27; 0.10; 12.90; 3.10 -19880602; 2570; 0.27; 0.00; 13.00; 3.10 -19880603; 2420; 0.25; 0.00; 12.90; 3.10 -19880604; 2420; 0.25; 0.00; 13.00; 3.10 -19880605; 2420; 0.25; 0.00; 14.40; 3.30 -19880606; 2360; 0.25; 0.00; 16.20; 3.70 -19880607; 2310; 0.24; 0.00; 18.70; 4.10 -19880608; 2410; 0.25; 0.00; 19.90; 4.30 -19880609; 2320; 0.24; 0.20; 14.30; 3.30 -19880610; 2320; 0.24; 0.00; 14.00; 3.30 -19880611; 2220; 0.23; 0.00; 15.30; 3.50 -19880612; 2180; 0.23; 0.00; 17.50; 3.90 -19880613; 2220; 0.23; 0.00; 17.60; 3.90 -19880614; 2130; 0.22; 0.00; 16.90; 3.80 -19880615; 1930; 0.20; 0.00; 17.20; 3.90 -19880616; 1930; 0.20; 0.00; 17.80; 4.00 -19880617; 1890; 0.20; 0.00; 17.70; 3.90 -19880618; 1890; 0.20; 0.00; 16.40; 3.70 -19880619; 1890; 0.20; 0.00; 15.00; 3.50 -19880620; 1890; 0.20; 0.00; 15.40; 3.60 -19880621; 1930; 0.20; 0.00; 17.50; 3.90 -19880622; 2030; 0.21; 0.00; 19.40; 4.20 -19880623; 1930; 0.20; 0.00; 18.00; 4.00 -19880624; 1890; 0.20; 0.00; 21.20; 4.60 -19880625; 1850; 0.19; 0.10; 24.60; 5.20 -19880626; 1810; 0.19; 0.60; 27.10; 5.60 -19880627; 1810; 0.19; 0.00; 26.80; 5.50 -19880628; 1680; 0.17; 0.00; 27.00; 5.50 -19880629; 1680; 0.17; 0.00; 26.30; 5.40 -19880630; 1540; 0.16; 0.70; 24.20; 5.10 -19880701; 1570; 0.16; 0.90; 24.60; 5.10 -19880702; 1500; 0.16; 0.20; 23.30; 4.90 -19880703; 1500; 0.16; 0.20; 23.50; 4.90 -19880704; 1540; 0.16; 0.00; 20.20; 4.40 -19880705; 1500; 0.16; 5.00; 19.40; 4.20 -19880706; 1500; 0.16; 0.60; 19.40; 4.20 -19880707; 1470; 0.15; 0.60; 17.90; 3.90 -19880708; 1470; 0.15; 1.90; 18.30; 4.00 -19880709; 1400; 0.15; 0.10; 17.20; 3.80 -19880710; 1360; 0.14; 0.00; 16.50; 3.70 -19880711; 1240; 0.13; 0.00; 19.00; 4.10 -19880712; 1400; 0.15; 4.40; 16.50; 3.70 -19880713; 1510; 0.16; 6.40; 17.20; 3.80 -19880714; 1470; 0.15; 0.30; 17.00; 3.70 -19880715; 1390; 0.14; 0.30; 19.90; 4.20 -19880716; 1430; 0.15; 0.80; 18.30; 3.90 -19880717; 1390; 0.14; 0.00; 16.50; 3.60 -19880718; 1400; 0.15; 0.40; 15.50; 3.40 -19880719; 1430; 0.15; 0.40; 18.10; 3.80 -19880720; 1200; 0.12; 11.50; 15.60; 3.40 -19880721; 1310; 0.14; 0.00; 14.40; 3.20 -19880722; 1300; 0.14; 0.00; 14.90; 3.30 -19880723; 1260; 0.13; 0.00; 15.50; 3.40 -19880724; 1210; 0.13; 0.00; 16.30; 3.50 -19880725; 1100; 0.11; 0.00; 17.10; 3.60 -19880726; 1160; 0.12; 0.00; 17.60; 3.70 -19880727; 1050; 0.11; 0.00; 18.50; 3.80 -19880728; 1320; 0.14; 0.00; 18.50; 3.80 -19880729; 1570; 0.16; 0.00; 18.10; 3.70 -19880730; 1540; 0.16; 0.10; 17.00; 3.50 -19880731; 1540; 0.16; 0.00; 15.80; 3.30 -19880801; 1380; 0.14; 0.00; 14.60; 3.10 -19880802; 1340; 0.14; 0.00; 15.40; 3.20 -19880803; 1180; 0.12; 0.00; 17.00; 3.40 -19880804; 995; 0.10; 0.00; 16.50; 3.40 -19880805; 975; 0.10; 0.00; 17.10; 3.40 -19880806; 900; 0.09; 0.00; 17.90; 3.50 -19880807; 850; 0.09; 0.00; 17.90; 3.50 -19880808; 925; 0.10; 0.00; 19.00; 3.70 -19880809; 820; 0.09; 0.00; 17.40; 3.40 -19880810; 920; 0.10; 0.00; 18.80; 3.60 -19880811; 1050; 0.11; 0.00; 18.90; 3.60 -19880812; 1130; 0.12; 0.00; 19.70; 3.70 -19880813; 1100; 0.11; 0.00; 19.20; 3.60 -19880814; 1150; 0.12; 1.90; 20.90; 3.80 -19880815; 1180; 0.12; 0.00; 20.40; 3.70 -19880816; 1130; 0.12; 0.10; 20.80; 3.70 -19880817; 1020; 0.11; 0.00; 19.50; 3.50 -19880818; 970; 0.10; 0.00; 19.90; 3.50 -19880819; 920; 0.10; 0.00; 20.20; 3.60 -19880820; 1050; 0.11; 0.00; 21.90; 3.80 -19880821; 1130; 0.12; 0.00; 22.70; 3.90 -19880822; 1020; 0.11; 0.10; 20.20; 3.50 -19880823; 950; 0.10; 0.60; 18.30; 3.20 -19880824; 950; 0.10; 0.30; 18.90; 3.30 -19880825; 1050; 0.11; 10.60; 19.30; 3.30 -19880826; 1130; 0.12; 1.10; 21.70; 3.60 -19880827; 1550; 0.16; 0.00; 18.00; 3.10 -19880828; 1440; 0.15; 0.00; 15.90; 2.80 -19880829; 1540; 0.16; 6.70; 15.50; 2.70 -19880830; 1370; 0.14; 7.10; 14.30; 2.50 -19880831; 1290; 0.13; 0.10; 15.60; 2.70 -19880901; 1400; 0.15; 1.00; 15.20; 2.60 -19880902; 1270; 0.13; 0.30; 14.10; 2.40 -19880903; 1150; 0.12; 0.00; 12.70; 2.20 -19880904; 1160; 0.12; 0.00; 12.70; 2.20 -19880905; 1220; 0.13; 0.00; 14.70; 2.40 -19880906; 1140; 0.12; 0.00; 16.30; 2.60 -19880907; 1080; 0.11; 0.00; 17.20; 2.70 -19880908; 1160; 0.12; 8.50; 16.30; 2.50 -19880909; 1210; 0.13; 0.00; 12.30; 2.00 -19880910; 1340; 0.14; 22.30; 11.60; 1.90 -19880911; 1810; 0.19; 1.80; 12.60; 2.10 -19880912; 1960; 0.20; 3.30; 10.50; 1.80 -19880913; 1810; 0.19; 1.20; 10.90; 1.80 -19880914; 1740; 0.18; 5.80; 11.30; 1.80 -19880915; 1740; 0.18; 4.70; 11.20; 1.80 -19880916; 1590; 0.17; 0.00; 10.50; 1.70 -19880917; 1630; 0.17; 6.60; 12.20; 1.90 -19880918; 1700; 0.18; 1.10; 14.50; 2.10 -19880919; 1680; 0.17; 0.00; 14.60; 2.10 -19880920; 1550; 0.16; 0.00; 15.30; 2.10 -19880921; 1590; 0.17; 7.80; 15.90; 2.20 -19880922; 1660; 0.17; 0.20; 14.10; 2.00 -19880923; 1510; 0.16; 1.90; 13.20; 1.90 -19880924; 1690; 0.18; 1.30; 15.50; 2.10 -19880925; 1890; 0.20; 5.20; 15.20; 2.00 -19880926; 2060; 0.21; 9.70; 16.40; 2.10 -19880927; 2000; 0.21; 4.70; 16.10; 2.00 -19880928; 2010; 0.21; 7.50; 14.60; 1.90 -19880929; 2220; 0.23; 13.80; 14.50; 1.80 -19880930; 2370; 0.25; 9.20; 13.60; 1.70 -19881001; 2670; 0.28; 1.50; 13.90; 1.70 -19881002; 2540; 0.26; 0.60; 13.00; 1.60 -19881003; 2370; 0.25; 25.60; 12.60; 1.60 -19881004; 3780; 0.39; 2.00; 10.70; 1.40 -19881005; 5200; 0.54; 13.50; 13.70; 1.60 -19881006; 5950; 0.62; 18.50; 15.40; 1.80 -19881007; 7600; 0.79; 0.30; 14.30; 1.60 -19881008; 6700; 0.70; 0.00; 14.50; 1.60 -19881009; 4480; 0.47; 0.00; 14.80; 1.60 -19881010; 3460; 0.36; 0.20; 15.80; 1.70 -19881011; 3150; 0.33; 13.10; 13.20; 1.50 -19881012; 4660; 0.49; 9.50; 10.00; 1.20 -19881013; 5550; 0.58; 13.00; 11.30; 1.30 -19881014; 6350; 0.66; 10.60; 10.30; 1.20 -19881015; 10300; 1.07; 2.90; 8.50; 1.00 -19881016; 7300; 0.76; 9.20; 8.80; 1.00 -19881017; 6600; 0.69; 6.40; 11.40; 1.20 -19881018; 8450; 0.88; 15.10; 10.80; 1.10 -19881019; 11500; 1.20; 16.60; 10.80; 1.10 -19881020; 17100; 1.78; 0.80; 8.80; 0.90 -19881021; 11200; 1.17; 6.90; 11.20; 1.10 -19881022; 10700; 1.11; 13.90; 11.80; 1.10 -19881023; 13600; 1.42; 10.00; 9.90; 1.00 -19881024; 14700; 1.53; 7.40; 8.10; 0.90 -19881025; 14900; 1.55; 1.90; 10.20; 1.00 -19881026; 12700; 1.32; 5.30; 9.30; 0.90 -19881027; 11700; 1.22; 0.20; 9.00; 0.90 -19881028; 10500; 1.09; 1.80; 8.60; 0.80 -19881029; 8100; 0.84; 3.70; 9.40; 0.90 -19881030; 9000; 0.94; 3.20; 9.40; 0.90 -19881031; 9200; 0.96; 2.10; 9.30; 0.90 -19881101; 9000; 0.94; 3.90; 10.40; 0.90 -19881102; 9350; 0.97; 6.30; 7.80; 0.70 -19881103; 9350; 0.97; 0.40; 5.50; 0.60 -19881104; 9700; 1.01; 8.40; 7.70; 0.70 -19881105; 10800; 1.12; 10.60; 10.40; 0.80 -19881106; 15900; 1.66; 5.90; 9.00; 0.80 -19881107; 18700; 1.95; 4.20; 8.20; 0.70 -19881108; 14800; 1.54; 2.60; 7.30; 0.70 -19881109; 14000; 1.46; 17.40; 7.20; 0.60 -19881110; 21900; 2.28; 2.20; 7.30; 0.60 -19881111; 23000; 2.39; 7.80; 6.30; 0.50 -19881112; 22500; 2.34; 2.60; 7.20; 0.60 -19881113; 18400; 1.92; 0.00; 6.70; 0.60 -19881114; 15200; 1.58; 0.10; 6.80; 0.50 -19881115; 13600; 1.42; 1.00; 7.60; 0.60 -19881116; 13600; 1.42; 4.50; 9.20; 0.70 -19881117; 15200; 1.58; 1.80; 9.90; 0.70 -19881118; 14500; 1.51; 2.90; 8.30; 0.60 -19881119; 14900; 1.55; 0.00; 6.90; 0.50 -19881120; 13300; 1.38; 0.00; 7.60; 0.60 -19881121; 11700; 1.22; 0.00; 6.90; 0.50 -19881122; 11000; 1.15; 0.00; 6.90; 0.50 -19881123; 10700; 1.11; 0.00; 6.70; 0.50 -19881124; 10200; 1.06; 0.00; 6.30; 0.50 -19881125; 10200; 1.06; 0.00; 7.80; 0.50 -19881126; 9500; 0.99; 4.40; 9.30; 0.60 -19881127; 10500; 1.09; 3.50; 8.30; 0.50 -19881128; 12100; 1.26; 10.00; 9.60; 0.60 -19881129; 21100; 2.20; 18.90; 9.40; 0.60 -19881130; 34200; 3.56; 16.70; 10.10; 0.60 -19881201; 35500; 3.70; 16.40; 7.30; 0.50 -19881202; 39300; 4.09; 8.50; 5.80; 0.40 -19881203; 36300; 3.78; 4.60; 3.30; 0.30 -19881204; 29600; 3.08; 5.90; 3.80; 0.30 -19881205; 26900; 2.80; 23.80; 5.60; 0.40 -19881206; 43800; 4.56; 11.10; 7.80; 0.50 -19881207; 56500; 5.88; 7.60; 7.50; 0.50 -19881208; 43500; 4.53; 5.40; 7.40; 0.50 -19881209; 38900; 4.05; 0.20; 5.80; 0.40 -19881210; 33000; 3.44; 0.00; 3.90; 0.30 -19881211; 28700; 2.99; 0.00; 3.70; 0.30 -19881212; 26600; 2.77; 0.00; 0.90; 0.20 -19881213; 24500; 2.55; 0.00; 0.70; 0.20 -19881214; 23500; 2.45; 0.00; 0.80; 0.20 -19881215; 22300; 2.32; 0.00; 0.80; 0.20 -19881216; 20800; 2.17; 1.10; -0.90; 0.10 -19881217; 20800; 2.17; 4.50; 6.10; 0.40 -19881218; 22800; 2.37; 1.50; 7.80; 0.50 -19881219; 23000; 2.39; 0.70; 7.10; 0.40 -19881220; 19900; 2.07; 2.80; 6.40; 0.40 -19881221; 19000; 1.98; 2.30; 6.20; 0.40 -19881222; 18600; 1.94; 2.40; 8.70; 0.50 -19881223; 18500; 1.93; 0.00; 5.20; 0.40 -19881224; 17100; 1.78; 0.00; 1.70; 0.20 -19881225; 15200; 1.58; 0.00; 1.40; 0.20 -19881226; 14400; 1.50; 0.00; 0.50; 0.20 -19881227; 14500; 1.51; 0.50; 0.80; 0.20 -19881228; 14500; 1.51; 0.80; 1.70; 0.20 -19881229; 13900; 1.45; 0.10; 0.70; 0.20 -19881230; 13700; 1.43; 5.30; 4.60; 0.30 -19881231; 16800; 1.75; 19.90; 6.60; 0.40 -19890101; 31500; 3.28; 1.20; 6.10; 0.40 -19890102; 24100; 2.51; 0.10; 3.40; 0.30 -19890103; 16400; 1.71; 0.00; 1.60; 0.20 -19890104; 14800; 1.54; 0.00; 1.30; 0.20 -19890105; 13900; 1.45; 3.90; 2.60; 0.30 -19890106; 15400; 1.60; 4.20; 5.20; 0.40 -19890107; 17000; 1.77; 0.10; 3.50; 0.30 -19890108; 15400; 1.60; 0.00; 5.00; 0.40 -19890109; 14500; 1.51; 8.30; 5.30; 0.40 -19890110; 17100; 1.78; 0.80; 2.00; 0.30 -19890111; 18000; 1.87; 0.80; -0.20; 0.20 -19890112; 15000; 1.56; 7.70; -1.00; 0.10 -19890113; 19600; 2.04; 13.20; 5.00; 0.40 -19890114; 30300; 3.15; 3.10; 3.50; 0.30 -19890115; 23100; 2.40; 1.10; 3.80; 0.30 -19890116; 18400; 1.92; 0.10; 2.80; 0.30 -19890117; 16800; 1.75; 4.90; 2.40; 0.30 -19890118; 18000; 1.87; 0.30; 3.10; 0.30 -19890119; 17800; 1.85; 1.00; 5.70; 0.40 -19890120; 17800; 1.85; 7.10; 7.30; 0.50 -19890121; 22700; 2.36; 4.10; 8.20; 0.60 -19890122; 22700; 2.36; 12.00; 7.90; 0.60 -19890123; 33200; 3.46; 0.00; 8.20; 0.60 -19890124; 26000; 2.71; 39.30; 7.70; 0.60 -19890125; 51500; 5.36; 11.60; 10.70; 0.70 -19890126; 71000; 7.39; 5.10; 8.40; 0.60 -19890127; 44900; 4.67; 2.60; 7.90; 0.60 -19890128; 39700; 4.13; 0.40; 6.20; 0.50 -19890129; 36400; 3.79; 0.00; 5.10; 0.50 -19890130; 32200; 3.35; 0.00; 2.20; 0.40 -19890131; 29200; 3.04; 0.60; -1.10; 0.20 -19890201; 28200; 2.94; 3.00; 2.90; 0.40 -19890202; 28200; 2.94; 5.50; 5.30; 0.50 -19890203; 31600; 3.29; 10.10; 8.30; 0.70 -19890204; 38200; 3.98; 17.00; 9.20; 0.80 -19890205; 49600; 5.16; 12.30; 9.30; 0.80 -19890206; 44100; 4.59; 2.00; 9.50; 0.80 -19890207; 41500; 4.32; 1.80; 9.50; 0.80 -19890208; 35300; 3.67; 5.90; 9.40; 0.80 -19890209; 37200; 3.87; 19.90; 10.10; 0.90 -19890210; 54000; 5.62; 6.30; 8.30; 0.80 -19890211; 48900; 5.09; 2.20; 6.20; 0.70 -19890212; 39900; 4.15; 5.10; 5.30; 0.60 -19890213; 40500; 4.22; 19.90; 6.40; 0.70 -19890214; 54500; 5.67; 6.80; 6.10; 0.70 -19890215; 53000; 5.52; 11.60; 5.00; 0.60 -19890216; 53000; 5.52; 25.50; 6.60; 0.70 -19890217; 86000; 8.95; 4.00; 9.10; 0.90 -19890218; 72500; 7.55; 4.10; 8.60; 0.90 -19890219; 56500; 5.88; 31.10; 7.20; 0.80 -19890220; 104000; 10.83; 3.50; 9.20; 1.00 -19890221; 80500; 8.38; 9.40; 7.30; 0.90 -19890222; 64500; 6.71; 7.60; 7.60; 0.90 -19890223; 61500; 6.40; 4.50; 7.00; 0.90 -19890224; 55500; 5.78; 2.60; 7.00; 0.90 -19890225; 48700; 5.07; 0.20; 6.50; 0.80 -19890226; 42600; 4.43; 1.10; 4.60; 0.70 -19890227; 39600; 4.12; 8.30; 2.90; 0.60 -19890228; 39900; 4.15; 5.30; 5.50; 0.80 -19890301; 38200; 3.98; 0.20; 10.40; 1.20 -19890302; 36600; 3.81; 0.00; 11.40; 1.30 -19890303; 32500; 3.38; 0.10; 11.10; 1.30 -19890304; 30100; 3.13; 0.00; 9.00; 1.20 -19890305; 27700; 2.88; 0.00; 7.60; 1.10 -19890306; 25700; 2.68; 0.00; 10.30; 1.30 -19890307; 27000; 2.81; 0.50; 9.30; 1.20 -19890308; 25800; 2.69; 0.00; 9.70; 1.30 -19890309; 24700; 2.57; 0.00; 9.70; 1.30 -19890310; 23500; 2.45; 5.20; 9.10; 1.30 -19890311; 24700; 2.57; 3.90; 7.80; 1.20 -19890312; 26000; 2.71; 5.60; 6.70; 1.10 -19890313; 26600; 2.77; 12.40; 8.90; 1.30 -19890314; 31600; 3.29; 3.90; 7.60; 1.20 -19890315; 30500; 3.17; 13.90; 9.50; 1.40 -19890316; 34800; 3.62; 7.90; 9.30; 1.40 -19890317; 43900; 4.57; 6.90; 8.40; 1.30 -19890318; 37200; 3.87; 5.80; 8.00; 1.30 -19890319; 36900; 3.84; 8.90; 7.10; 1.20 -19890320; 36200; 3.77; 5.10; 6.60; 1.20 -19890321; 40700; 4.24; 0.60; 5.90; 1.10 -19890322; 31400; 3.27; 0.50; 6.20; 1.20 -19890323; 29500; 3.07; 0.80; 6.20; 1.20 -19890324; 27900; 2.90; 0.00; 6.70; 1.20 -19890325; 26100; 2.72; 0.90; 9.80; 1.60 -19890326; 25200; 2.62; 2.20; 10.30; 1.70 -19890327; 25600; 2.66; 6.20; 9.60; 1.60 -19890328; 29100; 3.03; 0.00; 3.90; 1.00 -19890329; 24800; 2.58; 0.00; 3.10; 0.90 -19890330; 21700; 2.26; 0.70; 3.90; 1.00 -19890331; 21700; 2.26; 15.00; 7.20; 1.40 -19890401; 32700; 3.40; 9.10; 9.10; 1.60 -19890402; 36900; 3.84; 16.00; 5.60; 1.30 -19890403; 37700; 3.92; 0.50; 4.90; 1.20 -19890404; 35000; 3.64; 0.20; 4.70; 1.20 -19890405; 27400; 2.85; 0.00; 5.90; 1.30 -19890406; 23900; 2.49; 0.20; 6.30; 1.40 -19890407; 22100; 2.30; 2.40; 4.50; 1.20 -19890408; 21700; 2.26; 5.00; 2.80; 1.00 -19890409; 21900; 2.28; 2.10; 2.50; 1.00 -19890410; 22900; 2.38; 1.60; 4.10; 1.20 -19890411; 21300; 2.22; 2.00; 7.70; 1.60 -19890412; 20100; 2.09; 0.10; 9.50; 1.90 -19890413; 19600; 2.04; 0.30; 9.20; 1.90 -19890414; 18400; 1.92; 0.00; 7.00; 1.60 -19890415; 17800; 1.85; 0.00; 6.90; 1.60 -19890416; 16800; 1.75; 0.00; 7.60; 1.70 -19890417; 16200; 1.69; 0.00; 9.10; 1.90 -19890418; 15400; 1.60; 0.50; 8.70; 1.90 -19890419; 14600; 1.52; 0.00; 8.20; 1.80 -19890420; 14500; 1.51; 0.00; 9.60; 2.00 -19890421; 13900; 1.45; 0.00; 10.60; 2.20 -19890422; 13300; 1.38; 1.80; 10.60; 2.20 -19890423; 13500; 1.41; 3.30; 11.00; 2.30 -19890424; 13500; 1.41; 1.30; 9.50; 2.10 -19890425; 14100; 1.47; 0.10; 11.00; 2.30 -19890426; 13700; 1.43; 0.70; 10.00; 2.20 -19890427; 13100; 1.36; 0.90; 7.60; 1.80 -19890428; 12700; 1.32; 5.20; 7.90; 1.90 -19890429; 14100; 1.47; 3.40; 7.70; 1.90 -19890430; 13500; 1.41; 3.30; 6.40; 1.70 -19890501; 13300; 1.38; 0.90; 5.90; 1.60 -19890502; 12500; 1.30; 13.90; 6.40; 1.70 -19890503; 15600; 1.62; 0.10; 8.30; 2.00 -19890504; 14800; 1.54; 1.20; 7.60; 1.90 -19890505; 13500; 1.41; 0.10; 7.50; 1.90 -19890506; 12300; 1.28; 2.70; 8.50; 2.10 -19890507; 11200; 1.17; 0.10; 9.80; 2.30 -19890508; 10600; 1.10; 0.10; 9.10; 2.20 -19890509; 10600; 1.10; 6.60; 10.00; 2.40 -19890510; 11700; 1.22; 4.50; 11.80; 2.70 -19890511; 12500; 1.30; 14.10; 11.50; 2.60 -19890512; 16900; 1.76; 4.50; 10.50; 2.50 -19890513; 18500; 1.93; 0.30; 8.70; 2.20 -19890514; 14600; 1.52; 1.50; 8.90; 2.20 -19890515; 13300; 1.38; 13.00; 8.90; 2.20 -19890516; 15800; 1.64; 2.30; 9.00; 2.30 -19890517; 14800; 1.54; 0.00; 9.20; 2.30 -19890518; 13100; 1.36; 0.00; 11.70; 2.70 -19890519; 11600; 1.21; 0.00; 13.00; 2.90 -19890520; 10100; 1.05; 0.20; 11.90; 2.80 -19890521; 9400; 0.98; 0.00; 10.10; 2.50 -19890522; 9400; 0.98; 0.10; 11.80; 2.80 -19890523; 9200; 0.96; 0.00; 13.80; 3.10 -19890524; 8950; 0.93; 1.20; 14.10; 3.20 -19890525; 9300; 0.97; 14.60; 13.20; 3.10 -19890526; 11900; 1.24; 0.00; 12.40; 2.90 -19890527; 11900; 1.24; 0.00; 13.90; 3.20 -19890528; 10500; 1.09; 0.00; 14.70; 3.30 -19890529; 9550; 0.99; 0.60; 14.30; 3.30 -19890530; 8600; 0.90; 0.00; 12.40; 3.00 -19890531; 7500; 0.78; 0.00; 10.90; 2.70 -19890601; 6500; 0.68; 0.00; 13.00; 3.10 -19890602; 6050; 0.63; 0.00; 11.70; 2.80 -19890603; 5650; 0.59; 0.00; 12.40; 3.00 -19890604; 5650; 0.59; 0.00; 15.40; 3.50 -19890605; 5250; 0.55; 1.60; 11.10; 2.80 -19890606; 5650; 0.59; 6.30; 11.40; 2.80 -19890607; 6400; 0.67; 1.10; 10.20; 2.60 -19890608; 6200; 0.65; 0.90; 10.20; 2.60 -19890609; 6050; 0.63; 6.40; 12.20; 3.00 -19890610; 6400; 0.67; 5.30; 11.10; 2.80 -19890611; 6400; 0.67; 0.20; 10.90; 2.70 -19890612; 6500; 0.68; 11.30; 10.40; 2.70 -19890613; 7650; 0.80; 8.60; 10.90; 2.80 -19890614; 10600; 1.10; 7.30; 11.30; 2.80 -19890615; 11000; 1.15; 0.00; 14.60; 3.40 -19890616; 9400; 0.98; 0.10; 13.80; 3.30 -19890617; 8000; 0.83; 0.30; 15.30; 3.50 -19890618; 7300; 0.76; 0.10; 12.60; 3.10 -19890619; 6500; 0.68; 0.40; 11.40; 2.90 -19890620; 6200; 0.65; 0.30; 12.30; 3.00 -19890621; 5800; 0.60; 0.00; 11.60; 2.90 -19890622; 5550; 0.58; 0.00; 11.90; 2.90 -19890623; 5150; 0.54; 0.00; 12.80; 3.10 -19890624; 5150; 0.54; 6.10; 13.50; 3.20 -19890625; 5150; 0.54; 0.00; 13.30; 3.20 -19890626; 5250; 0.55; 0.00; 13.20; 3.20 -19890627; 4780; 0.50; 0.00; 13.20; 3.10 -19890628; 4530; 0.47; 2.30; 13.00; 3.10 -19890629; 4530; 0.47; 0.00; 13.20; 3.20 -19890630; 4280; 0.45; 0.00; 14.40; 3.40 -19890701; 4020; 0.42; 0.00; 15.80; 3.60 -19890702; 3760; 0.39; 0.00; 18.70; 4.10 -19890703; 3760; 0.39; 0.00; 21.10; 4.50 -19890704; 3400; 0.35; 3.50; 20.90; 4.50 -19890705; 3250; 0.34; 8.70; 19.20; 4.20 -19890706; 3820; 0.40; 10.20; 19.20; 4.10 -19890707; 5100; 0.53; 0.00; 19.70; 4.20 -19890708; 4180; 0.44; 0.00; 17.80; 3.90 -19890709; 3400; 0.35; 0.00; 17.10; 3.80 -19890710; 3250; 0.34; 1.90; 17.60; 3.90 -19890711; 3250; 0.34; 5.20; 19.10; 4.10 -19890712; 3500; 0.36; 5.40; 16.80; 3.70 -19890713; 4280; 0.45; 11.00; 15.60; 3.50 -19890714; 6450; 0.67; 0.30; 14.50; 3.30 -19890715; 5150; 0.54; 0.00; 14.50; 3.30 -19890716; 4080; 0.42; 0.00; 14.20; 3.20 -19890717; 3920; 0.41; 3.30; 14.70; 3.30 -19890718; 3460; 0.36; 3.30; 15.10; 3.40 -19890719; 3720; 0.39; 0.70; 14.70; 3.30 -19890720; 3460; 0.36; 0.00; 14.40; 3.20 -19890721; 3200; 0.33; 0.90; 14.70; 3.30 -19890722; 3050; 0.32; 2.20; 16.90; 3.60 -19890723; 3310; 0.34; 1.20; 18.30; 3.80 -19890724; 3460; 0.36; 5.70; 15.80; 3.40 -19890725; 3560; 0.37; 0.40; 14.30; 3.10 -19890726; 3820; 0.40; 4.40; 14.00; 3.10 -19890727; 3460; 0.36; 2.50; 13.70; 3.00 -19890728; 3720; 0.39; 0.30; 13.80; 3.00 -19890729; 3560; 0.37; 0.00; 14.10; 3.10 -19890730; 3150; 0.33; 0.00; 14.80; 3.20 -19890731; 2950; 0.31; 0.00; 16.20; 3.40 -19890801; 2720; 0.28; 0.00; 16.50; 3.40 -19890802; 2590; 0.27; 0.00; 17.40; 3.50 -19890803; 2620; 0.27; 0.00; 16.50; 3.40 -19890804; 2540; 0.26; 0.00; 14.60; 3.10 -19890805; 2470; 0.26; 6.60; 14.70; 3.00 -19890806; 2570; 0.27; 2.00; 16.30; 3.30 -19890807; 2670; 0.28; 0.20; 15.30; 3.10 -19890808; 2670; 0.28; 2.80; 14.10; 2.90 -19890809; 2640; 0.27; 0.00; 15.60; 3.10 -19890810; 2540; 0.26; 0.00; 16.90; 3.30 -19890811; 2740; 0.29; 0.00; 17.60; 3.40 -19890812; 2370; 0.25; 0.00; 16.90; 3.20 -19890813; 2100; 0.22; 0.00; 16.60; 3.20 -19890814; 2230; 0.23; 0.30; 17.60; 3.30 -19890815; 2370; 0.25; 6.90; 18.20; 3.40 -19890816; 2300; 0.24; 0.80; 16.70; 3.10 -19890817; 2160; 0.22; 1.60; 15.00; 2.90 -19890818; 2470; 0.26; 0.20; 14.70; 2.80 -19890819; 2470; 0.26; 0.20; 13.30; 2.60 -19890820; 2470; 0.26; 0.20; 14.40; 2.70 -19890821; 2470; 0.26; 0.50; 14.50; 2.70 -19890822; 2540; 0.26; 0.00; 14.40; 2.70 -19890823; 2220; 0.23; 3.60; 15.70; 2.80 -19890824; 2370; 0.25; 18.80; 15.60; 2.80 -19890825; 3500; 0.36; 7.30; 15.10; 2.70 -19890826; 4660; 0.49; 18.00; 13.10; 2.40 -19890827; 8850; 0.92; 0.40; 13.80; 2.50 -19890828; 6250; 0.65; 0.00; 13.80; 2.50 -19890829; 4220; 0.44; 0.00; 12.70; 2.30 -19890830; 3450; 0.36; 0.70; 13.70; 2.40 -19890831; 3090; 0.32; 8.50; 13.80; 2.40 -19890901; 3220; 0.34; 0.80; 14.30; 2.50 -19890902; 3490; 0.36; 20.30; 13.90; 2.40 -19890903; 8550; 0.89; 0.00; 12.50; 2.20 -19890904; 6150; 0.64; 0.00; 13.00; 2.20 -19890905; 4630; 0.48; 0.00; 13.70; 2.30 -19890906; 4180; 0.44; 0.80; 15.70; 2.50 -19890907; 3760; 0.39; 0.50; 16.00; 2.60 -19890908; 3610; 0.38; 0.40; 13.60; 2.20 -19890909; 3350; 0.35; 0.00; 12.60; 2.10 -19890910; 3350; 0.35; 0.00; 12.90; 2.10 -19890911; 2890; 0.30; 0.00; 15.60; 2.40 -19890912; 2920; 0.30; 0.00; 16.70; 2.50 -19890913; 2940; 0.31; 0.00; 14.50; 2.20 -19890914; 2940; 0.31; 0.00; 13.60; 2.10 -19890915; 2670; 0.28; 0.00; 15.10; 2.20 -19890916; 2670; 0.28; 0.00; 15.50; 2.30 -19890917; 2600; 0.27; 0.00; 11.50; 1.80 -19890918; 2600; 0.27; 0.00; 11.30; 1.80 -19890919; 2620; 0.27; 0.00; 10.30; 1.60 -19890920; 2520; 0.26; 0.00; 10.50; 1.60 -19890921; 2520; 0.26; 0.10; 11.10; 1.70 -19890922; 2520; 0.26; 0.00; 11.40; 1.70 -19890923; 2520; 0.26; 5.10; 11.70; 1.70 -19890924; 2700; 0.28; 5.10; 14.60; 2.00 -19890925; 2470; 0.26; 0.20; 14.50; 1.90 -19890926; 2470; 0.26; 1.90; 14.50; 1.90 -19890927; 2770; 0.29; 1.90; 15.50; 2.00 -19890928; 2870; 0.30; 0.20; 14.10; 1.80 -19890929; 2770; 0.29; 0.00; 11.30; 1.50 -19890930; 2770; 0.29; 1.40; 12.30; 1.60 -19891001; 2600; 0.27; 2.80; 12.80; 1.60 -19891002; 2600; 0.27; 3.50; 11.20; 1.50 -19891003; 2870; 0.30; 1.10; 11.20; 1.40 -19891004; 2940; 0.31; 4.10; 12.70; 1.60 -19891005; 3120; 0.32; 14.80; 11.00; 1.40 -19891006; 3900; 0.41; 5.20; 10.70; 1.40 -19891007; 6700; 0.70; 11.50; 10.40; 1.30 -19891008; 6450; 0.67; 1.10; 11.20; 1.40 -19891009; 7000; 0.73; 1.50; 11.40; 1.40 -19891010; 5150; 0.54; 0.00; 11.10; 1.30 -19891011; 4220; 0.44; 0.40; 12.50; 1.40 -19891012; 3960; 0.41; 0.00; 12.40; 1.40 -19891013; 3550; 0.37; 0.00; 13.00; 1.40 -19891014; 3390; 0.35; 0.00; 13.50; 1.40 -19891015; 3390; 0.35; 0.00; 13.20; 1.40 -19891016; 3320; 0.35; 0.00; 14.30; 1.40 -19891017; 3240; 0.34; 0.00; 15.20; 1.50 -19891018; 3140; 0.33; 2.70; 15.50; 1.50 -19891019; 3070; 0.32; 0.00; 15.70; 1.50 -19891020; 3070; 0.32; 0.10; 16.10; 1.50 -19891021; 3140; 0.33; 0.60; 15.00; 1.40 -19891022; 3140; 0.33; 0.20; 12.70; 1.20 -19891023; 3040; 0.32; 0.00; 11.50; 1.10 -19891024; 2970; 0.31; 2.10; 12.30; 1.10 -19891025; 3140; 0.33; 0.10; 10.80; 1.00 -19891026; 3070; 0.32; 0.00; 9.90; 0.90 -19891027; 3070; 0.32; 0.90; 10.80; 1.00 -19891028; 3140; 0.33; 0.00; 9.10; 0.90 -19891029; 3040; 0.32; 0.00; 9.20; 0.80 -19891030; 3040; 0.32; 10.40; 12.40; 1.00 -19891031; 3220; 0.34; 6.80; 11.50; 1.00 -19891101; 4800; 0.50; 25.50; 9.50; 0.80 -19891102; 12100; 1.26; 21.10; 14.30; 1.10 -19891103; 20800; 2.17; 5.20; 12.90; 1.00 -19891104; 21200; 2.21; 3.60; 10.60; 0.90 -19891105; 12400; 1.29; 32.20; 12.80; 1.00 -19891106; 30400; 3.16; 1.20; 10.30; 0.80 -19891107; 39800; 4.14; 8.90; 12.80; 0.90 -19891108; 18600; 1.94; 1.80; 13.10; 1.00 -19891109; 18100; 1.88; 0.10; 13.80; 1.00 -19891110; 13700; 1.43; 2.20; 13.80; 1.00 -19891111; 11200; 1.17; 2.20; 14.10; 1.00 -19891112; 10400; 1.08; 2.70; 10.80; 0.80 -19891113; 9750; 1.01; 3.20; 9.20; 0.70 -19891114; 10300; 1.07; 3.40; 11.30; 0.80 -19891115; 10300; 1.07; 3.30; 7.50; 0.60 -19891116; 9950; 1.04; 3.10; 6.70; 0.50 -19891117; 9750; 1.01; 4.20; 5.10; 0.50 -19891118; 9750; 1.01; 0.10; 3.60; 0.40 -19891119; 9300; 0.97; 0.30; 4.30; 0.40 -19891120; 8850; 0.92; 23.10; 5.90; 0.50 -19891121; 17100; 1.78; 3.10; 3.80; 0.40 -19891122; 22200; 2.31; 0.90; 4.90; 0.40 -19891123; 14400; 1.50; 1.60; 6.80; 0.50 -19891124; 11200; 1.17; 1.20; 7.40; 0.50 -19891125; 10900; 1.13; 0.00; 4.00; 0.40 -19891126; 9750; 1.01; 0.00; 2.80; 0.30 -19891127; 9300; 0.97; 0.00; 2.90; 0.30 -19891128; 9050; 0.94; 0.00; -1.00; 0.10 -19891129; 8850; 0.92; 0.10; -1.30; 0.10 -19891130; 8400; 0.87; 0.60; 0.30; 0.20 -19891201; 8700; 0.91; 2.20; -0.30; 0.20 -19891202; 9100; 0.95; 0.10; 1.10; 0.20 -19891203; 9000; 0.94; 0.10; 2.10; 0.30 -19891204; 8700; 0.91; 6.60; 3.20; 0.30 -19891205; 10200; 1.06; 20.50; 8.50; 0.50 -19891206; 23300; 2.43; 22.30; 8.50; 0.50 -19891207; 35000; 3.64; 22.30; 10.10; 0.60 -19891208; 46500; 4.84; 9.10; 8.80; 0.50 -19891209; 40200; 4.18; 20.60; 9.00; 0.50 -19891210; 43200; 4.50; 20.20; 10.70; 0.60 -19891211; 60000; 6.25; 0.10; 10.70; 0.60 -19891212; 43200; 4.50; 0.00; 8.50; 0.50 -19891213; 32200; 3.35; 0.00; 6.60; 0.40 -19891214; 29000; 3.02; 0.00; 5.50; 0.40 -19891215; 26000; 2.71; 0.00; 5.70; 0.40 -19891216; 24100; 2.51; 0.00; 5.00; 0.40 -19891217; 21800; 2.27; 0.00; 6.90; 0.40 -19891218; 20800; 2.17; 0.00; 8.10; 0.50 -19891219; 19400; 2.02; 0.00; 5.10; 0.40 -19891220; 18200; 1.89; 0.60; 4.90; 0.40 -19891221; 20800; 2.17; 15.30; 9.20; 0.50 -19891222; 26500; 2.76; 11.00; 10.80; 0.60 -19891223; 31100; 3.24; 2.00; 13.10; 0.60 -19891224; 28600; 2.98; 0.00; 10.70; 0.60 -19891225; 21000; 2.19; 4.60; 8.80; 0.50 -19891226; 20200; 2.10; 7.30; 9.90; 0.50 -19891227; 25400; 2.64; 6.00; 4.30; 0.30 -19891228; 24700; 2.57; 0.10; 2.70; 0.30 -19891229; 22600; 2.35; 1.60; 4.50; 0.30 -19891230; 19800; 2.06; 0.10; 8.00; 0.50 -19891231; 18800; 1.96; 0.00; 7.70; 0.50 -19900101; 17000; 1.77; 0.00; 6.90; 0.40 -19900102; 16100; 1.68; 0.10; 5.70; 0.40 -19900103; 15500; 1.61; 2.10; 6.60; 0.40 -19900104; 15200; 1.58; 1.50; 8.20; 0.50 -19900105; 15000; 1.56; 0.20; 4.80; 0.30 -19900106; 14500; 1.51; 0.00; 1.50; 0.20 -19900107; 14000; 1.46; 0.10; 4.10; 0.30 -19900108; 13600; 1.42; 3.50; 7.70; 0.50 -19900109; 14100; 1.47; 2.30; 8.70; 0.50 -19900110; 14900; 1.55; 19.60; 6.70; 0.50 -19900111; 26100; 2.72; 4.00; 3.90; 0.40 -19900112; 31500; 3.28; 0.30; 2.70; 0.30 -19900113; 17500; 1.82; 0.00; 3.30; 0.30 -19900114; 15000; 1.56; 0.10; 4.80; 0.40 -19900115; 14300; 1.49; 1.20; 3.80; 0.40 -19900116; 15000; 1.56; 4.20; 2.60; 0.30 -19900117; 15700; 1.63; 1.60; 2.20; 0.30 -19900118; 15000; 1.56; 15.30; 1.70; 0.30 -19900119; 23500; 2.45; 5.90; 5.00; 0.40 -19900120; 27000; 2.81; 4.90; 2.30; 0.30 -19900121; 23100; 2.40; 18.20; 4.80; 0.40 -19900122; 34400; 3.58; 8.90; 4.40; 0.40 -19900123; 38600; 4.02; 34.40; 8.40; 0.60 -19900124; 79500; 8.28; 9.50; 7.90; 0.60 -19900125; 66000; 6.87; 4.30; 4.80; 0.40 -19900126; 42500; 4.42; 1.00; 4.70; 0.40 -19900127; 44600; 4.64; 36.10; 6.40; 0.50 -19900128; 82500; 8.59; 10.20; 5.00; 0.50 -19900129; 74500; 7.76; 2.00; 3.30; 0.40 -19900130; 49600; 5.16; 0.40; 3.10; 0.40 -19900131; 42800; 4.46; 10.30; 6.30; 0.60 -19900201; 43000; 4.48; 3.00; 8.90; 0.70 -19900202; 40700; 4.24; 0.00; 5.80; 0.60 -19900203; 34900; 3.63; 9.10; 5.50; 0.60 -19900204; 34500; 3.59; 1.90; 8.90; 0.80 -19900205; 33900; 3.53; 2.90; 6.50; 0.60 -19900206; 31900; 3.32; 1.40; 5.60; 0.60 -19900207; 30100; 3.13; 1.20; 7.40; 0.70 -19900208; 28600; 2.98; 0.10; 3.90; 0.50 -19900209; 26700; 2.78; 0.10; 0.30; 0.30 -19900210; 25000; 2.60; 0.40; -1.20; 0.20 -19900211; 23600; 2.46; 5.00; -0.40; 0.30 -19900212; 23100; 2.40; 1.00; -1.30; 0.20 -19900213; 22300; 2.32; 1.90; -0.80; 0.20 -19900214; 21500; 2.24; 0.10; 2.10; 0.40 -19900215; 22100; 2.30; 19.70; 3.00; 0.50 -19900216; 33500; 3.49; 6.00; 8.90; 0.90 -19900217; 34600; 3.60; 3.40; 6.90; 0.80 -19900218; 29900; 3.11; 22.50; 2.00; 0.50 -19900219; 43900; 4.57; 4.30; 9.00; 0.90 -19900220; 39200; 4.08; 2.20; 9.00; 1.00 -19900221; 31900; 3.32; 4.30; 9.00; 1.00 -19900222; 30600; 3.19; 1.30; 9.10; 1.00 -19900223; 30100; 3.13; 2.20; 9.80; 1.10 -19900224; 29200; 3.04; 9.10; 9.60; 1.10 -19900225; 31300; 3.26; 17.70; 8.80; 1.00 -19900226; 50000; 5.20; 9.10; 9.40; 1.10 -19900227; 48900; 5.09; 1.60; 8.90; 1.10 -19900228; 36500; 3.80; 12.30; 9.00; 1.10 -19900301; 41000; 4.27; 12.90; 8.10; 1.00 -19900302; 42300; 4.40; 6.20; 7.70; 1.00 -19900303; 44400; 4.62; 1.20; 8.20; 1.10 -19900304; 34900; 3.63; 0.00; 8.00; 1.10 -19900305; 31400; 3.27; 0.00; 5.40; 0.90 -19900306; 29300; 3.05; 0.00; 4.10; 0.80 -19900307; 27800; 2.89; 0.00; 5.30; 0.90 -19900308; 26700; 2.78; 0.10; 7.90; 1.10 -19900309; 24500; 2.55; 0.00; 9.50; 1.30 -19900310; 24800; 2.58; 0.00; 9.80; 1.30 -19900311; 23200; 2.42; 0.80; 9.60; 1.30 -19900312; 22100; 2.30; 0.70; 7.60; 1.20 -19900313; 21300; 2.22; 17.70; 6.90; 1.10 -19900314; 33100; 3.45; 10.50; 7.90; 1.20 -19900315; 35000; 3.64; 19.70; 8.80; 1.30 -19900316; 49700; 5.17; 18.40; 4.30; 0.90 -19900317; 58500; 6.09; 0.10; 4.00; 0.90 -19900318; 37200; 3.87; 0.40; 5.00; 1.00 -19900319; 31400; 3.27; 11.50; 7.80; 1.30 -19900320; 37000; 3.85; 5.70; 9.40; 1.50 -19900321; 42700; 4.44; 3.30; 6.50; 1.20 -19900322; 37300; 3.88; 18.00; 8.20; 1.40 -19900323; 48900; 5.09; 5.50; 5.60; 1.10 -19900324; 42600; 4.43; 4.10; 8.10; 1.40 -19900325; 37400; 3.89; 8.60; 8.40; 1.40 -19900326; 43000; 4.48; 5.10; 7.10; 1.30 -19900327; 39700; 4.13; 6.50; 9.80; 1.60 -19900328; 41900; 4.36; 5.50; 9.50; 1.60 -19900329; 41400; 4.31; 1.10; 8.20; 1.50 -19900330; 40200; 4.18; 9.80; 7.10; 1.40 -19900331; 39700; 4.13; 15.60; 8.30; 1.50 -19900401; 46700; 4.86; 1.30; 7.80; 1.50 -19900402; 42400; 4.41; 0.00; 7.40; 1.50 -19900403; 38100; 3.97; 0.00; 8.20; 1.60 -19900404; 37300; 3.88; 0.20; 7.30; 1.50 -19900405; 35000; 3.64; 0.10; 6.50; 1.40 -19900406; 33900; 3.53; 0.00; 6.20; 1.40 -19900407; 32000; 3.33; 0.00; 5.40; 1.30 -19900408; 31700; 3.30; 0.00; 5.00; 1.30 -19900409; 30000; 3.12; 0.30; 5.70; 1.30 -19900410; 28400; 2.96; 3.30; 3.20; 1.10 -19900411; 26300; 2.74; 2.90; 2.70; 1.00 -19900412; 26300; 2.74; 1.10; 5.80; 1.40 -19900413; 26100; 2.72; 2.20; 6.00; 1.40 -19900414; 23700; 2.47; 0.10; 5.80; 1.40 -19900415; 26500; 2.76; 0.00; 5.30; 1.40 -19900416; 30000; 3.12; 0.00; 5.30; 1.40 -19900417; 29900; 3.11; 8.20; 6.30; 1.50 -19900418; 25700; 2.68; 2.50; 9.60; 2.00 -19900419; 19700; 2.05; 7.60; 9.20; 2.00 -19900420; 21100; 2.20; 1.10; 8.90; 1.90 -19900421; 19200; 2.00; 0.30; 8.00; 1.80 -19900422; 17000; 1.77; 0.00; 8.90; 2.00 -19900423; 17200; 1.79; 1.10; 12.50; 2.50 -19900424; 14700; 1.53; 1.00; 9.90; 2.10 -19900425; 14800; 1.54; 2.10; 9.10; 2.00 -19900426; 14700; 1.53; 0.00; 7.70; 1.80 -19900427; 14200; 1.48; 19.60; 7.40; 1.80 -19900428; 22500; 2.34; 0.10; 7.30; 1.80 -19900429; 23700; 2.47; 9.10; 6.70; 1.70 -19900430; 20300; 2.11; 0.00; 9.30; 2.10 -19900501; 17900; 1.86; 0.00; 8.90; 2.10 -19900502; 14700; 1.53; 0.80; 9.50; 2.20 -19900503; 13500; 1.41; 0.10; 12.70; 2.70 -19900504; 13000; 1.35; 4.00; 13.80; 2.90 -19900505; 13200; 1.37; 0.00; 10.10; 2.30 -19900506; 13900; 1.45; 2.40; 7.30; 1.90 -19900507; 13600; 1.42; 0.00; 10.60; 2.40 -19900508; 12900; 1.34; 3.80; 10.60; 2.40 -19900509; 13200; 1.37; 0.00; 10.70; 2.50 -19900510; 12700; 1.32; 0.00; 12.60; 2.80 -19900511; 12200; 1.27; 0.50; 13.40; 2.90 -19900512; 11400; 1.19; 1.00; 10.40; 2.40 -19900513; 11400; 1.19; 0.20; 8.90; 2.20 -19900514; 11000; 1.15; 2.20; 9.00; 2.20 -19900515; 11000; 1.15; 0.00; 9.20; 2.30 -19900516; 10400; 1.08; 0.00; 11.20; 2.60 -19900517; 9300; 0.97; 3.60; 13.20; 3.00 -19900518; 9500; 0.99; 10.90; 12.30; 2.80 -19900519; 15400; 1.60; 0.70; 11.70; 2.70 -19900520; 12100; 1.26; 0.00; 12.60; 2.90 -19900521; 10700; 1.11; 0.00; 12.20; 2.90 -19900522; 9500; 0.99; 0.00; 10.50; 2.60 -19900523; 9050; 0.94; 0.00; 11.90; 2.80 -19900524; 8700; 0.91; 0.00; 12.20; 2.90 -19900525; 7700; 0.80; 0.00; 11.90; 2.80 -19900526; 7700; 0.80; 0.00; 11.70; 2.80 -19900527; 7350; 0.77; 0.00; 13.70; 3.10 -19900528; 7050; 0.73; 0.00; 16.50; 3.60 -19900529; 6650; 0.69; 0.60; 18.10; 3.90 -19900530; 6650; 0.69; 0.10; 19.80; 4.20 -19900531; 6550; 0.68; 1.80; 18.60; 4.00 -19900601; 6800; 0.71; 0.00; 15.90; 3.50 -19900602; 6850; 0.71; 0.00; 17.00; 3.80 -19900603; 6200; 0.65; 0.40; 19.90; 4.30 -19900604; 5950; 0.62; 0.60; 15.80; 3.60 -19900605; 5700; 0.59; 1.20; 14.50; 3.30 -19900606; 5600; 0.58; 0.60; 14.10; 3.30 -19900607; 5600; 0.58; 0.60; 13.20; 3.10 -19900608; 5700; 0.59; 0.00; 14.30; 3.30 -19900609; 5600; 0.58; 0.00; 14.10; 3.30 -19900610; 5300; 0.55; 0.00; 12.50; 3.00 -19900611; 5300; 0.55; 0.00; 13.90; 3.30 -19900612; 5100; 0.53; 0.00; 13.70; 3.20 -19900613; 4810; 0.50; 0.00; 11.60; 2.90 -19900614; 4810; 0.50; 0.00; 12.30; 3.00 -19900615; 5050; 0.53; 4.30; 10.80; 2.70 -19900616; 5200; 0.54; 10.40; 8.60; 2.40 -19900617; 5550; 0.58; 0.70; 11.50; 2.90 -19900618; 5900; 0.61; 0.00; 14.00; 3.30 -19900619; 5800; 0.60; 0.00; 15.50; 3.60 -19900620; 5200; 0.54; 2.30; 13.90; 3.30 -19900621; 4890; 0.51; 3.10; 13.40; 3.20 -19900622; 4740; 0.49; 11.10; 12.40; 3.00 -19900623; 5400; 0.56; 4.70; 11.20; 2.80 -19900624; 6000; 0.62; 1.60; 10.80; 2.70 -19900625; 5400; 0.56; 0.70; 10.80; 2.80 -19900626; 5050; 0.53; 0.90; 11.60; 2.90 -19900627; 4650; 0.48; 0.00; 11.40; 2.90 -19900628; 4650; 0.48; 0.10; 12.90; 3.10 -19900629; 4650; 0.48; 0.10; 13.20; 3.10 -19900630; 4430; 0.46; 0.00; 13.10; 3.10 -19900701; 4350; 0.45; 0.20; 13.00; 3.10 -19900702; 3910; 0.41; 6.60; 13.50; 3.20 -19900703; 4130; 0.43; 2.50; 12.80; 3.10 -19900704; 4430; 0.46; 3.60; 11.60; 2.90 -19900705; 4430; 0.46; 0.60; 11.20; 2.80 -19900706; 4740; 0.49; 0.00; 11.60; 2.90 -19900707; 4520; 0.47; 0.00; 12.80; 3.10 -19900708; 4210; 0.44; 0.00; 12.50; 3.00 -19900709; 3910; 0.41; 0.00; 13.40; 3.10 -19900710; 3910; 0.41; 6.10; 14.90; 3.40 -19900711; 3910; 0.41; 1.40; 14.40; 3.30 -19900712; 4040; 0.42; 0.50; 14.70; 3.30 -19900713; 4040; 0.42; 0.00; 16.00; 3.60 -19900714; 3750; 0.39; 0.00; 17.40; 3.80 -19900715; 3470; 0.36; 0.00; 18.90; 4.00 -19900716; 3190; 0.33; 0.00; 17.90; 3.80 -19900717; 3750; 0.39; 0.00; 17.10; 3.70 -19900718; 3340; 0.35; 0.00; 15.10; 3.40 -19900719; 3340; 0.35; 0.20; 14.70; 3.30 -19900720; 3340; 0.35; 0.00; 14.00; 3.20 -19900721; 3340; 0.35; 0.00; 14.50; 3.20 -19900722; 3410; 0.35; 0.00; 14.50; 3.20 -19900723; 3410; 0.35; 1.80; 15.80; 3.40 -19900724; 3580; 0.37; 0.00; 15.50; 3.40 -19900725; 3310; 0.34; 13.20; 15.10; 3.30 -19900726; 3790; 0.39; 0.00; 15.70; 3.40 -19900727; 3580; 0.37; 0.80; 16.80; 3.50 -19900728; 3410; 0.35; 0.00; 17.40; 3.60 -19900729; 3150; 0.33; 14.30; 16.60; 3.50 -19900730; 3620; 0.38; 0.00; 15.40; 3.30 -19900731; 3990; 0.42; 9.70; 14.00; 3.00 -19900801; 4830; 0.50; 3.60; 14.80; 3.10 -19900802; 5750; 0.60; 3.60; 14.00; 3.00 -19900803; 5200; 0.54; 0.10; 13.70; 2.90 -19900804; 4740; 0.49; 0.40; 14.00; 3.00 -19900805; 4210; 0.44; 9.00; 14.00; 3.00 -19900806; 4300; 0.45; 0.90; 13.90; 2.90 -19900807; 4810; 0.50; 2.30; 12.70; 2.70 -19900808; 4430; 0.46; 1.50; 13.00; 2.80 -19900809; 4350; 0.45; 0.00; 13.10; 2.70 -19900810; 4130; 0.43; 0.00; 13.30; 2.70 -19900811; 3710; 0.39; 0.30; 14.70; 3.00 -19900812; 3470; 0.36; 0.00; 14.90; 3.00 -19900813; 3470; 0.36; 0.00; 14.80; 2.90 -19900814; 3410; 0.35; 1.40; 15.30; 3.00 -19900815; 3150; 0.33; 0.80; 15.60; 3.00 -19900816; 2950; 0.31; 0.20; 14.80; 2.90 -19900817; 2630; 0.27; 0.00; 13.90; 2.70 -19900818; 2560; 0.27; 0.00; 15.70; 3.00 -19900819; 2380; 0.25; 0.20; 17.00; 3.10 -19900820; 2380; 0.25; 0.00; 15.80; 2.90 -19900821; 2380; 0.25; 0.00; 15.20; 2.80 -19900822; 2320; 0.24; 0.00; 16.30; 3.00 -19900823; 2090; 0.22; 0.00; 17.00; 3.00 -19900824; 1760; 0.18; 0.00; 16.40; 2.90 -19900825; 1620; 0.17; 0.00; 16.20; 2.90 -19900826; 1560; 0.16; 0.00; 15.30; 2.70 -19900827; 1560; 0.16; 0.00; 14.60; 2.60 -19900828; 1560; 0.16; 0.00; 15.60; 2.70 -19900829; 1430; 0.15; 0.00; 15.40; 2.70 -19900830; 1710; 0.18; 0.00; 14.40; 2.50 -19900831; 1710; 0.18; 0.00; 13.80; 2.40 -19900901; 1560; 0.16; 0.00; 14.20; 2.40 -19900902; 1710; 0.18; 0.00; 13.50; 2.30 -19900903; 1710; 0.18; 0.00; 14.60; 2.50 -19900904; 1710; 0.18; 0.10; 16.70; 2.70 -19900905; 1660; 0.17; 4.70; 15.40; 2.50 -19900906; 1920; 0.20; 15.40; 15.60; 2.50 -19900907; 2090; 0.22; 2.90; 16.10; 2.60 -19900908; 2870; 0.30; 2.50; 15.70; 2.50 -19900909; 2740; 0.29; 0.00; 16.50; 2.60 -19900910; 2670; 0.28; 0.10; 16.20; 2.50 -19900911; 2030; 0.21; 0.20; 15.40; 2.40 -19900912; 1920; 0.20; 0.00; 13.60; 2.10 -19900913; 1980; 0.21; 0.00; 14.80; 2.30 -19900914; 1870; 0.19; 0.00; 13.20; 2.10 -19900915; 1660; 0.17; 0.00; 13.40; 2.00 -19900916; 1660; 0.17; 0.00; 16.30; 2.40 -19900917; 1560; 0.16; 0.00; 15.60; 2.30 -19900918; 1660; 0.17; 0.00; 14.40; 2.10 -19900919; 1510; 0.16; 0.00; 13.20; 1.90 -19900920; 1510; 0.16; 0.00; 13.10; 1.90 -19900921; 1510; 0.16; 0.00; 13.30; 1.90 -19900922; 1370; 0.14; 0.00; 15.60; 2.10 -19900923; 1370; 0.14; 0.00; 16.30; 2.10 -19900924; 1370; 0.14; 0.00; 16.40; 2.20 -19900925; 1370; 0.14; 0.00; 14.20; 1.90 -19900926; 1370; 0.14; 0.30; 13.40; 1.80 -19900927; 1510; 0.16; 0.00; 12.50; 1.70 -19900928; 1370; 0.14; 2.00; 12.00; 1.60 -19900929; 1370; 0.14; 1.20; 12.80; 1.70 -19900930; 1370; 0.14; 3.20; 9.60; 1.40 -19901001; 1430; 0.15; 0.40; 11.00; 1.50 -19901002; 1510; 0.16; 0.10; 10.80; 1.40 -19901003; 1510; 0.16; 0.80; 10.40; 1.40 -19901004; 1180; 0.12; 0.00; 10.60; 1.40 -19901005; 1510; 0.16; 0.00; 9.90; 1.30 -19901006; 1370; 0.14; 0.00; 10.70; 1.40 -19901007; 1510; 0.16; 0.00; 13.00; 1.50 -19901008; 1370; 0.14; 0.90; 14.70; 1.60 -19901009; 1620; 0.17; 0.50; 14.80; 1.60 -19901010; 1430; 0.15; 0.10; 17.10; 1.80 -19901011; 1510; 0.16; 0.00; 15.80; 1.70 -19901012; 1370; 0.14; 0.00; 15.30; 1.60 -19901013; 1240; 0.13; 0.00; 14.70; 1.50 -19901014; 1240; 0.13; 0.00; 13.60; 1.40 -19901015; 1290; 0.13; 0.10; 14.60; 1.50 -19901016; 1340; 0.14; 0.20; 11.50; 1.20 -19901017; 1430; 0.15; 1.30; 10.30; 1.10 -19901018; 1430; 0.15; 0.00; 9.00; 1.00 -19901019; 1240; 0.13; 0.00; 8.70; 1.00 -19901020; 1290; 0.13; 0.00; 10.90; 1.10 -19901021; 1290; 0.13; 0.00; 12.70; 1.20 -19901022; 1430; 0.15; 0.40; 12.00; 1.20 -19901023; 1430; 0.15; 0.00; 11.80; 1.10 -19901024; 1480; 0.15; 0.00; 11.10; 1.00 -19901025; 1480; 0.15; 0.00; 12.40; 1.10 -19901026; 1480; 0.15; 0.00; 12.70; 1.10 -19901027; 1480; 0.15; 0.00; 13.50; 1.20 -19901028; 1480; 0.15; 0.00; 11.20; 1.00 -19901029; 1430; 0.15; 0.00; 9.80; 0.90 -19901030; 1430; 0.15; 0.00; 9.20; 0.90 -19901031; 1430; 0.15; 1.10; 11.40; 1.00 -19901101; 1560; 0.16; 0.80; 13.40; 1.10 -19901102; 1620; 0.17; 1.90; 13.80; 1.10 -19901103; 1680; 0.17; 4.20; 13.90; 1.10 -19901104; 1820; 0.19; 0.10; 12.70; 1.00 -19901105; 2150; 0.22; 0.00; 11.10; 0.90 -19901106; 1680; 0.17; 0.00; 8.70; 0.70 -19901107; 1680; 0.17; 0.60; 11.70; 0.90 -19901108; 1620; 0.17; 1.10; 12.10; 0.90 -19901109; 1710; 0.18; 0.00; 12.30; 0.90 -19901110; 1820; 0.19; 0.00; 9.50; 0.70 -19901111; 1820; 0.19; 0.10; 8.00; 0.60 -19901112; 1980; 0.21; 1.50; 11.20; 0.80 -19901113; 1760; 0.18; 0.00; 8.50; 0.70 -19901114; 1820; 0.19; 0.00; 10.00; 0.70 -19901115; 1760; 0.18; 2.50; 12.00; 0.80 -19901116; 1820; 0.19; 0.00; 7.20; 0.60 -19901117; 1920; 0.20; 0.60; 9.20; 0.70 -19901118; 2090; 0.22; 0.60; 13.10; 0.80 -19901119; 2150; 0.22; 4.10; 12.20; 0.80 -19901120; 2150; 0.22; 0.00; 7.10; 0.50 -19901121; 2320; 0.24; 0.00; 8.20; 0.60 -19901122; 2380; 0.25; 0.00; 9.60; 0.60 -19901123; 2050; 0.21; 0.00; 7.10; 0.50 -19901124; 2090; 0.22; 2.00; 7.00; 0.50 -19901125; 2150; 0.22; 4.30; 5.40; 0.40 -19901126; 2320; 0.24; 0.90; 3.90; 0.30 -19901127; 2450; 0.26; 0.10; 3.20; 0.30 -19901128; 2450; 0.26; 0.00; 3.00; 0.30 -19901129; 2260; 0.24; 0.30; 3.00; 0.30 -19901130; 2320; 0.24; 1.00; 1.30; 0.20 -19901201; 2150; 0.22; 8.20; -0.20; 0.20 -19901202; 2320; 0.24; 3.80; 4.30; 0.30 -19901203; 2940; 0.31; 13.80; 8.60; 0.50 -19901204; 4190; 0.44; 0.90; 6.50; 0.40 -19901205; 4130; 0.43; 0.00; 4.70; 0.40 -19901206; 3790; 0.39; 0.70; 4.70; 0.40 -19901207; 3570; 0.37; 27.10; 10.20; 0.60 -19901208; 6450; 0.67; 4.50; 11.40; 0.60 -19901209; 10300; 1.07; 9.70; 11.90; 0.60 -19901210; 8950; 0.93; 19.50; 12.60; 0.60 -19901211; 11600; 1.21; 22.00; 11.20; 0.60 -19901212; 11600; 1.21; 16.20; 10.30; 0.60 -19901213; 16600; 1.73; 13.50; 8.20; 0.50 -19901214; 15700; 1.63; 10.00; 7.80; 0.50 -19901215; 13600; 1.42; 3.60; 7.70; 0.50 -19901216; 12000; 1.25; 7.20; 5.30; 0.40 -19901217; 9550; 0.99; 0.20; 3.30; 0.30 -19901218; 8250; 0.86; 0.00; 2.90; 0.30 -19901219; 6200; 0.65; 0.00; -2.60; 0.10 -19901220; 5400; 0.56; 0.10; -2.50; 0.10 -19901221; 5050; 0.53; 7.80; 0.20; 0.20 -19901222; 5350; 0.56; 8.50; 1.50; 0.20 -19901223; 7500; 0.78; 31.70; 6.40; 0.40 -19901224; 24400; 2.54; 8.60; 9.90; 0.50 -19901225; 30300; 3.15; 2.10; 10.00; 0.50 -19901226; 16700; 1.74; 2.40; 10.60; 0.60 -19901227; 11100; 1.16; 17.80; 10.00; 0.50 -19901228; 16300; 1.70; 16.00; 11.20; 0.60 -19901229; 30300; 3.15; 13.90; 9.70; 0.50 -19901230; 30500; 3.17; 17.20; 9.90; 0.50 -19901231; 33600; 3.50; 0.70; 6.30; 0.40 -19910101; 27700; 2.88; 0.10; -1.80; 0.10 -19910102; 16100; 1.68; 0.00; -2.10; 0.10 -19910103; 14500; 1.51; 7.10; -0.60; 0.10 -19910104; 14400; 1.50; 1.90; -0.70; 0.20 -19910105; 14200; 1.48; 0.00; -1.30; 0.10 -19910106; 12900; 1.34; 0.00; -1.80; 0.10 -19910107; 12500; 1.30; 0.10; -3.10; 0.00 -19910108; 11500; 1.20; 10.00; 0.30; 0.20 -19910109; 15700; 1.63; 11.40; 3.80; 0.30 -19910110; 29900; 3.11; 7.00; 5.80; 0.40 -19910111; 39700; 4.13; 2.00; 3.70; 0.30 -19910112; 23900; 2.49; 0.00; 4.00; 0.30 -19910113; 17400; 1.81; 0.80; 2.30; 0.30 -19910114; 15900; 1.66; 0.60; 3.00; 0.30 -19910115; 15700; 1.63; 0.00; 3.80; 0.30 -19910116; 15300; 1.59; 0.00; 1.90; 0.30 -19910117; 14700; 1.53; 2.80; -0.80; 0.20 -19910118; 14700; 1.53; 7.70; -1.20; 0.20 -19910119; 20700; 2.15; 17.00; 2.30; 0.30 -19910120; 34500; 3.59; 0.10; 4.80; 0.40 -19910121; 23500; 2.45; 0.10; 3.10; 0.30 -19910122; 17600; 1.83; 5.80; 4.20; 0.40 -19910123; 19400; 2.02; 0.30; 5.60; 0.50 -19910124; 17800; 1.85; 0.00; 1.40; 0.30 -19910125; 16200; 1.69; 1.20; 1.10; 0.30 -19910126; 15700; 1.63; 0.20; 2.60; 0.40 -19910127; 15300; 1.59; 0.00; 0.70; 0.30 -19910128; 14700; 1.53; 7.50; 2.30; 0.40 -19910129; 18300; 1.90; 9.40; 3.20; 0.40 -19910130; 22100; 2.30; 1.40; 3.40; 0.40 -19910131; 19700; 2.05; 14.30; 4.60; 0.50 -19910201; 22400; 2.33; 22.90; 8.50; 0.70 -19910202; 44300; 4.61; 0.00; 6.50; 0.60 -19910203; 28800; 3.00; 7.90; 2.90; 0.40 -19910204; 23900; 2.49; 21.30; 7.30; 0.70 -19910205; 39500; 4.11; 3.60; 9.30; 0.80 -19910206; 36800; 3.83; 19.20; 9.30; 0.80 -19910207; 42700; 4.44; 4.00; 9.40; 0.80 -19910208; 41700; 4.34; 15.90; 7.10; 0.70 -19910209; 39000; 4.06; 15.40; 9.30; 0.80 -19910210; 36500; 3.80; 9.60; 9.40; 0.90 -19910211; 37000; 3.85; 6.00; 8.20; 0.80 -19910212; 34200; 3.56; 12.80; 7.90; 0.80 -19910213; 42100; 4.38; 4.30; 8.40; 0.80 -19910214; 43100; 4.49; 1.10; 4.60; 0.60 -19910215; 42900; 4.47; 4.30; -2.30; 0.20 -19910216; 39500; 4.11; 0.00; -0.80; 0.30 -19910217; 37400; 3.89; 0.00; 1.40; 0.40 -19910218; 34900; 3.63; 5.10; 3.10; 0.50 -19910219; 35800; 3.73; 0.00; 6.80; 0.80 -19910220; 33000; 3.44; 0.00; 2.90; 0.50 -19910221; 28200; 2.94; 0.20; 1.20; 0.40 -19910222; 26600; 2.77; 0.80; 3.90; 0.60 -19910223; 24900; 2.59; 0.00; 4.20; 0.60 -19910224; 23400; 2.44; 0.00; 2.80; 0.60 -19910225; 22300; 2.32; 0.00; 2.10; 0.50 -19910226; 21300; 2.22; 0.00; 3.20; 0.60 -19910227; 19900; 2.07; 5.40; 4.60; 0.70 -19910228; 21400; 2.23; 3.30; 3.60; 0.70 -19910301; 21900; 2.28; 1.80; 4.60; 0.70 -19910302; 19400; 2.02; 1.20; 8.60; 1.10 -19910303; 18900; 1.97; 8.10; 9.10; 1.10 -19910304; 21200; 2.21; 1.60; 7.50; 1.00 -19910305; 23200; 2.42; 0.00; 4.90; 0.80 -19910306; 19600; 2.04; 9.10; 5.40; 0.90 -19910307; 24000; 2.50; 0.70; 5.70; 0.90 -19910308; 19900; 2.07; 3.30; 6.30; 1.00 -19910309; 19600; 2.04; 8.00; 8.40; 1.20 -19910310; 27100; 2.82; 11.90; 8.50; 1.20 -19910311; 31700; 3.30; 5.20; 9.90; 1.40 -19910312; 30300; 3.15; 3.30; 10.10; 1.40 -19910313; 29400; 3.06; 1.40; 8.60; 1.30 -19910314; 24600; 2.56; 3.20; 4.30; 0.90 -19910315; 23200; 2.42; 6.60; 1.80; 0.60 -19910316; 27200; 2.83; 0.10; 2.40; 0.70 -19910317; 23400; 2.44; 3.80; 3.60; 0.80 -19910318; 22400; 2.33; 7.40; 4.10; 0.90 -19910319; 24800; 2.58; 2.60; 5.10; 1.00 -19910320; 25400; 2.64; 2.40; 5.20; 1.00 -19910321; 21900; 2.28; 1.30; 5.70; 1.10 -19910322; 21200; 2.21; 3.10; 5.20; 1.10 -19910323; 21700; 2.26; 0.10; 5.20; 1.10 -19910324; 20200; 2.10; 30.20; 8.00; 1.40 -19910325; 49800; 5.18; 10.80; 10.40; 1.70 -19910326; 50500; 5.26; 4.60; 6.70; 1.30 -19910327; 36800; 3.83; 10.10; 6.90; 1.30 -19910328; 36600; 3.81; 4.70; 4.20; 1.00 -19910329; 34700; 3.61; 5.20; 4.20; 1.00 -19910330; 32800; 3.41; 0.00; 5.40; 1.20 -19910331; 31000; 3.23; 0.60; 6.30; 1.30 -19910401; 28600; 2.98; 4.60; 7.60; 1.50 -19910402; 29300; 3.05; 6.70; 6.10; 1.30 -19910403; 30600; 3.19; 3.60; 4.20; 1.10 -19910404; 30600; 3.19; 0.80; 4.20; 1.10 -19910405; 28000; 2.91; 2.00; 3.50; 1.00 -19910406; 25800; 2.69; 2.00; 4.00; 1.10 -19910407; 25000; 2.60; 8.70; 5.50; 1.30 -19910408; 30100; 3.13; 2.90; 7.00; 1.50 -19910409; 27700; 2.88; 3.40; 9.60; 1.80 -19910410; 26200; 2.73; 6.70; 10.90; 2.00 -19910411; 31900; 3.32; 9.60; 8.90; 1.80 -19910412; 31100; 3.24; 1.10; 9.40; 1.90 -19910413; 27900; 2.90; 0.10; 12.90; 2.30 -19910414; 23200; 2.42; 0.10; 11.30; 2.10 -19910415; 21600; 2.25; 0.00; 10.80; 2.10 -19910416; 20000; 2.08; 0.00; 10.30; 2.10 -19910417; 18900; 1.97; 0.00; 7.80; 1.70 -19910418; 17400; 1.81; 0.00; 7.30; 1.70 -19910419; 17200; 1.79; 0.50; 8.10; 1.80 -19910420; 17400; 1.81; 0.00; 9.20; 2.00 -19910421; 18300; 1.90; 14.70; 8.90; 1.90 -19910422; 22300; 2.32; 4.50; 10.10; 2.10 -19910423; 20900; 2.18; 10.40; 9.20; 2.00 -19910424; 24100; 2.51; 2.20; 7.80; 1.80 -19910425; 24500; 2.55; 2.70; 7.60; 1.80 -19910426; 20600; 2.14; 1.30; 7.80; 1.90 -19910427; 18500; 1.93; 0.20; 7.60; 1.80 -19910428; 17400; 1.81; 0.10; 8.50; 2.00 -19910429; 16500; 1.72; 0.00; 8.80; 2.00 -19910430; 16100; 1.68; 0.00; 8.50; 2.00 -19910501; 15900; 1.66; 4.40; 7.30; 1.80 -19910502; 15600; 1.62; 4.90; 5.00; 1.50 -19910503; 15900; 1.66; 2.10; 4.30; 1.40 -19910504; 15900; 1.66; 2.20; 4.60; 1.50 -19910505; 15400; 1.60; 0.10; 5.50; 1.60 -19910506; 14900; 1.55; 0.00; 6.40; 1.70 -19910507; 11000; 1.15; 0.00; 7.20; 1.90 -19910508; 10700; 1.11; 0.00; 9.80; 2.30 -19910509; 10700; 1.11; 0.00; 10.60; 2.40 -19910510; 9950; 1.04; 0.00; 10.90; 2.50 -19910511; 9800; 1.02; 0.00; 11.90; 2.70 -19910512; 9800; 1.02; 0.00; 13.00; 2.90 -19910513; 9800; 1.02; 0.00; 15.90; 3.30 -19910514; 9400; 0.98; 0.00; 19.20; 3.90 -19910515; 9150; 0.95; 0.00; 18.90; 3.80 -19910516; 9050; 0.94; 5.90; 10.80; 2.60 -19910517; 9400; 0.98; 3.60; 9.60; 2.40 -19910518; 9750; 1.01; 0.20; 9.80; 2.40 -19910519; 9750; 1.01; 0.00; 11.30; 2.70 -19910520; 8900; 0.93; 4.00; 9.90; 2.40 -19910521; 9400; 0.98; 8.80; 10.20; 2.50 -19910522; 10700; 1.11; 10.50; 10.30; 2.50 -19910523; 12800; 1.33; 4.50; 9.70; 2.40 -19910524; 12400; 1.29; 6.40; 8.30; 2.20 -19910525; 12900; 1.34; 18.20; 9.60; 2.40 -19910526; 17400; 1.81; 4.70; 10.70; 2.60 -19910527; 22400; 2.33; 2.20; 11.10; 2.70 -19910528; 15300; 1.59; 11.40; 13.00; 3.00 -19910529; 16400; 1.71; 9.40; 13.20; 3.10 -19910530; 23100; 2.40; 14.40; 10.90; 2.70 -19910531; 34200; 3.56; 0.00; 11.70; 2.80 -19910601; 22300; 2.32; 0.00; 13.10; 3.10 -19910602; 14900; 1.55; 0.00; 14.60; 3.40 -19910603; 13400; 1.39; 0.00; 17.30; 3.80 -19910604; 13400; 1.39; 0.00; 13.20; 3.10 -19910605; 12400; 1.29; 0.00; 11.40; 2.80 -19910606; 11900; 1.24; 0.00; 11.30; 2.80 -19910607; 11100; 1.16; 1.00; 11.70; 2.90 -19910608; 10800; 1.12; 0.50; 13.00; 3.10 -19910609; 10800; 1.12; 0.00; 16.40; 3.70 -19910610; 10700; 1.11; 3.10; 16.10; 3.70 -19910611; 11000; 1.15; 1.40; 14.00; 3.30 -19910612; 11600; 1.21; 2.10; 12.30; 3.00 -19910613; 11400; 1.19; 0.00; 12.50; 3.00 -19910614; 10600; 1.10; 1.60; 11.90; 2.90 -19910615; 9700; 1.01; 0.00; 11.70; 2.90 -19910616; 9400; 0.98; 0.00; 13.60; 3.20 -19910617; 8850; 0.92; 0.00; 15.00; 3.50 -19910618; 8500; 0.88; 0.00; 16.40; 3.70 -19910619; 7900; 0.82; 0.00; 17.90; 4.00 -19910620; 7500; 0.78; 0.00; 19.30; 4.20 -19910621; 7400; 0.77; 0.00; 15.80; 3.60 -19910622; 7400; 0.77; 0.00; 13.70; 3.30 -19910623; 7050; 0.73; 2.80; 12.80; 3.10 -19910624; 6850; 0.71; 0.00; 11.90; 2.90 -19910625; 7150; 0.74; 0.70; 13.20; 3.20 -19910626; 7150; 0.74; 0.20; 14.00; 3.30 -19910627; 7400; 0.77; 0.00; 15.00; 3.50 -19910628; 7150; 0.74; 0.10; 15.00; 3.50 -19910629; 6700; 0.70; 0.10; 15.00; 3.50 -19910630; 6150; 0.64; 0.00; 12.70; 3.10 -19910701; 6150; 0.64; 0.00; 13.00; 3.10 -19910702; 5800; 0.60; 0.00; 14.00; 3.30 -19910703; 5800; 0.60; 0.00; 16.40; 3.70 -19910704; 5300; 0.55; 0.00; 18.10; 4.00 -19910705; 5050; 0.53; 0.00; 18.20; 4.00 -19910706; 4740; 0.49; 0.00; 18.00; 4.00 -19910707; 4650; 0.48; 0.00; 17.50; 3.90 -19910708; 4650; 0.48; 0.00; 16.30; 3.60 -19910709; 4410; 0.46; 0.00; 16.00; 3.60 -19910710; 4190; 0.44; 0.00; 15.10; 3.40 -19910711; 3970; 0.41; 0.00; 17.30; 3.80 -19910712; 3900; 0.41; 0.00; 17.50; 3.80 -19910713; 3600; 0.37; 0.00; 16.30; 3.60 -19910714; 3400; 0.35; 0.00; 16.50; 3.60 -19910715; 3400; 0.35; 0.00; 17.30; 3.80 -19910716; 3400; 0.35; 0.00; 17.60; 3.80 -19910717; 3400; 0.35; 0.00; 17.60; 3.80 -19910718; 3400; 0.35; 0.00; 17.50; 3.80 -19910719; 3120; 0.32; 0.00; 14.90; 3.30 -19910720; 3120; 0.32; 0.00; 15.00; 3.30 -19910721; 3120; 0.32; 0.00; 14.50; 3.20 -19910722; 3120; 0.32; 0.00; 14.70; 3.20 -19910723; 3120; 0.32; 0.50; 14.40; 3.20 -19910724; 3120; 0.32; 0.10; 16.20; 3.50 -19910725; 2870; 0.30; 0.00; 17.70; 3.70 -19910726; 2870; 0.30; 0.00; 20.20; 4.10 -19910727; 2870; 0.30; 0.00; 17.80; 3.70 -19910728; 2610; 0.27; 0.20; 18.10; 3.70 -19910729; 2610; 0.27; 3.40; 16.90; 3.50 -19910730; 2610; 0.27; 6.40; 17.30; 3.50 -19910731; 2610; 0.27; 1.70; 15.90; 3.30 -19910801; 4450; 0.46; 15.20; 15.20; 3.20 -19910802; 6800; 0.71; 0.80; 15.00; 3.10 -19910803; 4740; 0.49; 4.60; 14.90; 3.10 -19910804; 3900; 0.41; 0.10; 15.00; 3.10 -19910805; 3480; 0.36; 0.00; 16.30; 3.30 -19910806; 2930; 0.31; 2.10; 15.80; 3.20 -19910807; 2930; 0.31; 2.40; 16.50; 3.30 -19910808; 3120; 0.32; 8.70; 15.20; 3.10 -19910809; 3400; 0.35; 0.90; 15.60; 3.10 -19910810; 3400; 0.35; 0.50; 16.40; 3.20 -19910811; 3400; 0.35; 0.20; 16.90; 3.30 -19910812; 3190; 0.33; 0.00; 18.20; 3.50 -19910813; 3190; 0.33; 1.50; 16.90; 3.30 -19910814; 3400; 0.35; 0.00; 15.30; 3.00 -19910815; 3120; 0.32; 0.50; 13.80; 2.70 -19910816; 2670; 0.28; 9.60; 13.40; 2.60 -19910817; 2610; 0.27; 1.70; 14.00; 2.70 -19910818; 2870; 0.30; 0.10; 13.80; 2.70 -19910819; 2870; 0.30; 2.20; 12.70; 2.50 -19910820; 2870; 0.30; 1.50; 14.70; 2.80 -19910821; 2810; 0.29; 0.20; 15.00; 2.80 -19910822; 3120; 0.32; 0.50; 12.30; 2.40 -19910823; 2870; 0.30; 2.30; 12.40; 2.40 -19910824; 2870; 0.30; 4.20; 13.30; 2.50 -19910825; 2870; 0.30; 2.50; 13.80; 2.60 -19910826; 3120; 0.32; 0.40; 13.80; 2.50 -19910827; 3120; 0.32; 0.10; 13.10; 2.40 -19910828; 3120; 0.32; 0.00; 14.30; 2.60 -19910829; 2870; 0.30; 0.00; 16.10; 2.80 -19910830; 2610; 0.27; 0.40; 15.50; 2.70 -19910831; 2610; 0.27; 0.00; 15.90; 2.70 -19910901; 2610; 0.27; 4.00; 16.60; 2.80 -19910902; 2370; 0.25; 0.40; 15.60; 2.60 -19910903; 2610; 0.27; 0.30; 14.70; 2.50 -19910904; 2610; 0.27; 0.00; 14.30; 2.40 -19910905; 2370; 0.25; 0.00; 15.90; 2.60 -19910906; 2140; 0.22; 0.60; 15.70; 2.50 -19910907; 2140; 0.22; 0.00; 14.90; 2.40 -19910908; 2370; 0.25; 0.00; 15.60; 2.50 -19910909; 2370; 0.25; 0.00; 13.80; 2.20 -19910910; 2370; 0.25; 0.00; 14.90; 2.30 -19910911; 2370; 0.25; 0.00; 13.70; 2.20 -19910912; 2140; 0.22; 0.00; 15.20; 2.30 -19910913; 2140; 0.22; 0.00; 13.80; 2.10 -19910914; 2140; 0.22; 0.00; 12.60; 2.00 -19910915; 1920; 0.20; 0.00; 12.40; 1.90 -19910916; 1920; 0.20; 0.00; 13.30; 2.00 -19910917; 1800; 0.19; 0.00; 14.20; 2.10 -19910918; 1750; 0.18; 0.20; 15.70; 2.20 -19910919; 1920; 0.20; 4.90; 16.00; 2.20 -19910920; 1550; 0.16; 0.40; 13.00; 1.90 -19910921; 1920; 0.20; 4.50; 10.00; 1.60 -19910922; 1920; 0.20; 0.00; 8.90; 1.40 -19910923; 1920; 0.20; 0.70; 10.40; 1.60 -19910924; 2320; 0.24; 0.00; 12.60; 1.80 -19910925; 2560; 0.27; 0.00; 13.10; 1.80 -19910926; 2560; 0.27; 0.80; 15.50; 2.00 -19910927; 2700; 0.28; 0.50; 14.30; 1.90 -19910928; 2560; 0.27; 0.00; 14.50; 1.90 -19910929; 2490; 0.26; 0.00; 14.60; 1.90 -19910930; 2490; 0.26; 1.50; 13.50; 1.70 -19911001; 2210; 0.23; 0.00; 13.40; 1.70 -19911002; 2380; 0.25; 0.00; 14.60; 1.80 -19911003; 2210; 0.23; 0.70; 14.70; 1.80 -19911004; 2210; 0.23; 0.00; 11.70; 1.50 -19911005; 2210; 0.23; 0.40; 10.40; 1.30 -19911006; 2040; 0.21; 4.40; 12.40; 1.50 -19911007; 2210; 0.23; 0.20; 15.40; 1.70 -19911008; 2210; 0.23; 0.60; 16.50; 1.80 -19911009; 2040; 0.21; 3.50; 16.50; 1.80 -19911010; 2040; 0.21; 1.70; 14.80; 1.60 -19911011; 2280; 0.24; 2.40; 13.90; 1.50 -19911012; 2280; 0.24; 7.50; 13.80; 1.50 -19911013; 2630; 0.27; 1.00; 12.00; 1.30 -19911014; 2880; 0.30; 5.20; 11.70; 1.30 -19911015; 2880; 0.30; 1.00; 12.00; 1.30 -19911016; 2630; 0.27; 0.00; 12.70; 1.30 -19911017; 2450; 0.26; 0.00; 11.40; 1.20 -19911018; 2450; 0.26; 0.00; 12.10; 1.20 -19911019; 2450; 0.26; 0.00; 11.40; 1.20 -19911020; 2210; 0.23; 0.00; 11.80; 1.20 -19911021; 2450; 0.26; 8.10; 11.00; 1.10 -19911022; 2860; 0.30; 10.30; 12.00; 1.20 -19911023; 4450; 0.46; 0.20; 10.60; 1.00 -19911024; 3750; 0.39; 14.70; 10.10; 1.00 -19911025; 5750; 0.60; 12.20; 9.70; 1.00 -19911026; 8800; 0.92; 1.80; 8.50; 0.90 -19911027; 6100; 0.63; 0.40; 9.90; 0.90 -19911028; 4670; 0.49; 1.10; 9.30; 0.90 -19911029; 3920; 0.41; 0.00; 9.10; 0.80 -19911030; 3550; 0.37; 11.10; 11.40; 1.00 -19911031; 3810; 0.40; 2.70; 11.80; 1.00 -19911101; 6100; 0.63; 0.20; 10.20; 0.90 -19911102; 5000; 0.52; 2.00; 9.80; 0.80 -19911103; 4450; 0.46; 0.20; 13.10; 1.00 -19911104; 4230; 0.44; 3.20; 12.90; 1.00 -19911105; 4100; 0.43; 2.90; 11.10; 0.90 -19911106; 4060; 0.42; 3.00; 12.50; 0.90 -19911107; 4140; 0.43; 2.40; 12.70; 1.00 -19911108; 4540; 0.47; 15.50; 10.30; 0.80 -19911109; 7950; 0.83; 3.30; 6.20; 0.60 -19911110; 7500; 0.78; 0.70; 5.50; 0.50 -19911111; 6100; 0.63; 11.40; 8.00; 0.70 -19911112; 6850; 0.71; 0.40; 8.60; 0.70 -19911113; 8650; 0.90; 6.80; 6.00; 0.50 -19911114; 7450; 0.78; 3.00; 5.30; 0.50 -19911115; 7150; 0.74; 8.10; 3.40; 0.40 -19911116; 6650; 0.69; 3.90; 4.70; 0.40 -19911117; 7950; 0.83; 5.20; 6.30; 0.50 -19911118; 7450; 0.78; 1.30; 7.80; 0.60 -19911119; 6900; 0.72; 6.50; 7.70; 0.60 -19911120; 6900; 0.72; 0.00; 7.70; 0.60 -19911121; 6650; 0.69; 0.00; 5.90; 0.50 -19911122; 5900; 0.61; 0.00; 5.50; 0.50 -19911123; 5350; 0.56; 0.40; 5.20; 0.40 -19911124; 5100; 0.53; 0.10; 7.40; 0.50 -19911125; 5000; 0.52; 0.00; 9.10; 0.60 -19911126; 4760; 0.50; 0.00; 12.00; 0.70 -19911127; 4760; 0.50; 0.00; 10.40; 0.60 -19911128; 4450; 0.46; 0.00; 7.20; 0.50 -19911129; 4230; 0.44; 0.20; 6.60; 0.50 -19911130; 3970; 0.41; 1.20; 10.40; 0.60 -19911201; 3900; 0.41; 0.40; 11.30; 0.60 -19911202; 4120; 0.43; 0.10; 12.60; 0.70 -19911203; 4040; 0.42; 0.30; 12.30; 0.70 -19911204; 4040; 0.42; 0.00; 11.30; 0.60 -19911205; 3820; 0.40; 0.00; 12.20; 0.70 -19911206; 3900; 0.41; 0.80; 11.00; 0.60 -19911207; 4060; 0.42; 4.30; 11.60; 0.60 -19911208; 4670; 0.49; 10.70; 10.10; 0.60 -19911209; 7150; 0.74; 38.10; 11.70; 0.60 -19911210; 35300; 3.67; 9.00; 12.50; 0.70 -19911211; 34500; 3.59; 3.80; 9.00; 0.50 -19911212; 18700; 1.95; 12.10; 9.30; 0.50 -19911213; 22200; 2.31; 15.40; 10.40; 0.60 -19911214; 29900; 3.11; 29.70; 8.80; 0.50 -19911215; 48300; 5.03; 8.30; 7.30; 0.40 -19911216; 39300; 4.09; 10.70; 10.00; 0.50 -19911217; 34800; 3.62; 3.00; 8.30; 0.50 -19911218; 30400; 3.16; 11.20; 5.70; 0.40 -19911219; 29900; 3.11; 1.60; 4.30; 0.30 -19911220; 27400; 2.85; 1.60; 3.60; 0.30 -19911221; 21700; 2.26; 4.10; 2.30; 0.30 -19911222; 19700; 2.05; 0.00; -1.20; 0.10 -19911223; 18500; 1.93; 3.20; 2.10; 0.20 -19911224; 18600; 1.94; 0.20; 2.90; 0.30 -19911225; 16900; 1.76; 0.10; 1.70; 0.20 -19911226; 14900; 1.55; 21.80; 4.90; 0.30 -19911227; 31900; 3.32; 44.00; 9.70; 0.50 -19911228; 105000; 10.93; 10.30; 6.00; 0.40 -19911229; 70000; 7.29; 3.30; 6.60; 0.40 -19911230; 47600; 4.95; 6.40; 3.60; 0.30 -19911231; 40800; 4.25; 5.10; 3.30; 0.30 -19920101; 40000; 4.16; 5.40; 2.60; 0.30 -19920102; 38600; 4.02; 0.20; 1.20; 0.20 -19920103; 33700; 3.51; 10.40; 7.40; 0.50 -19920104; 40100; 4.17; 5.90; 8.10; 0.50 -19920105; 36600; 3.81; 1.00; 6.90; 0.40 -19920106; 31500; 3.28; 1.60; 7.00; 0.40 -19920107; 28500; 2.97; 5.50; 7.00; 0.50 -19920108; 29300; 3.05; 0.30; 5.30; 0.40 -19920109; 27200; 2.83; 16.60; 3.90; 0.30 -19920110; 37800; 3.93; 0.00; 4.60; 0.40 -19920111; 29500; 3.07; 0.10; 2.00; 0.30 -19920112; 24200; 2.52; 0.00; 2.40; 0.30 -19920113; 22600; 2.35; 0.00; -1.00; 0.10 -19920114; 22800; 2.37; 1.60; -1.80; 0.10 -19920115; 21900; 2.28; 0.90; 0.00; 0.20 -19920116; 21700; 2.26; 0.00; 1.40; 0.30 -19920117; 20000; 2.08; 0.00; 0.60; 0.20 -19920118; 19400; 2.02; 0.00; -1.90; 0.10 -19920119; 19800; 2.06; 11.30; 2.10; 0.30 -19920120; 26000; 2.71; 22.20; 3.50; 0.40 -19920121; 37800; 3.93; 6.00; 6.20; 0.50 -19920122; 47700; 4.97; 7.20; 4.50; 0.40 -19920123; 33100; 3.45; 3.60; 4.50; 0.40 -19920124; 31300; 3.26; 0.10; 4.00; 0.40 -19920125; 26300; 2.74; 0.10; 3.40; 0.40 -19920126; 24200; 2.52; 0.00; 3.40; 0.40 -19920127; 22800; 2.37; 0.00; 0.90; 0.30 -19920128; 21900; 2.28; 0.00; 0.70; 0.30 -19920129; 20400; 2.12; 3.10; 4.80; 0.50 -19920130; 23900; 2.49; 29.80; 9.60; 0.70 -19920131; 58500; 6.09; 6.80; 8.40; 0.70 -19920201; 52000; 5.41; 14.70; 7.30; 0.60 -19920202; 43200; 4.50; 5.00; 8.60; 0.70 -19920203; 50500; 5.26; 12.50; 9.70; 0.80 -19920204; 52500; 5.47; 2.90; 10.70; 0.90 -19920205; 51000; 5.31; 2.50; 9.50; 0.80 -19920206; 43100; 4.49; 6.90; 8.70; 0.80 -19920207; 46900; 4.88; 2.00; 8.50; 0.80 -19920208; 39600; 4.12; 0.60; 10.20; 0.90 -19920209; 35400; 3.69; 2.70; 9.30; 0.80 -19920210; 33700; 3.51; 0.10; 6.70; 0.70 -19920211; 30900; 3.22; 0.10; 6.30; 0.70 -19920212; 29200; 3.04; 1.60; 6.40; 0.70 -19920213; 27800; 2.89; 0.30; 7.70; 0.80 -19920214; 26500; 2.76; 0.00; 6.30; 0.70 -19920215; 24700; 2.57; 2.60; 7.50; 0.80 -19920216; 23900; 2.49; 0.00; 8.90; 0.90 -19920217; 22800; 2.37; 0.00; 7.40; 0.80 -19920218; 21500; 2.24; 0.00; 6.10; 0.70 -19920219; 20400; 2.12; 0.20; 7.10; 0.80 -19920220; 19600; 2.04; 8.60; 9.20; 1.00 -19920221; 23200; 2.42; 8.30; 8.60; 0.90 -19920222; 28500; 2.97; 0.40; 7.40; 0.90 -19920223; 23500; 2.45; 0.70; 4.70; 0.70 -19920224; 20000; 2.08; 0.10; 3.80; 0.60 -19920225; 18900; 1.97; 3.90; 3.60; 0.60 -19920226; 18400; 1.92; 0.00; 4.50; 0.70 -19920227; 17600; 1.83; 0.00; 6.40; 0.90 -19920228; 16700; 1.74; 0.00; 5.70; 0.80 -19920229; 15900; 1.66; 0.00; 5.20; 0.80 -19920301; 15900; 1.66; 0.00; 4.70; 0.80 -19920302; 15400; 1.60; 0.10; 5.20; 0.80 -19920303; 15400; 1.60; 0.00; 5.30; 0.80 -19920304; 14600; 1.52; 0.00; 3.10; 0.70 -19920305; 14500; 1.51; 6.90; 4.60; 0.80 -19920306; 17500; 1.82; 11.60; 8.40; 1.10 -19920307; 22900; 2.38; 11.50; 6.30; 1.00 -19920308; 22600; 2.35; 3.10; 7.60; 1.10 -19920309; 20300; 2.11; 3.30; 8.00; 1.10 -19920310; 17000; 1.77; 1.90; 7.40; 1.10 -19920311; 16900; 1.76; 0.90; 6.50; 1.00 -19920312; 15600; 1.62; 9.40; 7.70; 1.20 -19920313; 18400; 1.92; 2.70; 4.00; 0.80 -19920314; 18700; 1.95; 0.80; 4.30; 0.90 -19920315; 16200; 1.69; 0.00; 5.30; 1.00 -19920316; 15400; 1.60; 0.00; 4.30; 0.90 -19920317; 14900; 1.55; 2.20; 3.50; 0.80 -19920318; 14500; 1.51; 11.30; 3.80; 0.90 -19920319; 22900; 2.38; 5.50; 4.80; 1.00 -19920320; 20800; 2.17; 0.20; 3.30; 0.80 -19920321; 16900; 1.76; 0.00; 1.80; 0.70 -19920322; 15900; 1.66; 9.00; 2.10; 0.70 -19920323; 19600; 2.04; 13.70; 7.50; 1.30 -19920324; 31300; 3.26; 6.40; 6.60; 1.30 -19920325; 24300; 2.53; 2.50; 6.50; 1.20 -19920326; 22800; 2.37; 23.40; 7.50; 1.40 -19920327; 46400; 4.83; 18.20; 11.20; 1.80 -19920328; 56500; 5.88; 3.10; 10.60; 1.70 -19920329; 43800; 4.56; 0.00; 8.90; 1.60 -19920330; 32200; 3.35; 14.00; 7.00; 1.40 -19920331; 40100; 4.17; 2.80; 10.50; 1.80 -19920401; 39200; 4.08; 1.00; 10.00; 1.80 -19920402; 33600; 3.50; 0.00; 7.40; 1.40 -19920403; 28500; 2.97; 0.00; 7.20; 1.40 -19920404; 26300; 2.74; 0.00; 6.40; 1.40 -19920405; 24500; 2.55; 0.00; 5.80; 1.30 -19920406; 23300; 2.43; 0.00; 6.30; 1.40 -19920407; 22400; 2.33; 0.00; 8.60; 1.70 -19920408; 21100; 2.20; 0.00; 6.80; 1.50 -19920409; 20300; 2.11; 0.00; 7.00; 1.50 -19920410; 19700; 2.05; 0.00; 7.90; 1.60 -19920411; 19200; 2.00; 0.00; 9.60; 1.90 -19920412; 18400; 1.92; 0.00; 10.40; 2.00 -19920413; 17600; 1.83; 0.00; 10.50; 2.00 -19920414; 17200; 1.79; 0.00; 12.20; 2.30 -19920415; 16700; 1.74; 6.00; 11.10; 2.20 -19920416; 17300; 1.80; 0.00; 11.80; 2.30 -19920417; 16700; 1.74; 0.00; 10.70; 2.10 -19920418; 15700; 1.63; 0.00; 10.40; 2.10 -19920419; 15200; 1.58; 0.00; 9.20; 1.90 -19920420; 14700; 1.53; 0.00; 6.50; 1.60 -19920421; 14100; 1.47; 0.00; 6.80; 1.60 -19920422; 13600; 1.42; 0.00; 7.70; 1.80 -19920423; 13300; 1.38; 0.00; 9.40; 2.00 -19920424; 13100; 1.36; 0.00; 8.80; 2.00 -19920425; 13100; 1.36; 0.00; 9.10; 2.00 -19920426; 12600; 1.31; 0.00; 8.60; 1.90 -19920427; 12300; 1.28; 0.00; 9.00; 2.00 -19920428; 12100; 1.26; 0.60; 9.10; 2.10 -19920429; 11800; 1.23; 0.00; 7.50; 1.80 -19920430; 11300; 1.18; 0.40; 7.20; 1.80 -19920501; 11300; 1.18; 6.80; 8.50; 2.00 -19920502; 13600; 1.42; 0.10; 8.60; 2.00 -19920503; 12300; 1.28; 0.00; 9.80; 2.20 -19920504; 11300; 1.18; 0.00; 9.30; 2.20 -19920505; 10600; 1.10; 0.00; 9.40; 2.20 -19920506; 10000; 1.04; 0.00; 9.10; 2.20 -19920507; 10000; 1.04; 11.10; 9.50; 2.20 -19920508; 12700; 1.32; 0.00; 9.10; 2.20 -19920509; 12000; 1.25; 0.00; 8.90; 2.20 -19920510; 10600; 1.10; 0.00; 11.30; 2.60 -19920511; 9850; 1.03; 0.80; 13.90; 3.00 -19920512; 9400; 0.98; 3.60; 12.70; 2.80 -19920513; 9300; 0.97; 0.10; 13.40; 2.90 -19920514; 9850; 1.03; 0.00; 14.50; 3.10 -19920515; 9400; 0.98; 0.00; 15.80; 3.30 -19920516; 9000; 0.94; 0.00; 13.90; 3.10 -19920517; 8700; 0.91; 0.00; 13.20; 2.90 -19920518; 8250; 0.86; 0.00; 13.60; 3.00 -19920519; 8250; 0.86; 2.30; 14.20; 3.10 -19920520; 7850; 0.82; 4.20; 11.20; 2.70 -19920521; 8250; 0.86; 2.80; 10.80; 2.60 -19920522; 8700; 0.91; 0.00; 11.40; 2.70 -19920523; 8250; 0.86; 0.00; 10.10; 2.50 -19920524; 7850; 0.82; 0.00; 10.80; 2.60 -19920525; 7600; 0.79; 0.00; 11.90; 2.80 -19920526; 7600; 0.79; 1.00; 11.40; 2.70 -19920527; 7250; 0.75; 3.20; 10.40; 2.60 -19920528; 7450; 0.78; 2.50; 10.00; 2.50 -19920529; 7750; 0.81; 0.00; 9.50; 2.40 -19920530; 7750; 0.81; 1.90; 9.90; 2.50 -19920531; 7450; 0.78; 0.00; 11.80; 2.90 -19920601; 7100; 0.74; 0.40; 13.10; 3.10 -19920602; 6850; 0.71; 0.00; 14.00; 3.20 -19920603; 7100; 0.74; 0.00; 18.00; 3.90 -19920604; 7100; 0.74; 0.00; 21.60; 4.60 -19920605; 6300; 0.66; 0.00; 15.80; 3.60 -19920606; 6050; 0.63; 0.00; 12.80; 3.10 -19920607; 5900; 0.61; 0.00; 11.50; 2.90 -19920608; 5900; 0.61; 7.10; 12.20; 3.00 -19920609; 6550; 0.68; 3.20; 11.80; 2.90 -19920610; 7100; 0.74; 1.00; 12.40; 3.00 -19920611; 6850; 0.71; 0.10; 12.90; 3.10 -19920612; 7100; 0.74; 20.80; 14.00; 3.30 -19920613; 11000; 1.15; 13.10; 16.00; 3.60 -19920614; 11300; 1.18; 6.10; 14.60; 3.40 -19920615; 18500; 1.93; 12.00; 13.80; 3.30 -19920616; 15800; 1.64; 3.60; 14.00; 3.30 -19920617; 13300; 1.38; 5.90; 12.20; 3.00 -19920618; 11000; 1.15; 0.90; 13.80; 3.30 -19920619; 9950; 1.04; 0.20; 12.80; 3.10 -19920620; 9100; 0.95; 0.80; 12.00; 3.00 -19920621; 7750; 0.81; 1.40; 11.40; 2.90 -19920622; 8200; 0.85; 4.30; 10.70; 2.70 -19920623; 7600; 0.79; 11.90; 11.80; 2.90 -19920624; 8700; 0.91; 3.10; 11.60; 2.90 -19920625; 9950; 1.04; 5.10; 11.80; 2.90 -19920626; 9650; 1.00; 4.50; 11.80; 2.90 -19920627; 8850; 0.92; 0.70; 12.90; 3.10 -19920628; 8000; 0.83; 3.80; 12.90; 3.10 -19920629; 7600; 0.79; 0.10; 14.10; 3.30 -19920630; 7200; 0.75; 1.40; 13.30; 3.20 -19920701; 6550; 0.68; 0.00; 12.90; 3.10 -19920702; 5900; 0.61; 0.00; 12.80; 3.10 -19920703; 5800; 0.60; 0.00; 12.80; 3.10 -19920704; 5550; 0.58; 1.40; 13.40; 3.20 -19920705; 5550; 0.58; 1.20; 12.90; 3.10 -19920706; 5550; 0.58; 3.20; 14.00; 3.30 -19920707; 6150; 0.64; 12.10; 14.00; 3.30 -19920708; 8450; 0.88; 2.70; 13.10; 3.10 -19920709; 8550; 0.89; 0.10; 13.70; 3.20 -19920710; 7500; 0.78; 0.00; 13.30; 3.10 -19920711; 6400; 0.67; 1.10; 12.10; 2.90 -19920712; 5900; 0.61; 2.10; 13.00; 3.10 -19920713; 5800; 0.60; 5.00; 13.90; 3.20 -19920714; 6150; 0.64; 4.00; 13.90; 3.20 -19920715; 6550; 0.68; 4.60; 13.20; 3.10 -19920716; 7900; 0.82; 0.00; 13.70; 3.10 -19920717; 7100; 0.74; 1.20; 13.10; 3.00 -19920718; 5900; 0.61; 2.80; 14.50; 3.30 -19920719; 5800; 0.60; 8.90; 15.00; 3.30 -19920720; 7000; 0.73; 1.50; 14.00; 3.20 -19920721; 8300; 0.86; 0.00; 13.70; 3.10 -19920722; 6850; 0.71; 0.00; 16.10; 3.50 -19920723; 5800; 0.60; 0.00; 16.80; 3.60 -19920724; 5400; 0.56; 0.00; 17.90; 3.80 -19920725; 5150; 0.54; 0.30; 17.60; 3.70 -19920726; 4920; 0.51; 1.90; 15.00; 3.20 -19920727; 4920; 0.51; 0.00; 15.10; 3.20 -19920728; 4920; 0.51; 0.00; 19.30; 3.90 -19920729; 4920; 0.51; 0.50; 15.80; 3.30 -19920730; 4920; 0.51; 10.10; 14.40; 3.10 -19920731; 6850; 0.71; 0.40; 15.40; 3.20 -19920801; 6300; 0.66; 0.00; 17.30; 3.50 -19920802; 5550; 0.58; 0.00; 17.80; 3.60 -19920803; 4920; 0.51; 1.60; 17.00; 3.40 -19920804; 4680; 0.49; 1.60; 17.10; 3.50 -19920805; 4680; 0.49; 0.00; 15.60; 3.20 -19920806; 4560; 0.47; 0.00; 15.50; 3.20 -19920807; 4560; 0.47; 2.80; 15.30; 3.10 -19920808; 4330; 0.45; 0.00; 15.70; 3.20 -19920809; 4450; 0.46; 0.00; 16.00; 3.20 -19920810; 4330; 0.45; 0.20; 16.00; 3.20 -19920811; 4330; 0.45; 1.80; 15.90; 3.10 -19920812; 4330; 0.45; 1.30; 15.20; 3.00 -19920813; 3990; 0.42; 2.50; 17.30; 3.30 -19920814; 4330; 0.45; 7.70; 16.90; 3.20 -19920815; 4920; 0.51; 1.00; 16.00; 3.10 -19920816; 4560; 0.47; 5.60; 16.40; 3.10 -19920817; 4680; 0.49; 1.40; 16.90; 3.20 -19920818; 4680; 0.49; 0.00; 14.40; 2.80 -19920819; 4680; 0.49; 0.00; 15.50; 2.90 -19920820; 4330; 0.45; 0.00; 16.20; 3.00 -19920821; 4330; 0.45; 0.00; 16.00; 2.90 -19920822; 3760; 0.39; 0.00; 14.00; 2.60 -19920823; 3650; 0.38; 0.00; 13.30; 2.50 -19920824; 3330; 0.35; 0.00; 14.00; 2.60 -19920825; 3330; 0.35; 0.80; 15.30; 2.80 -19920826; 3110; 0.32; 0.90; 16.50; 2.90 -19920827; 3110; 0.32; 1.30; 18.30; 3.10 -19920828; 3220; 0.34; 3.90; 17.60; 3.00 -19920829; 4100; 0.43; 18.10; 16.60; 2.80 -19920830; 5550; 0.58; 1.40; 15.50; 2.70 -19920831; 4920; 0.51; 0.10; 15.50; 2.70 -19920901; 3760; 0.39; 0.00; 15.20; 2.60 -19920902; 3540; 0.37; 0.00; 15.60; 2.60 -19920903; 3330; 0.35; 0.00; 14.70; 2.50 -19920904; 3220; 0.34; 6.70; 13.60; 2.30 -19920905; 2910; 0.30; 0.30; 14.40; 2.40 -19920906; 2910; 0.30; 0.00; 13.50; 2.30 -19920907; 2910; 0.30; 6.00; 15.10; 2.40 -19920908; 2910; 0.30; 1.40; 13.60; 2.20 -19920909; 3220; 0.34; 4.60; 12.20; 2.00 -19920910; 3220; 0.34; 1.90; 15.20; 2.40 -19920911; 3130; 0.33; 1.50; 15.40; 2.40 -19920912; 3430; 0.36; 1.30; 14.90; 2.30 -19920913; 3540; 0.37; 0.00; 12.80; 2.00 -19920914; 3220; 0.34; 0.10; 12.80; 2.00 -19920915; 3220; 0.34; 0.50; 14.20; 2.10 -19920916; 3220; 0.34; 1.40; 15.80; 2.30 -19920917; 2910; 0.30; 0.10; 13.60; 2.00 -19920918; 2910; 0.30; 2.40; 15.00; 2.20 -19920919; 2910; 0.30; 2.20; 15.00; 2.10 -19920920; 3220; 0.34; 0.80; 13.00; 1.90 -19920921; 3130; 0.33; 3.20; 13.70; 2.00 -19920922; 3130; 0.33; 7.40; 14.70; 2.00 -19920923; 3430; 0.36; 6.90; 15.30; 2.10 -19920924; 3990; 0.42; 0.40; 13.50; 1.90 -19920925; 3990; 0.42; 0.00; 14.40; 1.90 -19920926; 3760; 0.39; 0.00; 12.90; 1.80 -19920927; 3430; 0.36; 0.00; 14.00; 1.80 -19920928; 3430; 0.36; 0.00; 15.70; 2.00 -19920929; 3130; 0.33; 0.00; 14.90; 1.90 -19920930; 3130; 0.33; 0.00; 14.10; 1.80 -19921001; 2910; 0.30; 0.10; 15.50; 1.90 -19921002; 2910; 0.30; 0.00; 15.10; 1.80 -19921003; 3000; 0.31; 0.00; 12.90; 1.60 -19921004; 2910; 0.30; 0.00; 12.40; 1.50 -19921005; 2910; 0.30; 0.00; 10.20; 1.30 -19921006; 2620; 0.27; 5.10; 13.60; 1.60 -19921007; 2620; 0.27; 7.20; 11.40; 1.40 -19921008; 2910; 0.30; 5.50; 8.30; 1.10 -19921009; 3540; 0.37; 3.80; 6.80; 1.00 -19921010; 4220; 0.44; 19.20; 10.20; 1.20 -19921011; 7350; 0.77; 3.70; 9.00; 1.10 -19921012; 7750; 0.81; 0.10; 7.90; 1.00 -19921013; 5550; 0.58; 11.20; 7.70; 1.00 -19921014; 6100; 0.63; 2.30; 9.00; 1.10 -19921015; 6950; 0.72; 8.20; 9.20; 1.10 -19921016; 6850; 0.71; 17.60; 8.50; 1.00 -19921017; 10800; 1.12; 10.70; 8.20; 1.00 -19921018; 12300; 1.28; 2.10; 6.40; 0.80 -19921019; 9400; 0.98; 0.10; 6.70; 0.80 -19921020; 6850; 0.71; 0.00; 8.20; 0.90 -19921021; 5900; 0.61; 11.60; 10.70; 1.10 -19921022; 7600; 0.79; 10.30; 12.90; 1.20 -19921023; 15600; 1.62; 10.10; 11.00; 1.10 -19921024; 14500; 1.51; 3.50; 10.40; 1.00 -19921025; 12100; 1.26; 12.20; 9.50; 0.90 -19921026; 12600; 1.31; 4.00; 13.40; 1.20 -19921027; 15300; 1.59; 0.10; 14.30; 1.20 -19921028; 10700; 1.11; 0.90; 13.90; 1.20 -19921029; 8300; 0.86; 0.00; 9.30; 0.90 -19921030; 7600; 0.79; 0.00; 8.00; 0.80 -19921031; 7250; 0.75; 0.00; 7.40; 0.70 -19921101; 6700; 0.70; 0.00; 8.20; 0.80 -19921102; 6700; 0.70; 0.00; 4.40; 0.50 -19921103; 6450; 0.67; 0.00; 1.10; 0.30 -19921104; 5950; 0.62; 0.00; 0.20; 0.30 -19921105; 5800; 0.60; 7.00; -1.10; 0.20 -19921106; 5950; 0.62; 1.10; -2.50; 0.10 -19921107; 5950; 0.62; 10.20; 0.40; 0.30 -19921108; 11100; 1.16; 0.20; 5.60; 0.60 -19921109; 12200; 1.27; 0.00; 5.80; 0.60 -19921110; 8450; 0.88; 0.00; 4.60; 0.50 -19921111; 7250; 0.75; 0.00; 2.20; 0.40 -19921112; 6450; 0.67; 0.00; 4.00; 0.40 -19921113; 6200; 0.65; 0.00; 5.40; 0.50 -19921114; 6200; 0.65; 18.70; 8.70; 0.70 -19921115; 13200; 1.37; 23.50; 12.80; 0.90 -19921116; 34300; 3.57; 1.90; 12.60; 0.80 -19921117; 27600; 2.87; 12.90; 12.20; 0.80 -19921118; 26400; 2.75; 0.10; 10.30; 0.70 -19921119; 18500; 1.93; 0.00; 11.10; 0.70 -19921120; 14000; 1.46; 0.50; 10.80; 0.70 -19921121; 12900; 1.34; 0.10; 11.60; 0.70 -19921122; 12300; 1.28; 0.90; 12.60; 0.80 -19921123; 11900; 1.24; 1.30; 12.60; 0.80 -19921124; 11500; 1.20; 3.10; 10.70; 0.70 -19921125; 11900; 1.24; 6.80; 7.40; 0.50 -19921126; 12900; 1.34; 2.60; 4.10; 0.40 -19921127; 12900; 1.34; 5.30; 5.80; 0.40 -19921128; 12600; 1.31; 2.00; 4.40; 0.40 -19921129; 13400; 1.39; 0.10; 3.10; 0.30 -19921130; 11600; 1.21; 0.20; 2.40; 0.30 -19921201; 10700; 1.11; 0.00; 1.70; 0.30 -19921202; 10200; 1.06; 3.50; 5.40; 0.40 -19921203; 10700; 1.11; 0.40; 4.60; 0.40 -19921204; 10700; 1.11; 0.80; 5.10; 0.40 -19921205; 10200; 1.06; 1.30; 7.20; 0.50 -19921206; 9900; 1.03; 1.00; 5.90; 0.40 -19921207; 9750; 1.01; 0.00; 1.50; 0.20 -19921208; 9450; 0.98; 0.00; 0.80; 0.20 -19921209; 9050; 0.94; 0.00; -0.20; 0.20 -19921210; 8550; 0.89; 0.00; 8.20; 0.50 -19921211; 8700; 0.91; 0.00; 9.00; 0.50 -19921212; 8700; 0.91; 8.30; 9.00; 0.50 -19921213; 11300; 1.18; 6.40; 11.00; 0.60 -19921214; 19000; 1.98; 10.30; 10.30; 0.60 -19921215; 20600; 2.14; 3.20; 7.20; 0.40 -19921216; 15700; 1.63; 5.80; 5.80; 0.40 -19921217; 15400; 1.60; 11.30; 9.20; 0.50 -19921218; 23200; 2.42; 2.70; 4.40; 0.30 -19921219; 22600; 2.35; 17.70; 7.00; 0.40 -19921220; 33100; 3.45; 5.20; 8.20; 0.50 -19921221; 23900; 2.49; 0.00; 7.70; 0.50 -19921222; 17900; 1.86; 1.90; 9.50; 0.50 -19921223; 17200; 1.79; 0.00; 10.80; 0.60 -19921224; 16700; 1.74; 2.00; 10.20; 0.50 -19921225; 16600; 1.73; 2.80; 7.30; 0.40 -19921226; 16700; 1.74; 8.30; 6.20; 0.40 -19921227; 20100; 2.09; 0.10; 4.40; 0.30 -19921228; 18100; 1.88; 0.00; 3.30; 0.30 -19921229; 15900; 1.66; 0.00; 5.40; 0.40 -19921230; 15400; 1.60; 0.00; 4.10; 0.30 -19921231; 15100; 1.57; 1.00; 5.30; 0.40 -19930101; 14900; 1.55; 0.90; 6.80; 0.40 -19930102; 14600; 1.52; 0.30; 8.20; 0.50 -19930103; 14000; 1.46; 12.80; 10.10; 0.60 -19930104; 21200; 2.21; 0.20; 7.50; 0.50 -19930105; 19100; 1.99; 1.80; 5.30; 0.40 -19930106; 16100; 1.68; 0.00; 7.10; 0.50 -19930107; 15000; 1.56; 0.00; 5.30; 0.40 -19930108; 14200; 1.48; 0.00; 4.40; 0.40 -19930109; 13600; 1.42; 7.00; 6.00; 0.40 -19930110; 15600; 1.62; 7.30; 2.10; 0.30 -19930111; 21400; 2.23; 1.00; 2.60; 0.30 -19930112; 17400; 1.81; 3.30; 2.60; 0.30 -19930113; 15900; 1.66; 1.40; 2.40; 0.30 -19930114; 15000; 1.56; 10.40; 8.00; 0.50 -19930115; 21000; 2.19; 1.60; 6.90; 0.50 -19930116; 21800; 2.27; 9.60; 6.80; 0.50 -19930117; 21400; 2.23; 2.90; 6.70; 0.50 -19930118; 20600; 2.14; 6.20; 7.10; 0.50 -19930119; 22000; 2.29; 6.30; 8.40; 0.60 -19930120; 20300; 2.11; 3.50; 9.00; 0.60 -19930121; 20900; 2.18; 0.70; 8.80; 0.60 -19930122; 18500; 1.93; 0.30; 9.10; 0.60 -19930123; 17600; 1.83; 0.10; 8.70; 0.60 -19930124; 16900; 1.76; 0.30; 6.70; 0.50 -19930125; 16400; 1.71; 0.20; 7.50; 0.60 -19930126; 16200; 1.69; 0.00; 5.90; 0.50 -19930127; 15700; 1.63; 0.00; 5.10; 0.50 -19930128; 14800; 1.54; 0.00; 6.00; 0.50 -19930129; 14500; 1.51; 0.00; 6.40; 0.60 -19930130; 14200; 1.48; 0.00; 4.10; 0.40 -19930131; 13600; 1.42; 0.00; 5.70; 0.50 -19930201; 13600; 1.42; 0.00; 5.60; 0.50 -19930202; 13100; 1.36; 0.20; 5.30; 0.50 -19930203; 14200; 1.48; 16.10; 8.70; 0.70 -19930204; 21600; 2.25; 3.40; 6.10; 0.60 -19930205; 19600; 2.04; 0.70; 7.30; 0.70 -19930206; 15700; 1.63; 0.10; 9.20; 0.80 -19930207; 14300; 1.49; 0.20; 9.10; 0.80 -19930208; 13600; 1.42; 0.90; 7.80; 0.70 -19930209; 13100; 1.36; 3.10; 6.00; 0.60 -19930210; 13800; 1.44; 0.10; 3.70; 0.50 -19930211; 13100; 1.36; 0.00; 2.50; 0.40 -19930212; 12500; 1.30; 0.00; 2.10; 0.40 -19930213; 12000; 1.25; 0.00; 0.80; 0.40 -19930214; 11500; 1.20; 0.00; -0.40; 0.30 -19930215; 11300; 1.18; 0.00; 0.10; 0.30 -19930216; 10900; 1.13; 0.00; 0.80; 0.40 -19930217; 10400; 1.08; 0.00; 0.70; 0.40 -19930218; 10400; 1.08; 0.00; 0.60; 0.40 -19930219; 10400; 1.08; 0.00; 1.20; 0.40 -19930220; 10100; 1.05; 0.20; 2.00; 0.50 -19930221; 10300; 1.07; 13.90; 3.40; 0.60 -19930222; 14900; 1.55; 2.50; 4.50; 0.60 -19930223; 14500; 1.51; 1.70; 4.40; 0.70 -19930224; 12000; 1.25; 0.00; 3.40; 0.60 -19930225; 11300; 1.18; 0.00; 1.50; 0.50 -19930226; 10400; 1.08; 3.80; 2.10; 0.50 -19930227; 12900; 1.34; 16.40; 6.00; 0.80 -19930228; 24200; 2.52; 9.00; 6.40; 0.90 -19930301; 21600; 2.25; 14.40; 7.80; 1.00 -19930302; 25700; 2.68; 7.30; 7.30; 1.00 -19930303; 27300; 2.84; 1.70; 6.50; 0.90 -19930304; 21200; 2.21; 0.00; 5.40; 0.90 -19930305; 16400; 1.71; 6.90; 5.50; 0.90 -19930306; 18400; 1.92; 7.20; 9.70; 1.20 -19930307; 23600; 2.46; 22.90; 11.40; 1.40 -19930308; 39200; 4.08; 3.90; 11.00; 1.40 -19930309; 42300; 4.40; 7.00; 10.70; 1.40 -19930310; 34200; 3.56; 1.70; 12.70; 1.60 -19930311; 29300; 3.05; 1.40; 12.10; 1.60 -19930312; 26500; 2.76; 5.30; 10.70; 1.40 -19930313; 27500; 2.86; 1.70; 8.50; 1.30 -19930314; 27600; 2.87; 8.50; 6.60; 1.10 -19930315; 29500; 3.07; 0.40; 6.70; 1.10 -19930316; 25800; 2.69; 1.00; 5.00; 1.00 -19930317; 22800; 2.37; 1.30; 4.20; 0.90 -19930318; 21900; 2.28; 0.10; 5.60; 1.00 -19930319; 20800; 2.17; 0.00; 7.60; 1.30 -19930320; 20200; 2.10; 0.20; 9.60; 1.50 -19930321; 19300; 2.01; 10.60; 10.60; 1.60 -19930322; 25600; 2.66; 13.50; 9.30; 1.50 -19930323; 34100; 3.55; 12.70; 11.30; 1.70 -19930324; 45300; 4.72; 17.60; 11.40; 1.70 -19930325; 51500; 5.36; 3.70; 11.40; 1.80 -19930326; 38200; 3.98; 0.10; 9.70; 1.60 -19930327; 30300; 3.15; 0.50; 9.80; 1.60 -19930328; 27900; 2.90; 0.10; 11.80; 1.90 -19930329; 26100; 2.72; 15.60; 10.30; 1.70 -19930330; 31300; 3.26; 1.90; 9.00; 1.60 -19930331; 33100; 3.45; 0.00; 9.00; 1.60 -19930401; 25900; 2.70; 0.00; 8.90; 1.60 -19930402; 23600; 2.46; 0.00; 8.60; 1.60 -19930403; 21800; 2.27; 0.00; 11.30; 1.90 -19930404; 20900; 2.18; 0.00; 8.00; 1.60 -19930405; 20200; 2.10; 0.00; 6.20; 1.40 -19930406; 19300; 2.01; 0.00; 7.10; 1.50 -19930407; 18400; 1.92; 0.00; 9.20; 1.80 -19930408; 17900; 1.86; 3.00; 11.80; 2.10 -19930409; 17400; 1.81; 0.70; 14.70; 2.50 -19930410; 17400; 1.81; 1.00; 13.40; 2.30 -19930411; 16900; 1.76; 0.30; 12.20; 2.20 -19930412; 16500; 1.72; 0.10; 11.90; 2.20 -19930413; 16100; 1.68; 5.10; 12.90; 2.30 -19930414; 17300; 1.80; 8.40; 12.00; 2.20 -19930415; 20200; 2.10; 0.50; 12.10; 2.30 -19930416; 17100; 1.78; 0.00; 9.10; 1.90 -19930417; 15400; 1.60; 0.00; 9.00; 1.90 -19930418; 14300; 1.49; 0.00; 7.10; 1.60 -19930419; 13400; 1.39; 0.50; 7.10; 1.70 -19930420; 12900; 1.34; 1.50; 5.90; 1.50 -19930421; 12900; 1.34; 0.00; 6.70; 1.60 -19930422; 12300; 1.28; 0.00; 6.70; 1.60 -19930423; 12000; 1.25; 0.00; 7.60; 1.80 -19930424; 11800; 1.23; 5.90; 7.40; 1.80 -19930425; 12300; 1.28; 8.70; 4.60; 1.40 -19930426; 14400; 1.50; 7.40; 3.30; 1.20 -19930427; 16600; 1.73; 0.00; 6.00; 1.60 -19930428; 15300; 1.59; 0.90; 8.10; 1.90 -19930429; 12700; 1.32; 0.10; 10.10; 2.20 -19930430; 12100; 1.26; 0.00; 10.80; 2.40 -19930501; 11600; 1.21; 1.90; 10.30; 2.30 -19930502; 11600; 1.21; 4.40; 8.30; 2.00 -19930503; 12100; 1.26; 8.10; 6.90; 1.80 -19930504; 13400; 1.39; 3.20; 8.70; 2.10 -19930505; 14100; 1.47; 3.90; 9.10; 2.20 -19930506; 13600; 1.42; 0.00; 11.60; 2.50 -19930507; 12700; 1.32; 1.10; 12.40; 2.70 -19930508; 11600; 1.21; 0.00; 10.70; 2.50 -19930509; 11100; 1.16; 6.60; 10.30; 2.40 -19930510; 13400; 1.39; 0.00; 12.30; 2.70 -19930511; 13200; 1.37; 18.80; 10.40; 2.50 -19930512; 19700; 2.05; 4.10; 10.00; 2.40 -19930513; 21100; 2.20; 5.70; 9.50; 2.30 -19930514; 18500; 1.93; 5.80; 10.50; 2.50 -19930515; 19700; 2.05; 20.20; 9.80; 2.40 -19930516; 33300; 3.47; 11.30; 9.70; 2.40 -19930517; 30300; 3.15; 10.60; 10.90; 2.60 -19930518; 29400; 3.06; 7.30; 12.60; 2.90 -19930519; 29000; 3.02; 1.50; 15.40; 3.30 -19930520; 23000; 2.39; 0.90; 13.60; 3.10 -19930521; 19600; 2.04; 3.60; 12.00; 2.80 -19930522; 18800; 1.96; 11.50; 11.00; 2.60 -19930523; 22600; 2.35; 4.10; 11.70; 2.80 -19930524; 25100; 2.61; 12.50; 10.90; 2.60 -19930525; 26500; 2.76; 1.20; 10.70; 2.60 -19930526; 24100; 2.51; 9.70; 10.50; 2.60 -19930527; 26500; 2.76; 4.60; 11.10; 2.70 -19930528; 25500; 2.65; 10.40; 12.00; 2.90 -19930529; 31000; 3.23; 0.90; 13.50; 3.10 -19930530; 26800; 2.79; 2.60; 16.20; 3.60 -19930531; 23400; 2.44; 0.10; 13.90; 3.20 -19930601; 21900; 2.28; 3.40; 15.90; 3.60 -19930602; 20800; 2.17; 0.30; 13.80; 3.20 -19930603; 19900; 2.07; 4.10; 12.90; 3.10 -19930604; 20100; 2.09; 3.50; 12.30; 3.00 -19930605; 20200; 2.10; 5.90; 13.30; 3.10 -19930606; 21200; 2.21; 0.00; 13.10; 3.10 -19930607; 19900; 2.07; 7.70; 12.10; 2.90 -19930608; 21100; 2.20; 0.30; 14.10; 3.30 -19930609; 20200; 2.10; 1.50; 12.30; 3.00 -19930610; 18200; 1.89; 0.00; 11.90; 2.90 -19930611; 17100; 1.78; 1.70; 13.90; 3.30 -19930612; 17000; 1.77; 0.00; 13.90; 3.30 -19930613; 17000; 1.77; 0.00; 17.10; 3.90 -19930614; 15500; 1.61; 0.00; 20.70; 4.50 -19930615; 14100; 1.47; 0.00; 17.60; 3.90 -19930616; 13200; 1.37; 0.00; 12.70; 3.10 -19930617; 13000; 1.35; 0.00; 11.90; 2.90 -19930618; 12700; 1.32; 0.00; 12.90; 3.10 -19930619; 12100; 1.26; 0.00; 13.40; 3.20 -19930620; 12100; 1.26; 0.00; 14.40; 3.40 -19930621; 11600; 1.21; 0.00; 14.30; 3.40 -19930622; 11300; 1.18; 0.00; 14.50; 3.40 -19930623; 10700; 1.11; 0.00; 15.70; 3.60 -19930624; 9650; 1.00; 0.10; 13.40; 3.20 -19930625; 9650; 1.00; 0.80; 13.10; 3.20 -19930626; 9650; 1.00; 0.60; 11.40; 2.90 -19930627; 9650; 1.00; 0.10; 11.10; 2.80 -19930628; 9500; 0.99; 0.00; 10.80; 2.70 -19930629; 9200; 0.96; 0.00; 12.30; 3.00 -19930630; 8700; 0.91; 0.10; 13.00; 3.10 -19930701; 8700; 0.91; 4.20; 14.70; 3.40 -19930702; 8700; 0.91; 1.30; 12.90; 3.10 -19930703; 9500; 0.99; 5.90; 13.70; 3.20 -19930704; 9650; 1.00; 0.10; 15.30; 3.50 -19930705; 9650; 1.00; 0.70; 15.60; 3.60 -19930706; 8700; 0.91; 0.10; 16.10; 3.60 -19930707; 8000; 0.83; 0.00; 16.70; 3.70 -19930708; 7250; 0.75; 1.00; 18.50; 4.00 -19930709; 7150; 0.74; 0.00; 15.50; 3.50 -19930710; 6600; 0.69; 0.40; 15.10; 3.40 -19930711; 6250; 0.65; 0.60; 16.40; 3.60 -19930712; 6600; 0.69; 0.10; 15.70; 3.50 -19930713; 6600; 0.69; 0.00; 15.70; 3.50 -19930714; 6350; 0.66; 0.20; 16.50; 3.60 -19930715; 5900; 0.61; 0.20; 16.50; 3.60 -19930716; 5450; 0.57; 0.30; 15.10; 3.40 -19930717; 5300; 0.55; 1.70; 12.50; 2.90 -19930718; 5300; 0.55; 0.30; 13.40; 3.10 -19930719; 4980; 0.52; 0.30; 13.60; 3.10 -19930720; 4980; 0.52; 0.10; 16.80; 3.60 -19930721; 4520; 0.47; 1.00; 14.50; 3.20 -19930722; 4640; 0.48; 3.30; 13.50; 3.10 -19930723; 4640; 0.48; 3.40; 12.10; 2.80 -19930724; 4640; 0.48; 1.10; 13.70; 3.10 -19930725; 4640; 0.48; 0.20; 13.40; 3.00 -19930726; 4300; 0.45; 0.00; 15.70; 3.30 -19930727; 4180; 0.44; 0.00; 17.90; 3.70 -19930728; 4310; 0.45; 0.00; 18.30; 3.80 -19930729; 3830; 0.40; 0.00; 21.20; 4.20 -19930730; 3720; 0.39; 1.00; 21.60; 4.20 -19930731; 3830; 0.40; 5.10; 17.20; 3.50 -19930801; 4060; 0.42; 0.60; 15.40; 3.20 -19930802; 4060; 0.42; 0.00; 17.70; 3.60 -19930803; 4070; 0.42; 0.00; 17.70; 3.50 -19930804; 3940; 0.41; 0.20; 21.20; 4.10 -19930805; 3830; 0.40; 11.00; 19.70; 3.80 -19930806; 4190; 0.44; 0.00; 17.60; 3.50 -19930807; 3950; 0.41; 0.10; 17.20; 3.40 -19930808; 3830; 0.40; 0.10; 15.40; 3.10 -19930809; 3720; 0.39; 0.30; 15.40; 3.10 -19930810; 3720; 0.39; 0.00; 15.80; 3.10 -19930811; 3720; 0.39; 0.00; 16.30; 3.20 -19930812; 3530; 0.37; 0.00; 15.90; 3.10 -19930813; 3610; 0.38; 0.00; 18.40; 3.40 -19930814; 3490; 0.36; 0.00; 19.70; 3.60 -19930815; 3300; 0.34; 0.00; 20.10; 3.70 -19930816; 3190; 0.33; 0.00; 17.00; 3.20 -19930817; 3300; 0.34; 0.00; 15.50; 3.00 -19930818; 3110; 0.32; 0.00; 15.70; 3.00 -19930819; 3110; 0.32; 0.00; 15.00; 2.80 -19930820; 3110; 0.32; 0.60; 14.70; 2.80 -19930821; 3110; 0.32; 0.00; 15.10; 2.80 -19930822; 3110; 0.32; 0.00; 17.40; 3.10 -19930823; 2920; 0.30; 0.00; 17.30; 3.10 -19930824; 2920; 0.30; 0.00; 16.80; 3.00 -19930825; 2920; 0.30; 0.00; 16.60; 2.90 -19930826; 2840; 0.30; 0.00; 18.00; 3.10 -19930827; 2390; 0.25; 0.00; 19.90; 3.30 -19930828; 2230; 0.23; 0.00; 19.80; 3.30 -19930829; 2190; 0.23; 0.10; 19.50; 3.20 -19930830; 2190; 0.23; 7.10; 16.70; 2.80 -19930831; 2190; 0.23; 1.50; 17.10; 2.80 -19930901; 2500; 0.26; 0.90; 16.80; 2.80 -19930902; 2500; 0.26; 0.00; 16.10; 2.70 -19930903; 2460; 0.26; 0.00; 15.80; 2.60 -19930904; 2460; 0.26; 0.00; 16.30; 2.60 -19930905; 2460; 0.26; 0.00; 16.50; 2.70 -19930906; 2350; 0.24; 0.00; 17.90; 2.80 -19930907; 2190; 0.23; 0.70; 17.80; 2.80 -19930908; 2190; 0.23; 0.10; 17.80; 2.70 -19930909; 2310; 0.24; 0.00; 17.60; 2.70 -19930910; 2310; 0.24; 11.70; 15.90; 2.50 -19930911; 2680; 0.28; 6.20; 14.40; 2.20 -19930912; 3290; 0.34; 4.70; 14.00; 2.20 -19930913; 3400; 0.35; 0.10; 13.50; 2.10 -19930914; 2720; 0.28; 2.60; 15.70; 2.30 -19930915; 2570; 0.27; 0.20; 16.80; 2.40 -19930916; 2610; 0.27; 0.00; 15.90; 2.30 -19930917; 2460; 0.26; 10.90; 16.70; 2.40 -19930918; 2460; 0.26; 0.40; 15.60; 2.20 -19930919; 3170; 0.33; 31.00; 16.30; 2.30 -19930920; 5200; 0.54; 16.00; 13.70; 2.00 -19930921; 10600; 1.10; 3.00; 13.70; 1.90 -19930922; 6950; 0.72; 2.00; 12.90; 1.80 -19930923; 6000; 0.62; 0.40; 12.80; 1.80 -19930924; 5650; 0.59; 11.30; 15.30; 2.00 -19930925; 6150; 0.64; 17.40; 13.30; 1.80 -19930926; 8950; 0.93; 5.30; 11.90; 1.70 -19930927; 9800; 1.02; 2.70; 11.00; 1.50 -19930928; 6950; 0.72; 0.10; 11.50; 1.60 -19930929; 8150; 0.85; 13.10; 12.80; 1.70 -19930930; 6600; 0.69; 13.10; 16.40; 2.00 -19931001; 11000; 1.15; 10.70; 14.50; 1.80 -19931002; 12100; 1.26; 4.20; 10.10; 1.40 -19931003; 9050; 0.94; 2.90; 8.40; 1.20 -19931004; 7750; 0.81; 0.40; 11.50; 1.50 -19931005; 6700; 0.70; 1.00; 10.80; 1.40 -19931006; 6450; 0.67; 9.80; 12.30; 1.50 -19931007; 7750; 0.81; 0.80; 12.60; 1.50 -19931008; 7050; 0.73; 6.80; 14.30; 1.60 -19931009; 6450; 0.67; 7.80; 12.90; 1.50 -19931010; 10200; 1.06; 21.70; 13.10; 1.50 -19931011; 22900; 2.38; 6.00; 10.40; 1.20 -19931012; 13500; 1.41; 0.20; 12.10; 1.40 -19931013; 10800; 1.12; 9.00; 9.80; 1.10 -19931014; 9600; 1.00; 21.80; 13.20; 1.40 -19931015; 17200; 1.79; 1.80; 12.30; 1.30 -19931016; 22200; 2.31; 15.30; 10.20; 1.10 -19931017; 19600; 2.04; 0.50; 13.10; 1.30 -19931018; 17600; 1.83; 0.10; 10.10; 1.10 -19931019; 12200; 1.27; 3.30; 10.50; 1.10 -19931020; 11400; 1.19; 3.70; 10.10; 1.10 -19931021; 11800; 1.23; 4.50; 6.70; 0.80 -19931022; 12800; 1.33; 1.40; 7.30; 0.80 -19931023; 12000; 1.25; 0.50; 7.50; 0.80 -19931024; 10600; 1.10; 6.70; 9.10; 0.90 -19931025; 11200; 1.17; 11.40; 6.60; 0.70 -19931026; 15900; 1.66; 3.20; 7.70; 0.80 -19931027; 13600; 1.42; 1.00; 9.10; 0.90 -19931028; 12200; 1.27; 10.70; 10.30; 0.90 -19931029; 13200; 1.37; 1.00; 10.50; 0.90 -19931030; 16000; 1.67; 2.80; 11.50; 1.00 -19931031; 13200; 1.37; 0.60; 13.30; 1.10 -19931101; 12600; 1.31; 0.40; 13.00; 1.10 -19931102; 11600; 1.21; 0.00; 13.10; 1.00 -19931103; 11200; 1.17; 0.00; 12.30; 1.00 -19931104; 10800; 1.12; 0.10; 11.80; 0.90 -19931105; 10600; 1.10; 0.00; 10.30; 0.80 -19931106; 10200; 1.06; 0.00; 6.80; 0.60 -19931107; 10000; 1.04; 0.00; 5.90; 0.60 -19931108; 9600; 1.00; 0.00; 4.00; 0.50 -19931109; 9300; 0.97; 0.00; 1.10; 0.30 -19931110; 9100; 0.95; 0.00; 1.20; 0.30 -19931111; 8950; 0.93; 0.30; 6.30; 0.60 -19931112; 8950; 0.93; 0.30; 9.60; 0.70 -19931113; 8200; 0.85; 0.00; 8.70; 0.70 -19931114; 8100; 0.84; 0.00; 7.50; 0.60 -19931115; 7900; 0.82; 0.00; 6.30; 0.50 -19931116; 7900; 0.82; 3.80; 9.20; 0.70 -19931117; 8000; 0.83; 0.60; 11.20; 0.80 -19931118; 9100; 0.95; 0.80; 12.00; 0.80 -19931119; 8200; 0.85; 0.20; 12.70; 0.80 -19931120; 8000; 0.83; 0.00; 13.60; 0.80 -19931121; 7900; 0.82; 0.10; 13.20; 0.80 -19931122; 7900; 0.82; 0.10; 11.60; 0.70 -19931123; 7600; 0.79; 3.30; 9.90; 0.60 -19931124; 7900; 0.82; 0.10; 5.60; 0.40 -19931125; 7900; 0.82; 0.00; 4.60; 0.40 -19931126; 7500; 0.78; 2.60; 8.80; 0.60 -19931127; 7900; 0.82; 5.60; 10.40; 0.60 -19931128; 9300; 0.97; 2.20; 7.90; 0.50 -19931129; 9400; 0.98; 0.10; 7.90; 0.50 -19931130; 8250; 0.86; 4.90; 10.70; 0.60 -19931201; 9100; 0.95; 0.00; 6.20; 0.40 -19931202; 9100; 0.95; 0.10; 4.80; 0.40 -19931203; 8100; 0.84; 0.00; 7.90; 0.50 -19931204; 7750; 0.81; 0.40; 8.50; 0.50 -19931205; 7500; 0.78; 3.10; 6.20; 0.40 -19931206; 7500; 0.78; 1.40; 7.50; 0.50 -19931207; 7750; 0.81; 3.50; 8.40; 0.50 -19931208; 7950; 0.83; 6.50; 8.10; 0.50 -19931209; 10400; 1.08; 3.40; 4.80; 0.30 -19931210; 11000; 1.15; 3.60; 5.40; 0.40 -19931211; 10400; 1.08; 2.20; 7.00; 0.40 -19931212; 10600; 1.10; 2.70; 1.10; 0.20 -19931213; 11600; 1.21; 21.10; 4.10; 0.30 -19931214; 23800; 2.48; 10.20; 9.00; 0.50 -19931215; 23800; 2.48; 17.60; 11.00; 0.60 -19931216; 32300; 3.36; 5.40; 8.40; 0.50 -19931217; 24200; 2.52; 26.80; 6.40; 0.40 -19931218; 43100; 4.49; 3.80; 2.90; 0.30 -19931219; 32200; 3.35; 15.10; 1.80; 0.20 -19931220; 38400; 4.00; 12.40; 7.30; 0.40 -19931221; 60500; 6.30; 2.20; 5.50; 0.40 -19931222; 34800; 3.62; 1.40; 3.60; 0.30 -19931223; 31200; 3.25; 20.70; 4.10; 0.30 -19931224; 44800; 4.66; 0.40; 3.80; 0.30 -19931225; 31300; 3.26; 0.70; 3.10; 0.30 -19931226; 26000; 2.71; 10.00; 5.70; 0.40 -19931227; 30400; 3.16; 4.00; 5.80; 0.40 -19931228; 29500; 3.07; 10.10; 7.50; 0.40 -19931229; 44100; 4.59; 14.40; 8.00; 0.50 -19931230; 52000; 5.41; 3.20; 8.40; 0.50 -19931231; 41600; 4.33; 7.80; 7.50; 0.50 -19940101; 36500; 3.80; 4.90; 6.60; 0.40 -19940102; 33800; 3.52; 1.10; 10.50; 0.60 -19940103; 31300; 3.26; 8.40; 10.00; 0.60 -19940104; 33100; 3.45; 10.20; 11.00; 0.60 -19940105; 44300; 4.61; 24.00; 10.70; 0.60 -19940106; 65000; 6.77; 10.20; 6.80; 0.40 -19940107; 56500; 5.88; 19.30; -2.10; 0.10 -19940108; 54000; 5.62; 8.20; 7.30; 0.50 -19940109; 91000; 9.47; 17.00; 9.90; 0.60 -19940110; 92000; 9.58; 10.20; 8.10; 0.50 -19940111; 96000; 9.99; 0.00; 4.70; 0.40 -19940112; 58000; 6.04; 0.00; 0.60; 0.20 -19940113; 45400; 4.73; 0.00; -1.30; 0.10 -19940114; 39000; 4.06; 0.00; -3.10; 0.10 -19940115; 36100; 3.76; 0.00; 6.20; 0.50 -19940116; 34300; 3.57; 1.10; 9.20; 0.60 -19940117; 31900; 3.32; 0.00; 9.00; 0.60 -19940118; 28300; 2.95; 1.20; 8.70; 0.60 -19940119; 26800; 2.79; 3.40; 8.60; 0.60 -19940120; 26400; 2.75; 2.10; 7.50; 0.60 -19940121; 24600; 2.56; 2.70; 6.90; 0.50 -19940122; 23200; 2.42; 1.00; 6.70; 0.50 -19940123; 22200; 2.31; 13.70; 6.80; 0.50 -19940124; 28100; 2.93; 2.00; 9.70; 0.70 -19940125; 28000; 2.91; 2.90; 8.90; 0.60 -19940126; 23900; 2.49; 7.40; 8.40; 0.60 -19940127; 26300; 2.74; 0.20; 4.60; 0.40 -19940128; 21900; 2.28; 1.10; 5.10; 0.50 -19940129; 19400; 2.02; 0.40; 9.30; 0.70 -19940130; 18800; 1.96; 0.50; 8.40; 0.70 -19940131; 18300; 1.90; 0.10; 8.30; 0.70 -19940201; 17800; 1.85; 0.00; 7.30; 0.60 -19940202; 16800; 1.75; 0.00; 6.10; 0.60 -19940203; 16200; 1.69; 0.50; 7.90; 0.70 -19940204; 16400; 1.71; 0.50; 9.10; 0.80 -19940205; 16800; 1.75; 7.50; 10.10; 0.80 -19940206; 19400; 2.02; 0.00; 9.00; 0.80 -19940207; 18300; 1.90; 0.40; 8.20; 0.80 -19940208; 16500; 1.72; 0.00; 7.40; 0.70 -19940209; 15900; 1.66; 0.00; 8.60; 0.80 -19940210; 15000; 1.56; 0.20; 9.10; 0.80 -19940211; 14800; 1.54; 2.30; 8.50; 0.80 -19940212; 14800; 1.54; 19.00; 9.20; 0.90 -19940213; 27100; 2.82; 3.90; 7.90; 0.80 -19940214; 24800; 2.58; 0.00; 5.00; 0.60 -19940215; 17900; 1.86; 0.00; 4.20; 0.60 -19940216; 15400; 1.60; 1.10; 4.40; 0.60 -19940217; 14800; 1.54; 2.00; 1.60; 0.40 -19940218; 15000; 1.56; 1.70; 4.60; 0.60 -19940219; 15000; 1.56; 0.00; 6.20; 0.80 -19940220; 14400; 1.50; 1.70; 4.10; 0.60 -19940221; 13700; 1.43; 7.70; 2.30; 0.50 -19940222; 17000; 1.77; 1.90; 5.00; 0.70 -19940223; 17400; 1.81; 0.00; 3.30; 0.60 -19940224; 14700; 1.53; 13.50; 3.90; 0.60 -19940225; 20200; 2.10; 4.40; 6.70; 0.90 -19940226; 21500; 2.24; 11.50; 8.20; 1.00 -19940227; 23100; 2.40; 1.80; 9.90; 1.10 -19940228; 23600; 2.46; 1.10; 10.30; 1.20 -19940301; 18200; 1.89; 7.60; 9.10; 1.10 -19940302; 19900; 2.07; 1.60; 8.70; 1.10 -19940303; 18900; 1.97; 10.30; 8.90; 1.10 -19940304; 24300; 2.53; 4.70; 5.90; 0.90 -19940305; 26300; 2.74; 0.00; 6.90; 1.00 -19940306; 19500; 2.03; 6.70; 7.20; 1.10 -19940307; 20100; 2.09; 1.80; 5.30; 0.90 -19940308; 20500; 2.13; 5.80; 4.00; 0.80 -19940309; 21900; 2.28; 15.60; 6.20; 1.00 -19940310; 31100; 3.24; 3.10; 9.60; 1.30 -19940311; 31700; 3.30; 2.50; 7.70; 1.10 -19940312; 23000; 2.39; 6.50; 7.40; 1.10 -19940313; 24300; 2.53; 0.40; 6.50; 1.10 -19940314; 21400; 2.23; 0.30; 7.90; 1.20 -19940315; 20100; 2.09; 12.90; 7.10; 1.20 -19940316; 28600; 2.98; 4.10; 5.80; 1.00 -19940317; 28100; 2.93; 4.60; 5.30; 1.00 -19940318; 24900; 2.59; 7.20; 5.50; 1.00 -19940319; 23700; 2.47; 0.80; 8.90; 1.40 -19940320; 23000; 2.39; 3.70; 8.10; 1.30 -19940321; 20900; 2.18; 3.60; 7.80; 1.30 -19940322; 21600; 2.25; 0.00; 8.70; 1.40 -19940323; 18900; 1.97; 0.00; 7.70; 1.40 -19940324; 17900; 1.86; 0.00; 6.40; 1.20 -19940325; 16900; 1.76; 0.00; 7.70; 1.40 -19940326; 15900; 1.66; 0.00; 9.30; 1.60 -19940327; 15600; 1.62; 0.00; 10.50; 1.70 -19940328; 15000; 1.56; 1.30; 10.00; 1.70 -19940329; 15700; 1.63; 0.00; 7.70; 1.40 -19940330; 14800; 1.54; 0.00; 5.50; 1.20 -19940331; 13900; 1.45; 0.00; 5.70; 1.20 -19940401; 13700; 1.43; 0.10; 5.60; 1.20 -19940402; 13700; 1.43; 0.20; 8.80; 1.60 -19940403; 13500; 1.41; 0.00; 10.60; 1.90 -19940404; 13300; 1.38; 2.40; 11.00; 1.90 -19940405; 13100; 1.36; 12.00; 10.50; 1.90 -19940406; 16500; 1.72; 7.50; 10.40; 1.90 -19940407; 19900; 2.07; 6.70; 11.10; 2.00 -19940408; 19500; 2.03; 0.00; 10.10; 1.90 -19940409; 16100; 1.68; 0.00; 6.50; 1.40 -19940410; 13700; 1.43; 0.00; 6.60; 1.50 -19940411; 13100; 1.36; 0.00; 7.50; 1.60 -19940412; 12500; 1.30; 0.00; 6.00; 1.40 -19940413; 12100; 1.26; 0.00; 4.80; 1.30 -19940414; 11600; 1.21; 0.00; 6.50; 1.50 -19940415; 11400; 1.19; 0.00; 7.30; 1.60 -19940416; 10800; 1.12; 0.00; 9.50; 1.90 -19940417; 10800; 1.12; 0.00; 9.80; 2.00 -19940418; 10600; 1.10; 0.00; 7.90; 1.80 -19940419; 10600; 1.10; 0.00; 9.50; 2.00 -19940420; 10200; 1.06; 0.00; 10.70; 2.20 -19940421; 9800; 1.02; 0.00; 10.00; 2.10 -19940422; 9800; 1.02; 0.00; 11.40; 2.30 -19940423; 9600; 1.00; 0.00; 10.40; 2.20 -19940424; 9400; 0.98; 0.00; 9.70; 2.10 -19940425; 9200; 0.96; 0.00; 9.50; 2.10 -19940426; 8800; 0.92; 0.00; 10.30; 2.20 -19940427; 8600; 0.90; 0.00; 9.30; 2.10 -19940428; 8350; 0.87; 0.00; 11.70; 2.40 -19940429; 8350; 0.87; 0.00; 10.60; 2.30 -19940430; 8200; 0.85; 0.00; 9.60; 2.20 -19940501; 8200; 0.85; 0.20; 9.80; 2.20 -19940502; 7950; 0.83; 0.30; 7.90; 1.90 -19940503; 8200; 0.85; 4.50; 8.80; 2.10 -19940504; 8350; 0.87; 3.00; 6.60; 1.80 -19940505; 8550; 0.89; 7.30; 5.20; 1.60 -19940506; 9200; 0.96; 1.30; 6.70; 1.80 -19940507; 10000; 1.04; 16.00; 6.10; 1.70 -19940508; 13300; 1.38; 0.50; 8.30; 2.10 -19940509; 10600; 1.10; 0.10; 7.50; 1.90 -19940510; 9000; 0.94; 0.00; 8.60; 2.10 -19940511; 8150; 0.85; 0.70; 11.80; 2.70 -19940512; 7900; 0.82; 0.10; 14.30; 3.10 -19940513; 7700; 0.80; 0.00; 17.50; 3.60 -19940514; 7250; 0.75; 0.00; 17.20; 3.60 -19940515; 7050; 0.73; 0.00; 15.70; 3.30 -19940516; 6850; 0.71; 0.00; 13.80; 3.00 -19940517; 6450; 0.67; 0.10; 12.80; 2.90 -19940518; 6350; 0.66; 0.00; 13.70; 3.00 -19940519; 6050; 0.63; 1.40; 12.90; 2.90 -19940520; 6050; 0.63; 1.00; 12.20; 2.80 -19940521; 6050; 0.63; 3.60; 12.80; 2.90 -19940522; 6350; 0.66; 7.80; 13.20; 3.00 -19940523; 6850; 0.71; 1.40; 12.00; 2.80 -19940524; 7300; 0.76; 0.00; 11.60; 2.80 -19940525; 6850; 0.71; 0.00; 13.70; 3.10 -19940526; 6350; 0.66; 8.00; 14.40; 3.20 -19940527; 6350; 0.66; 0.00; 12.70; 3.00 -19940528; 6600; 0.69; 0.00; 12.50; 2.90 -19940529; 6050; 0.63; 0.00; 15.20; 3.40 -19940530; 5800; 0.60; 0.10; 15.50; 3.50 -19940531; 5700; 0.59; 0.00; 15.50; 3.50 -19940601; 5450; 0.57; 0.90; 17.20; 3.80 -19940602; 5450; 0.57; 1.50; 17.90; 3.90 -19940603; 6150; 0.64; 1.40; 17.90; 3.90 -19940604; 5350; 0.56; 0.10; 15.00; 3.40 -19940605; 5350; 0.56; 0.10; 17.20; 3.80 -19940606; 5100; 0.53; 0.00; 15.70; 3.60 -19940607; 4870; 0.51; 0.00; 14.90; 3.40 -19940608; 4870; 0.51; 0.00; 17.20; 3.80 -19940609; 4630; 0.48; 0.40; 21.00; 4.50 -19940610; 4170; 0.43; 0.10; 16.10; 3.70 -19940611; 4400; 0.46; 6.20; 13.00; 3.10 -19940612; 4400; 0.46; 8.70; 12.40; 3.00 -19940613; 4870; 0.51; 0.00; 13.50; 3.20 -19940614; 5100; 0.53; 7.10; 11.40; 2.80 -19940615; 5100; 0.53; 1.00; 14.00; 3.30 -19940616; 5100; 0.53; 0.70; 16.30; 3.70 -19940617; 5100; 0.53; 18.60; 17.10; 3.80 -19940618; 6400; 0.67; 4.00; 14.10; 3.30 -19940619; 7700; 0.80; 0.10; 13.60; 3.20 -19940620; 6500; 0.68; 0.80; 14.90; 3.50 -19940621; 5700; 0.59; 11.50; 15.70; 3.60 -19940622; 6250; 0.65; 6.00; 15.40; 3.50 -19940623; 7500; 0.78; 6.50; 14.20; 3.30 -19940624; 8650; 0.90; 0.90; 15.20; 3.50 -19940625; 7200; 0.75; 8.00; 15.70; 3.60 -19940626; 6850; 0.71; 11.50; 14.20; 3.30 -19940627; 9900; 1.03; 2.40; 14.10; 3.30 -19940628; 8200; 0.85; 0.20; 14.60; 3.40 -19940629; 6750; 0.70; 0.30; 13.90; 3.30 -19940630; 5900; 0.61; 0.00; 13.70; 3.30 -19940701; 5350; 0.56; 0.00; 16.10; 3.70 -19940702; 5100; 0.53; 0.00; 16.00; 3.60 -19940703; 4630; 0.48; 0.10; 14.20; 3.30 -19940704; 4630; 0.48; 0.00; 13.40; 3.20 -19940705; 4320; 0.45; 0.00; 16.10; 3.60 -19940706; 4090; 0.43; 0.00; 17.50; 3.90 -19940707; 3860; 0.40; 0.00; 18.80; 4.10 -19940708; 3570; 0.37; 9.90; 22.60; 4.70 -19940709; 3630; 0.38; 1.10; 17.50; 3.90 -19940710; 3860; 0.40; 0.10; 18.30; 4.00 -19940711; 3760; 0.39; 1.10; 19.00; 4.10 -19940712; 3660; 0.38; 1.00; 16.70; 3.70 -19940713; 3570; 0.37; 12.50; 17.90; 3.90 -19940714; 4090; 0.43; 2.70; 16.10; 3.60 -19940715; 5100; 0.53; 0.20; 15.20; 3.40 -19940716; 4460; 0.46; 0.00; 14.00; 3.20 -19940717; 3890; 0.40; 0.00; 15.30; 3.40 -19940718; 3800; 0.40; 0.00; 17.60; 3.80 -19940719; 3340; 0.35; 0.00; 18.80; 4.00 -19940720; 3250; 0.34; 17.90; 19.40; 4.10 -19940721; 5550; 0.58; 6.00; 19.00; 4.00 -19940722; 5800; 0.60; 12.90; 16.40; 3.50 -19940723; 7350; 0.77; 2.10; 15.60; 3.40 -19940724; 9050; 0.94; 0.10; 16.00; 3.40 -19940725; 6500; 0.68; 0.00; 16.20; 3.50 -19940726; 4920; 0.51; 0.00; 16.90; 3.60 -19940727; 3800; 0.40; 0.00; 15.80; 3.40 -19940728; 3660; 0.38; 0.00; 15.20; 3.30 -19940729; 3570; 0.37; 1.80; 16.20; 3.40 -19940730; 3660; 0.38; 4.20; 16.50; 3.40 -19940731; 3890; 0.40; 0.00; 17.20; 3.50 -19940801; 3760; 0.39; 0.00; 17.20; 3.50 -19940802; 3630; 0.38; 0.00; 17.00; 3.50 -19940803; 3530; 0.37; 0.00; 18.20; 3.60 -19940804; 3630; 0.38; 5.70; 16.20; 3.30 -19940805; 3630; 0.38; 0.20; 17.40; 3.50 -19940806; 3530; 0.37; 0.60; 16.50; 3.30 -19940807; 3430; 0.36; 0.00; 16.70; 3.30 -19940808; 3110; 0.32; 0.50; 15.70; 3.20 -19940809; 3110; 0.32; 0.30; 17.40; 3.40 -19940810; 3110; 0.32; 0.00; 16.80; 3.30 -19940811; 2880; 0.30; 0.00; 17.80; 3.40 -19940812; 2790; 0.29; 0.00; 16.40; 3.20 -19940813; 2540; 0.26; 2.40; 15.30; 3.00 -19940814; 2540; 0.26; 7.00; 16.30; 3.10 -19940815; 2540; 0.26; 0.10; 16.40; 3.10 -19940816; 2930; 0.31; 2.80; 15.40; 3.00 -19940817; 3020; 0.31; 0.90; 16.20; 3.10 -19940818; 2880; 0.30; 3.50; 15.80; 3.00 -19940819; 2880; 0.30; 0.00; 14.50; 2.80 -19940820; 2790; 0.29; 0.20; 14.10; 2.70 -19940821; 2540; 0.26; 0.00; 13.50; 2.60 -19940822; 2310; 0.24; 0.00; 14.20; 2.70 -19940823; 2000; 0.21; 0.00; 14.80; 2.70 -19940824; 2080; 0.22; 3.10; 14.40; 2.70 -19940825; 2170; 0.23; 21.40; 14.60; 2.70 -19940826; 4510; 0.47; 2.20; 13.60; 2.50 -19940827; 4790; 0.50; 0.20; 14.30; 2.60 -19940828; 3570; 0.37; 0.00; 14.30; 2.50 -19940829; 3020; 0.31; 1.20; 15.10; 2.60 -19940830; 2700; 0.28; 1.20; 14.30; 2.50 -19940831; 2790; 0.29; 0.00; 13.00; 2.30 -19940901; 2540; 0.26; 1.00; 14.20; 2.50 -19940902; 2540; 0.26; 0.00; 16.30; 2.70 -19940903; 2540; 0.26; 0.00; 16.10; 2.70 -19940904; 2310; 0.24; 0.00; 18.40; 2.90 -19940905; 2080; 0.22; 2.30; 16.60; 2.70 -19940906; 2230; 0.23; 0.60; 13.30; 2.20 -19940907; 2080; 0.22; 0.30; 15.00; 2.40 -19940908; 2080; 0.22; 0.10; 15.80; 2.50 -19940909; 2080; 0.22; 0.00; 17.00; 2.60 -19940910; 2080; 0.22; 0.00; 17.90; 2.70 -19940911; 2000; 0.21; 0.00; 17.60; 2.60 -19940912; 1770; 0.18; 0.00; 16.50; 2.50 -19940913; 1770; 0.18; 0.00; 16.20; 2.40 -19940914; 1680; 0.17; 0.00; 15.80; 2.30 -19940915; 1830; 0.19; 0.00; 20.30; 2.80 -19940916; 1680; 0.17; 0.00; 21.50; 2.90 -19940917; 1770; 0.18; 0.00; 20.70; 2.80 -19940918; 1530; 0.16; 1.40; 19.20; 2.60 -19940919; 1440; 0.15; 0.30; 17.50; 2.40 -19940920; 1360; 0.14; 4.20; 16.90; 2.30 -19940921; 1850; 0.19; 9.80; 13.80; 2.00 -19940922; 2490; 0.26; 6.80; 11.50; 1.70 -19940923; 2630; 0.27; 4.80; 12.80; 1.80 -19940924; 3710; 0.39; 19.50; 13.60; 1.90 -19940925; 6750; 0.70; 2.90; 13.40; 1.80 -19940926; 5250; 0.55; 9.00; 13.50; 1.80 -19940927; 5100; 0.53; 6.70; 13.50; 1.80 -19940928; 7150; 0.74; 4.00; 13.90; 1.80 -19940929; 6450; 0.67; 8.20; 12.00; 1.60 -19940930; 7250; 0.75; 0.10; 11.40; 1.50 -19941001; 5900; 0.61; 11.90; 14.60; 1.80 -19941002; 9350; 0.97; 15.80; 12.30; 1.60 -19941003; 14600; 1.52; 26.10; 11.90; 1.50 -19941004; 21400; 2.23; 19.30; 12.90; 1.60 -19941005; 34300; 3.57; 10.30; 9.00; 1.20 -19941006; 19600; 2.04; 7.00; 9.80; 1.30 -19941007; 14100; 1.47; 4.60; 10.70; 1.30 -19941008; 10800; 1.12; 0.40; 10.00; 1.20 -19941009; 9000; 0.94; 0.20; 11.10; 1.30 -19941010; 7500; 0.78; 18.90; 11.50; 1.30 -19941011; 14800; 1.54; 10.00; 11.70; 1.30 -19941012; 17200; 1.79; 8.70; 12.70; 1.40 -19941013; 17400; 1.81; 17.90; 11.80; 1.30 -19941014; 20500; 2.13; 2.10; 10.50; 1.20 -19941015; 18600; 1.94; 12.10; 10.10; 1.10 -19941016; 18900; 1.97; 20.60; 11.90; 1.30 -19941017; 38900; 4.05; 18.90; 11.20; 1.20 -19941018; 37700; 3.92; 0.90; 10.20; 1.10 -19941019; 29000; 3.02; 0.00; 9.70; 1.00 -19941020; 19500; 2.03; 0.00; 11.90; 1.20 -19941021; 16200; 1.69; 11.70; 12.20; 1.20 -19941022; 19200; 2.00; 2.10; 9.40; 1.00 -19941023; 19900; 2.07; 0.20; 8.60; 0.90 -19941024; 16400; 1.71; 12.30; 9.50; 1.00 -19941025; 20100; 2.09; 1.90; 13.20; 1.20 -19941026; 21600; 2.25; 0.80; 12.50; 1.10 -19941027; 17000; 1.77; 0.30; 9.30; 0.90 -19941028; 14700; 1.53; 0.00; 9.70; 0.90 -19941029; 14100; 1.47; 0.10; 11.50; 1.00 -19941030; 13300; 1.38; 0.00; 10.30; 0.90 -19941031; 12900; 1.34; 0.00; 12.60; 1.00 -19941101; 12900; 1.34; 0.00; 12.50; 1.00 -19941102; 12700; 1.32; 0.00; 11.60; 1.00 -19941103; 12000; 1.25; 1.60; 11.10; 0.90 -19941104; 11800; 1.23; 2.70; 12.30; 1.00 -19941105; 12000; 1.25; 0.70; 11.90; 0.90 -19941106; 12400; 1.29; 21.10; 11.70; 0.90 -19941107; 27400; 2.85; 45.80; 10.10; 0.80 -19941108; 93000; 9.68; 10.10; 11.40; 0.90 -19941109; 51000; 5.31; 3.90; 10.70; 0.80 -19941110; 34800; 3.62; 4.10; 11.50; 0.80 -19941111; 32100; 3.34; 13.30; 11.20; 0.80 -19941112; 34800; 3.62; 9.40; 11.10; 0.80 -19941113; 51000; 5.31; 6.30; 7.00; 0.60 -19941114; 38900; 4.05; 6.00; 6.50; 0.50 -19941115; 38400; 4.00; 1.50; 6.30; 0.50 -19941116; 32000; 3.33; 2.40; 8.60; 0.60 -19941117; 28300; 2.95; 2.40; 8.80; 0.60 -19941118; 26500; 2.76; 2.40; 10.30; 0.70 -19941119; 25600; 2.66; 0.30; 8.60; 0.60 -19941120; 23400; 2.44; 0.30; 7.80; 0.60 -19941121; 21500; 2.24; 10.30; 10.80; 0.70 -19941122; 26200; 2.73; 8.60; 8.20; 0.60 -19941123; 29800; 3.10; 19.30; 10.90; 0.70 -19941124; 52000; 5.41; 13.80; 8.50; 0.60 -19941125; 54000; 5.62; 2.90; 7.80; 0.50 -19941126; 44200; 4.60; 1.30; 4.60; 0.40 -19941127; 33900; 3.53; 0.20; 3.80; 0.30 -19941128; 29900; 3.11; 0.60; 4.30; 0.40 -19941129; 27400; 2.85; 0.60; 3.90; 0.40 -19941130; 25600; 2.66; 0.00; 4.10; 0.40 -19941201; 23700; 2.47; 0.00; 3.50; 0.30 -19941202; 22900; 2.38; 0.00; 3.70; 0.30 -19941203; 21600; 2.25; 0.00; 1.80; 0.20 -19941204; 20400; 2.12; 3.40; 6.00; 0.40 -19941205; 22600; 2.35; 33.80; 11.30; 0.60 -19941206; 61500; 6.40; 6.60; 11.00; 0.60 -19941207; 47700; 4.97; 14.20; 10.90; 0.60 -19941208; 51000; 5.31; 14.20; 7.90; 0.50 -19941209; 54500; 5.67; 11.80; 10.40; 0.60 -19941210; 57000; 5.93; 10.50; 6.90; 0.40 -19941211; 58000; 6.04; 6.30; 7.40; 0.40 -19941212; 50000; 5.20; 8.10; 7.00; 0.40 -19941213; 50000; 5.20; 0.30; 5.40; 0.40 -19941214; 43800; 4.56; 8.30; 6.50; 0.40 -19941215; 42600; 4.43; 3.50; 11.00; 0.60 -19941216; 44000; 4.58; 16.10; 9.80; 0.50 -19941217; 58000; 6.04; 5.80; 3.80; 0.30 -19941218; 51000; 5.31; 5.50; 3.00; 0.30 -19941219; 46600; 4.85; 31.60; 8.80; 0.50 -19941220; 94500; 9.84; 4.40; 6.30; 0.40 -19941221; 72000; 7.49; 3.10; 4.60; 0.30 -19941222; 56500; 5.88; 6.60; 2.30; 0.20 -19941223; 55500; 5.78; 2.80; 3.60; 0.30 -19941224; 49100; 5.11; 0.80; 9.10; 0.50 -19941225; 43900; 4.57; 0.60; 8.80; 0.50 -19941226; 39800; 4.14; 0.40; 8.90; 0.50 -19941227; 36500; 3.80; 1.80; 8.60; 0.50 -19941228; 34300; 3.57; 0.00; 5.50; 0.40 -19941229; 31300; 3.26; 0.00; 3.90; 0.30 -19941230; 28900; 3.01; 0.00; -0.40; 0.20 -19941231; 26600; 2.77; 0.10; 0.80; 0.20 -19950101; 25900; 2.70; 2.50; 7.20; 0.40 -19950102; 25900; 2.70; 3.00; 8.90; 0.50 -19950103; 25900; 2.70; 7.40; 10.80; 0.60 -19950104; 29700; 3.09; 5.90; 10.90; 0.60 -19950105; 34100; 3.55; 1.70; 11.30; 0.60 -19950106; 28600; 2.98; 4.20; 8.50; 0.50 -19950107; 25600; 2.66; 3.70; 6.80; 0.40 -19950108; 24700; 2.57; 0.40; 6.40; 0.40 -19950109; 22200; 2.31; 0.90; 8.50; 0.50 -19950110; 21000; 2.19; 0.00; 8.40; 0.50 -19950111; 20000; 2.08; 0.00; 6.10; 0.40 -19950112; 19400; 2.02; 7.90; 9.70; 0.60 -19950113; 22500; 2.34; 1.20; 5.90; 0.40 -19950114; 23100; 2.40; 4.90; 7.00; 0.50 -19950115; 23000; 2.39; 0.20; 9.00; 0.60 -19950116; 20000; 2.08; 0.00; 8.60; 0.60 -19950117; 18000; 1.87; 0.00; 7.20; 0.50 -19950118; 16800; 1.75; 0.10; 6.50; 0.50 -19950119; 16200; 1.69; 0.00; 3.70; 0.40 -19950120; 15700; 1.63; 0.00; 1.90; 0.30 -19950121; 15100; 1.57; 0.00; 1.60; 0.30 -19950122; 14700; 1.53; 0.00; 1.40; 0.30 -19950123; 14300; 1.49; 0.10; 2.10; 0.30 -19950124; 14300; 1.49; 6.90; 9.20; 0.60 -19950125; 17200; 1.79; 0.50; 10.70; 0.70 -19950126; 17000; 1.77; 0.10; 11.10; 0.80 -19950127; 14900; 1.55; 1.60; 9.70; 0.70 -19950128; 14300; 1.49; 2.60; 9.70; 0.70 -19950129; 15600; 1.62; 7.40; 9.30; 0.70 -19950130; 18900; 1.97; 7.00; 6.10; 0.60 -19950131; 22200; 2.31; 10.10; 8.80; 0.70 -19950201; 25800; 2.69; 2.60; 6.80; 0.60 -19950202; 21800; 2.27; 0.80; 4.70; 0.50 -19950203; 16600; 1.73; 5.90; 5.80; 0.60 -19950204; 17800; 1.85; 3.50; 6.80; 0.60 -19950205; 18700; 1.95; 7.30; 7.40; 0.70 -19950206; 21400; 2.23; 4.70; 5.10; 0.50 -19950207; 22700; 2.36; 11.40; 2.30; 0.40 -19950208; 22900; 2.38; 6.00; 0.80; 0.30 -19950209; 24900; 2.59; 4.90; -0.20; 0.30 -19950210; 21600; 2.25; 3.90; 0.00; 0.30 -19950211; 20200; 2.10; 4.90; -0.10; 0.30 -19950212; 22200; 2.31; 0.70; -0.30; 0.30 -19950213; 20500; 2.13; 0.00; -1.60; 0.20 -19950214; 18000; 1.87; 0.00; -1.20; 0.20 -19950215; 17400; 1.81; 0.00; -1.00; 0.30 -19950216; 16600; 1.73; 0.00; -0.50; 0.30 -19950217; 16600; 1.73; 0.00; -1.70; 0.20 -19950218; 16000; 1.67; 0.00; -0.80; 0.30 -19950219; 15300; 1.59; 0.00; 1.60; 0.40 -19950220; 15700; 1.63; 0.00; 4.80; 0.70 -19950221; 16400; 1.71; 0.00; 2.60; 0.50 -19950222; 15900; 1.66; 3.20; 2.00; 0.50 -19950223; 16000; 1.67; 5.40; 6.70; 0.90 -19950224; 18600; 1.94; 14.80; 9.20; 1.00 -19950225; 30600; 3.19; 10.20; 10.40; 1.20 -19950226; 34100; 3.55; 3.00; 8.90; 1.10 -19950227; 27000; 2.81; 3.90; 8.30; 1.00 -19950228; 23800; 2.48; 0.20; 7.50; 1.00 -19950301; 19900; 2.07; 0.10; 7.80; 1.00 -19950302; 18000; 1.87; 0.30; 7.90; 1.00 -19950303; 17600; 1.83; 0.00; 6.90; 1.00 -19950304; 17000; 1.77; 0.00; 6.10; 0.90 -19950305; 16400; 1.71; 0.00; 5.90; 0.90 -19950306; 16000; 1.67; 0.00; 6.40; 1.00 -19950307; 15900; 1.66; 0.00; 4.70; 0.80 -19950308; 15400; 1.60; 0.00; 7.20; 1.10 -19950309; 15000; 1.56; 0.00; 8.00; 1.20 -19950310; 14600; 1.52; 0.00; 5.80; 1.00 -19950311; 14000; 1.46; 0.00; 5.10; 0.90 -19950312; 14000; 1.46; 0.70; 6.70; 1.10 -19950313; 14200; 1.48; 10.10; 8.60; 1.30 -19950314; 17200; 1.79; 4.70; 8.00; 1.20 -19950315; 17400; 1.81; 0.20; 5.80; 1.00 -19950316; 15000; 1.56; 0.90; 6.90; 1.10 -19950317; 13500; 1.41; 0.50; 9.90; 1.50 -19950318; 13300; 1.38; 0.90; 10.00; 1.50 -19950319; 13000; 1.35; 0.20; 9.60; 1.50 -19950320; 12600; 1.31; 0.80; 8.60; 1.40 -19950321; 12200; 1.27; 2.60; 6.90; 1.20 -19950322; 12200; 1.27; 2.90; 7.60; 1.30 -19950323; 12600; 1.31; 6.50; 8.30; 1.40 -19950324; 14900; 1.55; 4.30; 5.00; 1.10 -19950325; 15100; 1.57; 3.70; 5.70; 1.20 -19950326; 14000; 1.46; 7.90; 7.20; 1.30 -19950327; 16000; 1.67; 9.90; 6.80; 1.30 -19950328; 25100; 2.61; 0.00; 5.40; 1.20 -19950329; 15800; 1.64; 3.10; 6.10; 1.30 -19950330; 13100; 1.36; 2.10; 7.90; 1.50 -19950331; 13300; 1.38; 2.70; 6.60; 1.40 -19950401; 12900; 1.34; 3.10; 4.70; 1.10 -19950402; 11800; 1.23; 2.90; 4.80; 1.20 -19950403; 11600; 1.21; 10.90; 5.20; 1.20 -19950404; 14700; 1.53; 2.60; 6.80; 1.40 -19950405; 18600; 1.94; 13.50; 7.10; 1.50 -19950406; 29500; 3.07; 3.80; 7.20; 1.50 -19950407; 19200; 2.00; 3.30; 7.60; 1.60 -19950408; 16600; 1.73; 8.90; 7.20; 1.50 -19950409; 20400; 2.12; 8.40; 8.50; 1.70 -19950410; 26300; 2.74; 1.20; 9.90; 1.90 -19950411; 21400; 2.23; 3.00; 6.00; 1.40 -19950412; 17900; 1.86; 0.00; 5.80; 1.40 -19950413; 15600; 1.62; 0.00; 6.20; 1.50 -19950414; 14600; 1.52; 0.00; 7.30; 1.60 -19950415; 13600; 1.42; 0.00; 9.20; 1.90 -19950416; 13200; 1.37; 0.20; 10.80; 2.10 -19950417; 13200; 1.37; 6.00; 6.30; 1.50 -19950418; 14100; 1.47; 0.10; 6.00; 1.50 -19950419; 13300; 1.38; 1.60; 5.90; 1.50 -19950420; 13400; 1.39; 8.80; 5.80; 1.50 -19950421; 15900; 1.66; 4.30; 7.50; 1.70 -19950422; 14400; 1.50; 4.90; 8.90; 2.00 -19950423; 13800; 1.44; 9.60; 7.10; 1.70 -19950424; 16600; 1.73; 11.40; 7.30; 1.80 -19950425; 27900; 2.90; 6.50; 8.00; 1.90 -19950426; 25300; 2.63; 4.40; 8.90; 2.00 -19950427; 21000; 2.19; 9.80; 8.20; 1.90 -19950428; 23900; 2.49; 3.60; 8.70; 2.00 -19950429; 20200; 2.10; 0.10; 11.10; 2.30 -19950430; 17100; 1.78; 14.40; 9.60; 2.20 -19950501; 25600; 2.66; 3.30; 8.80; 2.10 -19950502; 23400; 2.44; 1.10; 9.10; 2.10 -19950503; 18700; 1.95; 15.00; 9.10; 2.10 -19950504; 27100; 2.82; 0.50; 11.70; 2.50 -19950505; 23700; 2.47; 0.30; 12.50; 2.70 -19950506; 18700; 1.95; 4.80; 12.00; 2.60 -19950507; 19700; 2.05; 5.50; 11.20; 2.50 -19950508; 22300; 2.32; 1.70; 10.20; 2.40 -19950509; 19300; 2.01; 4.70; 10.10; 2.40 -19950510; 18400; 1.92; 12.10; 8.00; 2.00 -19950511; 27100; 2.82; 15.20; 8.90; 2.20 -19950512; 34900; 3.63; 4.70; 9.50; 2.30 -19950513; 33700; 3.51; 6.20; 9.60; 2.30 -19950514; 30400; 3.16; 2.40; 9.80; 2.40 -19950515; 25300; 2.63; 9.50; 10.00; 2.40 -19950516; 30800; 3.21; 11.50; 9.10; 2.30 -19950517; 43400; 4.52; 7.00; 9.10; 2.30 -19950518; 39900; 4.15; 10.90; 9.50; 2.40 -19950519; 40700; 4.24; 7.10; 9.50; 2.40 -19950520; 38600; 4.02; 4.80; 8.90; 2.30 -19950521; 37400; 3.89; 5.00; 8.60; 2.20 -19950522; 33300; 3.47; 10.70; 9.10; 2.30 -19950523; 36100; 3.76; 3.40; 10.50; 2.60 -19950524; 42000; 4.37; 0.50; 11.40; 2.70 -19950525; 31900; 3.32; 0.10; 12.00; 2.80 -19950526; 28100; 2.93; 0.00; 12.50; 2.90 -19950527; 25700; 2.68; 0.00; 11.20; 2.70 -19950528; 23900; 2.49; 0.00; 10.80; 2.70 -19950529; 22300; 2.32; 0.10; 10.80; 2.70 -19950530; 21400; 2.23; 1.80; 11.10; 2.70 -19950531; 20700; 2.15; 3.70; 13.00; 3.10 -19950601; 20500; 2.13; 3.30; 13.10; 3.10 -19950602; 20000; 2.08; 0.50; 13.10; 3.10 -19950603; 18500; 1.93; 0.00; 16.10; 3.60 -19950604; 16600; 1.73; 0.00; 18.30; 4.00 -19950605; 15500; 1.61; 0.00; 18.60; 4.10 -19950606; 14100; 1.47; 0.40; 17.50; 3.90 -19950607; 13500; 1.41; 0.00; 18.50; 4.00 -19950608; 13100; 1.36; 0.00; 15.50; 3.50 -19950609; 12600; 1.31; 0.00; 14.60; 3.40 -19950610; 12400; 1.29; 0.00; 14.10; 3.30 -19950611; 12200; 1.27; 0.60; 13.20; 3.20 -19950612; 12000; 1.25; 3.10; 12.90; 3.10 -19950613; 11800; 1.23; 0.50; 13.30; 3.20 -19950614; 11500; 1.20; 0.00; 13.60; 3.20 -19950615; 11200; 1.17; 0.00; 12.90; 3.10 -19950616; 10800; 1.12; 4.90; 12.20; 3.00 -19950617; 10800; 1.12; 0.00; 14.20; 3.30 -19950618; 10500; 1.09; 0.00; 13.60; 3.20 -19950619; 10200; 1.06; 0.00; 15.30; 3.50 -19950620; 9700; 1.01; 0.00; 16.80; 3.80 -19950621; 9350; 0.97; 0.00; 18.70; 4.10 -19950622; 9000; 0.94; 0.00; 18.00; 4.00 -19950623; 8800; 0.92; 0.20; 16.90; 3.80 -19950624; 8900; 0.93; 0.20; 16.30; 3.70 -19950625; 9150; 0.95; 1.80; 14.40; 3.40 -19950626; 9350; 0.97; 0.00; 16.40; 3.70 -19950627; 9000; 0.94; 0.00; 14.20; 3.30 -19950628; 8700; 0.91; 0.00; 14.00; 3.30 -19950629; 8350; 0.87; 0.80; 14.00; 3.30 -19950630; 8100; 0.84; 3.70; 14.60; 3.40 -19950701; 8500; 0.88; 0.00; 15.00; 3.50 -19950702; 8250; 0.86; 0.00; 15.60; 3.60 -19950703; 7900; 0.82; 0.00; 17.80; 3.90 -19950704; 7550; 0.79; 0.00; 19.20; 4.20 -19950705; 6950; 0.72; 0.00; 18.30; 4.00 -19950706; 6950; 0.72; 1.40; 18.10; 4.00 -19950707; 9350; 0.97; 0.00; 18.10; 4.00 -19950708; 7500; 0.78; 0.00; 20.50; 4.40 -19950709; 7150; 0.74; 0.00; 24.40; 5.00 -19950710; 6550; 0.68; 0.60; 23.60; 4.90 -19950711; 6500; 0.68; 0.50; 23.40; 4.80 -19950712; 6200; 0.65; 0.00; 26.60; 5.40 -19950713; 5950; 0.62; 0.00; 25.50; 5.20 -19950714; 5900; 0.61; 0.00; 25.00; 5.10 -19950715; 5650; 0.59; 0.00; 24.10; 4.90 -19950716; 5650; 0.59; 0.00; 21.80; 4.50 -19950717; 5400; 0.56; 0.00; 19.60; 4.10 -19950718; 5150; 0.54; 0.40; 18.90; 4.00 -19950719; 4930; 0.51; 0.20; 20.10; 4.20 -19950720; 4420; 0.46; 0.20; 19.50; 4.10 -19950721; 4420; 0.46; 2.20; 21.70; 4.40 -19950722; 4420; 0.46; 1.30; 19.70; 4.10 -19950723; 4420; 0.46; 9.20; 17.90; 3.70 -19950724; 4460; 0.46; 0.00; 17.90; 3.70 -19950725; 4700; 0.49; 0.70; 17.50; 3.70 -19950726; 4660; 0.49; 0.70; 21.10; 4.20 -19950727; 4630; 0.48; 3.90; 21.00; 4.20 -19950728; 4390; 0.46; 1.00; 18.20; 3.70 -19950729; 4390; 0.46; 0.00; 20.50; 4.10 -19950730; 4120; 0.43; 1.00; 23.60; 4.60 -19950731; 3890; 0.40; 2.10; 21.00; 4.10 -19950801; 3890; 0.40; 0.50; 15.40; 3.20 -19950802; 3890; 0.40; 0.00; 14.60; 3.10 -19950803; 3850; 0.40; 0.00; 14.90; 3.10 -19950804; 3620; 0.38; 0.00; 15.90; 3.30 -19950805; 3620; 0.38; 0.00; 18.50; 3.60 -19950806; 3620; 0.38; 0.00; 17.90; 3.50 -19950807; 3360; 0.35; 0.00; 16.70; 3.30 -19950808; 3360; 0.35; 0.00; 19.50; 3.70 -19950809; 3360; 0.35; 9.00; 20.90; 3.90 -19950810; 3620; 0.38; 8.30; 18.20; 3.50 -19950811; 4350; 0.45; 0.00; 17.90; 3.40 -19950812; 4390; 0.46; 0.00; 17.70; 3.40 -19950813; 3820; 0.40; 0.00; 17.80; 3.40 -19950814; 3320; 0.35; 0.00; 18.20; 3.40 -19950815; 3320; 0.35; 0.00; 16.80; 3.20 -19950816; 3090; 0.32; 0.00; 16.70; 3.10 -19950817; 3050; 0.32; 0.00; 16.90; 3.20 -19950818; 3050; 0.32; 0.00; 21.10; 3.70 -19950819; 2800; 0.29; 9.30; 19.40; 3.50 -19950820; 3160; 0.33; 14.60; 17.40; 3.10 -19950821; 4740; 0.49; 1.50; 17.70; 3.20 -19950822; 4660; 0.49; 0.00; 18.20; 3.20 -19950823; 4080; 0.42; 0.00; 18.20; 3.20 -19950824; 3550; 0.37; 0.10; 18.00; 3.20 -19950825; 3280; 0.34; 0.00; 18.20; 3.10 -19950826; 3250; 0.34; 0.00; 17.50; 3.00 -19950827; 3020; 0.31; 0.00; 19.00; 3.20 -19950828; 3050; 0.32; 0.00; 17.70; 3.00 -19950829; 3050; 0.32; 0.00; 16.80; 2.90 -19950830; 2770; 0.29; 0.10; 17.50; 2.90 -19950831; 2510; 0.26; 6.50; 18.40; 3.00 -19950901; 2770; 0.29; 2.20; 16.30; 2.70 -19950902; 3020; 0.31; 12.20; 15.60; 2.60 -19950903; 3280; 0.34; 0.60; 14.30; 2.40 -19950904; 3360; 0.35; 5.80; 15.70; 2.60 -19950905; 3660; 0.38; 0.80; 15.90; 2.60 -19950906; 3620; 0.38; 0.00; 15.60; 2.50 -19950907; 3550; 0.37; 0.00; 15.00; 2.40 -19950908; 3320; 0.35; 2.70; 15.50; 2.50 -19950909; 3320; 0.35; 13.20; 14.20; 2.30 -19950910; 3930; 0.41; 1.00; 11.70; 2.00 -19950911; 4160; 0.43; 0.00; 11.30; 1.90 -19950912; 3730; 0.39; 0.10; 12.50; 2.00 -19950913; 3660; 0.38; 15.00; 13.60; 2.10 -19950914; 5750; 0.60; 8.40; 15.90; 2.40 -19950915; 6350; 0.66; 8.90; 14.70; 2.20 -19950916; 6450; 0.67; 3.90; 11.60; 1.80 -19950917; 6100; 0.63; 0.70; 13.20; 2.00 -19950918; 5950; 0.62; 15.80; 13.70; 2.00 -19950919; 8250; 0.86; 0.70; 12.70; 1.90 -19950920; 5850; 0.61; 11.40; 12.30; 1.80 -19950921; 7800; 0.81; 2.10; 13.50; 1.90 -19950922; 7150; 0.74; 0.00; 12.20; 1.80 -19950923; 5650; 0.59; 0.00; 18.30; 2.40 -19950924; 4280; 0.45; 0.00; 20.40; 2.60 -19950925; 3770; 0.39; 0.00; 19.60; 2.40 -19950926; 3270; 0.34; 0.00; 18.00; 2.30 -19950927; 3010; 0.31; 0.00; 16.40; 2.10 -19950928; 2780; 0.29; 0.00; 15.30; 1.90 -19950929; 2510; 0.26; 0.00; 16.10; 2.00 -19950930; 2510; 0.26; 0.00; 15.90; 1.90 -19951001; 2540; 0.26; 10.90; 16.10; 1.90 -19951002; 3250; 0.34; 0.60; 16.40; 1.90 -19951003; 3210; 0.33; 0.00; 17.00; 2.00 -19951004; 3110; 0.32; 0.00; 16.00; 1.90 -19951005; 2850; 0.30; 0.00; 13.70; 1.60 -19951006; 2810; 0.29; 0.00; 11.90; 1.40 -19951007; 2540; 0.26; 1.20; 12.10; 1.40 -19951008; 2570; 0.27; 0.30; 11.80; 1.40 -19951009; 2540; 0.26; 0.10; 13.60; 1.50 -19951010; 2540; 0.26; 1.70; 12.60; 1.40 -19951011; 2750; 0.29; 0.00; 11.10; 1.30 -19951012; 2750; 0.29; 0.00; 13.50; 1.50 -19951013; 2540; 0.26; 10.10; 12.80; 1.40 -19951014; 3570; 0.37; 8.20; 11.00; 1.20 -19951015; 4480; 0.47; 32.50; 12.30; 1.30 -19951016; 11100; 1.16; 4.10; 9.50; 1.10 -19951017; 8450; 0.88; 1.10; 10.20; 1.10 -19951018; 6900; 0.72; 1.90; 13.10; 1.30 -19951019; 6350; 0.66; 0.50; 13.60; 1.30 -19951020; 5600; 0.58; 0.00; 10.90; 1.10 -19951021; 5300; 0.55; 0.00; 8.80; 0.90 -19951022; 5050; 0.53; 0.00; 7.70; 0.90 -19951023; 4540; 0.47; 0.00; 8.80; 0.90 -19951024; 4510; 0.47; 0.00; 8.90; 0.90 -19951025; 4240; 0.44; 0.00; 7.10; 0.80 -19951026; 4000; 0.42; 0.00; 7.80; 0.80 -19951027; 4000; 0.42; 0.00; 9.60; 0.90 -19951028; 4000; 0.42; 0.00; 7.80; 0.80 -19951029; 4000; 0.42; 0.00; 6.40; 0.70 -19951030; 4000; 0.42; 0.10; 6.30; 0.70 -19951031; 4000; 0.42; 0.70; 11.40; 1.00 -19951101; 4000; 0.42; 0.00; 11.60; 1.00 -19951102; 3970; 0.41; 0.00; 10.80; 0.90 -19951103; 3970; 0.41; 0.00; 9.70; 0.80 -19951104; 3970; 0.41; 0.00; 11.00; 0.90 -19951105; 3970; 0.41; 0.00; 10.00; 0.80 -19951106; 3970; 0.41; 0.00; 11.70; 0.90 -19951107; 3970; 0.41; 0.10; 12.00; 0.90 -19951108; 3700; 0.39; 0.00; 14.00; 1.00 -19951109; 3700; 0.39; 0.00; 13.10; 0.90 -19951110; 3700; 0.39; 0.20; 13.60; 1.00 -19951111; 3700; 0.39; 0.00; 11.80; 0.80 -19951112; 3700; 0.39; 0.00; 9.50; 0.70 -19951113; 3700; 0.39; 0.00; 4.20; 0.50 -19951114; 3440; 0.36; 0.00; 2.30; 0.30 -19951115; 3440; 0.36; 0.00; 2.20; 0.30 -19951116; 3440; 0.36; 0.00; 5.90; 0.50 -19951117; 3440; 0.36; 0.20; 7.90; 0.60 -19951118; 3440; 0.36; 0.00; 7.80; 0.60 -19951119; 3440; 0.36; 0.00; 1.90; 0.30 -19951120; 3670; 0.38; 0.00; 2.90; 0.40 -19951121; 3440; 0.36; 0.00; 4.10; 0.40 -19951122; 3440; 0.36; 0.00; 2.20; 0.30 -19951123; 3670; 0.38; 9.40; 0.90; 0.20 -19951124; 3970; 0.41; 6.90; 9.20; 0.60 -19951125; 5350; 0.56; 14.90; 13.50; 0.80 -19951126; 8900; 0.93; 28.20; 13.70; 0.80 -19951127; 28900; 3.01; 1.70; 10.00; 0.60 -19951128; 15800; 1.64; 2.00; 10.00; 0.60 -19951129; 9300; 0.97; 0.50; 11.70; 0.70 -19951130; 7700; 0.80; 0.10; 10.70; 0.60 -19951201; 6950; 0.72; 0.00; 4.60; 0.40 -19951202; 6550; 0.68; 0.00; 2.50; 0.30 -19951203; 6000; 0.62; 0.00; 3.00; 0.30 -19951204; 5650; 0.59; 0.00; 2.60; 0.30 -19951205; 5350; 0.56; 0.00; 3.80; 0.30 -19951206; 5100; 0.53; 0.00; 5.90; 0.40 -19951207; 5100; 0.53; 0.00; 1.70; 0.20 -19951208; 5100; 0.53; 6.20; 6.60; 0.40 -19951209; 5600; 0.58; 5.50; 9.00; 0.50 -19951210; 6500; 0.68; 0.00; 4.80; 0.30 -19951211; 6200; 0.65; 18.20; 3.30; 0.30 -19951212; 9350; 0.97; 1.10; 4.40; 0.30 -19951213; 9800; 1.02; 1.40; 5.90; 0.40 -19951214; 8100; 0.84; 8.70; 7.50; 0.40 -19951215; 8550; 0.89; 2.50; 7.30; 0.40 -19951216; 10700; 1.11; 6.30; 6.30; 0.40 -19951217; 11300; 1.18; 6.30; 5.30; 0.40 -19951218; 11300; 1.18; 14.90; 7.40; 0.40 -19951219; 20700; 2.15; 21.00; 8.70; 0.50 -19951220; 24100; 2.51; 6.70; 8.30; 0.50 -19951221; 37000; 3.85; 3.40; 8.60; 0.50 -19951222; 23000; 2.39; 13.40; 9.80; 0.50 -19951223; 31800; 3.31; 2.90; 11.70; 0.60 -19951224; 25200; 2.62; 0.60; 13.20; 0.60 -19951225; 18700; 1.95; 3.80; 11.80; 0.60 -19951226; 17700; 1.84; 0.30; 8.80; 0.50 -19951227; 15300; 1.59; 0.00; 8.20; 0.50 -19951228; 13900; 1.45; 0.00; 6.80; 0.40 -19951229; 12900; 1.34; 0.20; 7.20; 0.40 -19951230; 12400; 1.29; 0.00; 8.60; 0.50 -19951231; 11900; 1.24; 0.00; 5.60; 0.40 -19960101; 12400; 1.29; 0.80; 8.70; 0.50 -19960102; 12300; 1.28; 12.70; 10.10; 0.60 -19960103; 16800; 1.75; 6.20; 6.20; 0.40 -19960104; 20400; 2.12; 1.50; 4.40; 0.30 -19960105; 17300; 1.80; 4.50; 7.30; 0.50 -19960106; 17300; 1.80; 8.20; 8.40; 0.50 -19960107; 18900; 1.97; 1.30; 7.80; 0.50 -19960108; 19200; 2.00; 3.80; 4.30; 0.30 -19960109; 16300; 1.70; 0.60; 3.30; 0.30 -19960110; 15500; 1.61; 2.10; 6.90; 0.50 -19960111; 15000; 1.56; 9.30; 9.10; 0.60 -19960112; 20900; 2.18; 10.30; 5.50; 0.40 -19960113; 26400; 2.75; 23.50; 10.70; 0.60 -19960114; 45900; 4.78; 10.10; 8.10; 0.50 -19960115; 51000; 5.31; 3.70; 5.20; 0.40 -19960116; 37000; 3.85; 15.40; 9.00; 0.60 -19960117; 48000; 5.00; 2.20; 5.80; 0.40 -19960118; 38500; 4.01; 22.10; 4.40; 0.40 -19960119; 56000; 5.83; 0.50; 5.30; 0.40 -19960120; 49000; 5.10; 2.50; 1.00; 0.30 -19960121; 37600; 3.91; 6.00; 1.70; 0.30 -19960122; 38300; 3.99; 23.50; 6.80; 0.50 -19960123; 52500; 5.47; 6.90; 6.40; 0.50 -19960124; 67000; 6.97; 2.70; 4.10; 0.40 -19960125; 43000; 4.48; 23.50; 4.20; 0.40 -19960126; 80500; 8.38; 10.30; 7.60; 0.60 -19960127; 75500; 7.86; 2.90; 6.30; 0.50 -19960128; 53500; 5.57; 11.30; 6.90; 0.60 -19960129; 58500; 6.09; 2.50; 7.30; 0.60 -19960130; 52500; 5.47; 17.40; 6.80; 0.60 -19960131; 67500; 7.03; 2.80; 7.10; 0.60 -19960201; 53500; 5.57; 7.10; 8.10; 0.70 -19960202; 49800; 5.18; 12.10; 6.20; 0.60 -19960203; 50500; 5.26; 2.80; 9.60; 0.80 -19960204; 50000; 5.20; 3.90; 9.90; 0.80 -19960205; 43700; 4.55; 0.90; 7.80; 0.70 -19960206; 38100; 3.97; 8.20; 9.20; 0.80 -19960207; 38500; 4.01; 3.20; 9.60; 0.80 -19960208; 40200; 4.18; 0.20; 8.60; 0.80 -19960209; 33100; 3.45; 0.00; 5.10; 0.60 -19960210; 28800; 3.00; 0.00; 3.90; 0.50 -19960211; 27500; 2.86; 0.00; 5.90; 0.70 -19960212; 26000; 2.71; 0.00; 5.60; 0.60 -19960213; 24200; 2.52; 0.00; 1.90; 0.40 -19960214; 22900; 2.38; 0.00; 2.40; 0.50 -19960215; 21200; 2.21; 0.00; 2.30; 0.50 -19960216; 20200; 2.10; 0.00; 1.50; 0.40 -19960217; 19700; 2.05; 0.00; 2.70; 0.50 -19960218; 18700; 1.95; 0.40; 2.10; 0.50 -19960219; 17800; 1.85; 4.50; 0.90; 0.40 -19960220; 18900; 1.97; 13.50; 5.70; 0.70 -19960221; 27900; 2.90; 8.50; 4.30; 0.60 -19960222; 25400; 2.64; 7.80; 5.20; 0.70 -19960223; 27200; 2.83; 1.70; 4.50; 0.70 -19960224; 24500; 2.55; 0.00; 3.70; 0.60 -19960225; 19300; 2.01; 0.30; 1.80; 0.50 -19960226; 17400; 1.81; 0.90; 1.30; 0.50 -19960227; 16600; 1.73; 0.80; 2.10; 0.50 -19960228; 15300; 1.59; 0.90; 3.90; 0.70 -19960229; 15300; 1.59; 0.20; 3.60; 0.70 -19960301; 14800; 1.54; 0.10; 5.10; 0.80 -19960302; 14300; 1.49; 1.90; 6.20; 0.90 -19960303; 13900; 1.45; 0.00; 4.50; 0.80 -19960304; 13200; 1.37; 0.00; 5.10; 0.80 -19960305; 12900; 1.34; 0.00; 7.60; 1.00 -19960306; 12400; 1.29; 0.00; 7.10; 1.00 -19960307; 11900; 1.24; 0.00; 7.00; 1.00 -19960308; 11200; 1.17; 0.00; 4.40; 0.80 -19960309; 10800; 1.12; 0.00; 3.00; 0.70 -19960310; 10400; 1.08; 0.00; 3.20; 0.70 -19960311; 10400; 1.08; 5.10; 5.30; 0.90 -19960312; 11200; 1.17; 10.00; 3.20; 0.70 -19960313; 16500; 1.72; 0.00; 3.90; 0.80 -19960314; 14700; 1.53; 0.00; 5.70; 1.00 -19960315; 13100; 1.36; 0.00; 6.10; 1.10 -19960316; 11900; 1.24; 0.00; 5.20; 1.00 -19960317; 11500; 1.20; 0.00; 4.90; 1.00 -19960318; 11200; 1.17; 0.00; 4.00; 0.90 -19960319; 10700; 1.11; 0.00; 4.50; 0.90 -19960320; 10300; 1.07; 0.00; 6.80; 1.20 -19960321; 9900; 1.03; 0.00; 7.00; 1.20 -19960322; 9550; 0.99; 1.10; 6.50; 1.20 -19960323; 10100; 1.05; 37.20; 6.90; 1.20 -19960324; 39400; 4.10; 12.70; 5.90; 1.20 -19960325; 39200; 4.08; 10.10; 7.10; 1.30 -19960326; 33100; 3.45; 5.90; 7.20; 1.30 -19960327; 25300; 2.63; 13.20; 7.40; 1.40 -19960328; 29700; 3.09; 4.00; 7.90; 1.40 -19960329; 29900; 3.11; 3.50; 7.00; 1.30 -19960330; 24800; 2.58; 8.00; 6.50; 1.30 -19960331; 27700; 2.88; 22.80; 8.40; 1.60 -19960401; 59500; 6.19; 0.20; 5.20; 1.20 -19960402; 36100; 3.76; 0.00; 3.20; 1.00 -19960403; 29100; 3.03; 2.10; 4.30; 1.10 -19960404; 27500; 2.86; 4.70; 8.00; 1.60 -19960405; 27900; 2.90; 0.00; 6.60; 1.40 -19960406; 25900; 2.70; 0.00; 6.90; 1.50 -19960407; 23600; 2.46; 0.00; 7.60; 1.60 -19960408; 21800; 2.27; 0.00; 6.80; 1.50 -19960409; 20100; 2.09; 0.00; 6.80; 1.50 -19960410; 19100; 1.99; 0.00; 7.30; 1.60 -19960411; 18200; 1.89; 0.00; 7.00; 1.50 -19960412; 17100; 1.78; 0.00; 8.00; 1.70 -19960413; 16300; 1.70; 0.00; 9.00; 1.80 -19960414; 15600; 1.62; 0.00; 10.50; 2.00 -19960415; 15200; 1.58; 0.00; 7.90; 1.70 -19960416; 14600; 1.52; 0.00; 6.50; 1.50 -19960417; 14000; 1.46; 0.00; 7.10; 1.60 -19960418; 13100; 1.36; 0.00; 9.20; 1.90 -19960419; 12200; 1.27; 0.00; 11.30; 2.20 -19960420; 11800; 1.23; 0.00; 13.00; 2.50 -19960421; 11400; 1.19; 0.00; 15.30; 2.80 -19960422; 10900; 1.13; 0.00; 18.60; 3.30 -19960423; 10500; 1.09; 0.00; 18.50; 3.30 -19960424; 9750; 1.01; 0.00; 16.70; 3.10 -19960425; 9650; 1.00; 0.00; 17.10; 3.20 -19960426; 9200; 0.96; 0.00; 16.00; 3.00 -19960427; 9100; 0.95; 0.00; 15.20; 2.90 -19960428; 9100; 0.95; 0.00; 13.70; 2.70 -19960429; 8700; 0.91; 0.00; 12.00; 2.50 -19960430; 8450; 0.88; 0.00; 11.50; 2.40 -19960501; 8350; 0.87; 1.80; 12.20; 2.60 -19960502; 8100; 0.84; 0.00; 9.80; 2.20 -19960503; 8050; 0.84; 0.50; 11.40; 2.50 -19960504; 9300; 0.97; 16.50; 10.90; 2.40 -19960505; 13400; 1.39; 9.10; 10.90; 2.40 -19960506; 12400; 1.29; 16.40; 10.30; 2.40 -19960507; 17200; 1.79; 0.90; 7.50; 1.90 -19960508; 14200; 1.48; 0.00; 7.30; 1.90 -19960509; 11200; 1.17; 0.00; 8.00; 2.00 -19960510; 9600; 1.00; 0.10; 9.30; 2.30 -19960511; 8800; 0.92; 0.00; 8.80; 2.20 -19960512; 8400; 0.87; 0.00; 8.00; 2.10 -19960513; 8050; 0.84; 1.20; 8.50; 2.20 -19960514; 7850; 0.82; 7.50; 8.10; 2.10 -19960515; 8500; 0.88; 3.60; 8.30; 2.20 -19960516; 9500; 0.99; 0.40; 9.10; 2.30 -19960517; 9300; 0.97; 0.00; 9.70; 2.40 -19960518; 8400; 0.87; 0.10; 10.80; 2.60 -19960519; 7950; 0.83; 0.30; 10.10; 2.50 -19960520; 7500; 0.78; 0.20; 10.50; 2.60 -19960521; 7150; 0.74; 2.50; 10.60; 2.60 -19960522; 7250; 0.75; 22.40; 8.80; 2.30 -19960523; 11900; 1.24; 2.60; 10.20; 2.50 -19960524; 14500; 1.51; 0.10; 12.50; 2.90 -19960525; 11100; 1.16; 11.20; 11.00; 2.70 -19960526; 10200; 1.06; 3.00; 8.50; 2.30 -19960527; 11100; 1.16; 2.30; 8.70; 2.30 -19960528; 10500; 1.09; 0.00; 9.60; 2.40 -19960529; 9550; 0.99; 0.00; 11.20; 2.70 -19960530; 8450; 0.88; 0.40; 10.90; 2.70 -19960531; 7750; 0.81; 5.10; 11.20; 2.70 -19960601; 7650; 0.80; 3.70; 10.40; 2.60 -19960602; 7650; 0.80; 4.30; 10.90; 2.70 -19960603; 7750; 0.81; 1.50; 10.40; 2.60 -19960604; 7400; 0.77; 0.10; 11.80; 2.90 -19960605; 6950; 0.72; 3.10; 11.10; 2.70 -19960606; 6950; 0.72; 0.00; 11.10; 2.80 -19960607; 6950; 0.72; 0.00; 11.50; 2.80 -19960608; 6600; 0.69; 0.00; 15.90; 3.60 -19960609; 6150; 0.64; 0.00; 15.40; 3.50 -19960610; 5550; 0.58; 0.00; 14.90; 3.40 -19960611; 5300; 0.55; 0.00; 15.10; 3.50 -19960612; 5200; 0.54; 0.00; 14.50; 3.40 -19960613; 4880; 0.51; 0.00; 15.50; 3.60 -19960614; 4640; 0.48; 0.00; 15.80; 3.60 -19960615; 4380; 0.46; 0.00; 16.40; 3.70 -19960616; 4270; 0.44; 0.00; 18.10; 4.00 -19960617; 4060; 0.42; 0.00; 18.10; 4.00 -19960618; 3850; 0.40; 0.00; 19.20; 4.20 -19960619; 3630; 0.38; 0.10; 21.80; 4.70 -19960620; 3520; 0.37; 2.10; 21.40; 4.60 -19960621; 3320; 0.35; 0.00; 15.70; 3.60 -19960622; 3320; 0.35; 0.80; 13.20; 3.20 -19960623; 3410; 0.35; 0.30; 14.60; 3.40 -19960624; 3510; 0.37; 0.00; 14.30; 3.40 -19960625; 3520; 0.37; 0.00; 15.30; 3.50 -19960626; 3420; 0.36; 0.00; 17.20; 3.90 -19960627; 3320; 0.35; 0.00; 18.00; 4.00 -19960628; 3220; 0.34; 0.00; 14.50; 3.40 -19960629; 2910; 0.30; 0.00; 13.40; 3.20 -19960630; 2810; 0.29; 0.00; 14.60; 3.40 -19960701; 2910; 0.30; 0.00; 14.50; 3.40 -19960702; 2910; 0.30; 0.00; 15.00; 3.50 -19960703; 2700; 0.28; 0.00; 15.30; 3.50 -19960704; 2610; 0.27; 0.00; 16.70; 3.70 -19960705; 2500; 0.26; 0.00; 17.80; 3.90 -19960706; 2500; 0.26; 0.00; 19.40; 4.20 -19960707; 2310; 0.24; 0.00; 21.00; 4.50 -19960708; 2310; 0.24; 0.60; 16.60; 3.70 -19960709; 2410; 0.25; 3.10; 16.10; 3.60 -19960710; 2600; 0.27; 1.10; 16.40; 3.70 -19960711; 2700; 0.28; 1.90; 15.50; 3.50 -19960712; 2600; 0.27; 5.00; 15.40; 3.50 -19960713; 2700; 0.28; 1.10; 15.40; 3.40 -19960714; 2600; 0.27; 3.70; 15.20; 3.40 -19960715; 2800; 0.29; 0.10; 15.20; 3.40 -19960716; 2700; 0.28; 0.00; 14.80; 3.30 -19960717; 2500; 0.26; 0.00; 16.00; 3.50 -19960718; 2310; 0.24; 0.00; 17.50; 3.80 -19960719; 2210; 0.23; 0.00; 19.10; 4.00 -19960720; 2210; 0.23; 0.00; 17.40; 3.70 -19960721; 2210; 0.23; 0.00; 19.20; 4.00 -19960722; 1980; 0.21; 0.00; 20.50; 4.20 -19960723; 1830; 0.19; 1.10; 21.00; 4.30 -19960724; 1980; 0.21; 0.20; 17.10; 3.60 -19960725; 2220; 0.23; 7.90; 16.90; 3.60 -19960726; 3210; 0.33; 0.00; 17.20; 3.60 -19960727; 2810; 0.29; 0.00; 18.80; 3.90 -19960728; 2310; 0.24; 0.00; 20.10; 4.00 -19960729; 2070; 0.22; 0.00; 20.30; 4.10 -19960730; 1830; 0.19; 5.80; 18.10; 3.70 -19960731; 1980; 0.21; 0.00; 17.20; 3.50 -19960801; 2120; 0.22; 4.00; 16.30; 3.40 -19960802; 2220; 0.23; 1.30; 17.30; 3.50 -19960803; 2220; 0.23; 2.70; 16.30; 3.30 -19960804; 2120; 0.22; 1.60; 16.00; 3.30 -19960805; 2120; 0.22; 0.00; 16.20; 3.30 -19960806; 2020; 0.21; 0.10; 15.30; 3.10 -19960807; 1880; 0.20; 0.00; 15.20; 3.10 -19960808; 1740; 0.18; 0.00; 15.60; 3.10 -19960809; 1740; 0.18; 0.00; 17.50; 3.40 -19960810; 1650; 0.17; 0.00; 17.50; 3.40 -19960811; 1610; 0.17; 0.00; 16.70; 3.30 -19960812; 1520; 0.16; 0.00; 16.60; 3.20 -19960813; 1470; 0.15; 0.00; 16.50; 3.20 -19960814; 1420; 0.15; 0.00; 17.00; 3.20 -19960815; 1290; 0.13; 0.00; 17.40; 3.30 -19960816; 1290; 0.13; 0.00; 18.20; 3.40 -19960817; 1210; 0.13; 0.00; 18.50; 3.40 -19960818; 1290; 0.13; 0.00; 19.90; 3.60 -19960819; 1210; 0.13; 0.00; 22.50; 3.90 -19960820; 1210; 0.13; 5.50; 21.30; 3.70 -19960821; 1210; 0.13; 8.40; 17.50; 3.20 -19960822; 1620; 0.17; 4.40; 17.20; 3.10 -19960823; 2030; 0.21; 6.30; 17.70; 3.10 -19960824; 2220; 0.23; 1.50; 18.20; 3.20 -19960825; 2900; 0.30; 0.10; 17.90; 3.10 -19960826; 2510; 0.26; 6.10; 16.00; 2.80 -19960827; 2220; 0.23; 1.10; 18.20; 3.10 -19960828; 2120; 0.22; 0.00; 17.40; 3.00 -19960829; 2020; 0.21; 0.00; 17.40; 2.90 -19960830; 1830; 0.19; 1.00; 16.40; 2.80 -19960831; 1700; 0.18; 0.00; 18.00; 3.00 -19960901; 1650; 0.17; 0.00; 19.10; 3.10 -19960902; 1650; 0.17; 0.10; 18.80; 3.00 -19960903; 1650; 0.17; 16.10; 18.20; 2.90 -19960904; 2410; 0.25; 1.70; 16.20; 2.60 -19960905; 2600; 0.27; 0.00; 12.40; 2.10 -19960906; 2120; 0.22; 0.00; 11.50; 2.00 -19960907; 1930; 0.20; 0.00; 12.10; 2.00 -19960908; 1930; 0.20; 1.10; 12.90; 2.10 -19960909; 1930; 0.20; 7.10; 15.20; 2.40 -19960910; 1830; 0.19; 0.10; 13.50; 2.20 -19960911; 1650; 0.17; 1.00; 13.50; 2.20 -19960912; 1750; 0.18; 0.20; 16.40; 2.40 -19960913; 1930; 0.20; 0.40; 16.40; 2.40 -19960914; 1850; 0.19; 0.50; 15.50; 2.30 -19960915; 1750; 0.18; 0.00; 13.50; 2.10 -19960916; 1670; 0.17; 0.40; 13.50; 2.10 -19960917; 1760; 0.18; 5.90; 13.60; 2.00 -19960918; 1750; 0.18; 0.40; 13.20; 2.00 -19960919; 1750; 0.18; 0.30; 13.70; 2.00 -19960920; 1850; 0.19; 8.30; 12.60; 1.90 -19960921; 2030; 0.21; 8.10; 12.10; 1.80 -19960922; 2320; 0.24; 6.50; 13.50; 1.90 -19960923; 2700; 0.28; 2.60; 11.80; 1.70 -19960924; 2700; 0.28; 1.70; 10.00; 1.50 -19960925; 2500; 0.26; 3.80; 11.00; 1.60 -19960926; 2310; 0.24; 1.50; 13.90; 1.90 -19960927; 2510; 0.26; 0.20; 14.80; 1.90 -19960928; 2410; 0.25; 1.80; 13.80; 1.80 -19960929; 2510; 0.26; 14.30; 12.90; 1.70 -19960930; 3180; 0.33; 2.50; 13.30; 1.70 -19961001; 4070; 0.42; 9.80; 10.90; 1.50 -19961002; 4190; 0.44; 2.40; 10.50; 1.40 -19961003; 3390; 0.35; 1.70; 10.00; 1.30 -19961004; 3090; 0.32; 8.20; 10.10; 1.30 -19961005; 2990; 0.31; 1.20; 11.30; 1.40 -19961006; 2900; 0.30; 0.00; 9.40; 1.20 -19961007; 2700; 0.28; 3.10; 10.50; 1.30 -19961008; 2600; 0.27; 2.50; 13.40; 1.50 -19961009; 2700; 0.28; 1.30; 13.90; 1.60 -19961010; 2790; 0.29; 0.20; 13.20; 1.50 -19961011; 2600; 0.27; 0.20; 12.90; 1.40 -19961012; 2550; 0.27; 0.00; 12.10; 1.30 -19961013; 2550; 0.27; 0.00; 11.60; 1.30 -19961014; 2410; 0.25; 0.00; 12.10; 1.30 -19961015; 2360; 0.25; 0.00; 13.10; 1.40 -19961016; 2260; 0.24; 0.00; 8.10; 1.00 -19961017; 2220; 0.23; 6.60; 11.10; 1.20 -19961018; 2310; 0.24; 1.80; 12.30; 1.30 -19961019; 2510; 0.26; 8.10; 11.20; 1.10 -19961020; 3190; 0.33; 1.30; 11.20; 1.10 -19961021; 3090; 0.32; 6.30; 11.30; 1.10 -19961022; 3090; 0.32; 9.60; 13.80; 1.30 -19961023; 4290; 0.45; 6.40; 11.50; 1.10 -19961024; 5350; 0.56; 18.10; 13.50; 1.20 -19961025; 9050; 0.94; 3.50; 11.10; 1.10 -19961026; 5500; 0.57; 0.30; 8.40; 0.90 -19961027; 4330; 0.45; 11.60; 8.70; 0.90 -19961028; 4510; 0.47; 5.90; 14.00; 1.20 -19961029; 6300; 0.66; 0.10; 14.40; 1.20 -19961030; 4740; 0.49; 0.10; 12.50; 1.10 -19961031; 4120; 0.43; 0.00; 11.40; 1.00 -19961101; 3800; 0.40; 0.90; 13.30; 1.10 -19961102; 3990; 0.42; 13.00; 10.40; 0.90 -19961103; 6150; 0.64; 0.00; 7.40; 0.70 -19961104; 4860; 0.51; 0.00; 6.40; 0.60 -19961105; 4210; 0.44; 8.80; 6.80; 0.60 -19961106; 4890; 0.51; 5.30; 9.80; 0.80 -19961107; 5550; 0.58; 21.00; 11.30; 0.90 -19961108; 10500; 1.09; 4.80; 10.40; 0.80 -19961109; 13900; 1.45; 5.00; 9.70; 0.80 -19961110; 9400; 0.98; 0.20; 8.60; 0.70 -19961111; 6800; 0.71; 1.80; 10.10; 0.80 -19961112; 6850; 0.71; 10.90; 9.40; 0.70 -19961113; 11000; 1.15; 8.70; 7.80; 0.60 -19961114; 9500; 0.99; 2.00; 5.60; 0.50 -19961115; 9800; 1.02; 9.50; 4.50; 0.50 -19961116; 10800; 1.12; 0.70; 5.80; 0.50 -19961117; 10800; 1.12; 5.50; 5.50; 0.50 -19961118; 9000; 0.94; 3.40; 9.00; 0.60 -19961119; 9450; 0.98; 1.20; 6.70; 0.50 -19961120; 8700; 0.91; 9.60; 8.90; 0.60 -19961121; 10700; 1.11; 12.90; 11.20; 0.70 -19961122; 16900; 1.76; 12.10; 13.60; 0.80 -19961123; 34000; 3.54; 32.00; 12.50; 0.80 -19961124; 70000; 7.29; 2.40; 11.50; 0.70 -19961125; 36300; 3.78; 2.20; 9.50; 0.60 -19961126; 24800; 2.58; 0.10; 6.00; 0.40 -19961127; 20100; 2.09; 5.40; 9.70; 0.60 -19961128; 20400; 2.12; 1.70; 11.10; 0.70 -19961129; 20200; 2.10; 3.50; 11.40; 0.70 -19961130; 20100; 2.09; 17.90; 10.00; 0.60 -19961201; 37100; 3.86; 11.30; 7.10; 0.50 -19961202; 40900; 4.26; 11.00; 6.60; 0.50 -19961203; 36700; 3.82; 5.10; 9.80; 0.60 -19961204; 39800; 4.14; 8.70; 9.50; 0.60 -19961205; 34100; 3.55; 32.50; 10.90; 0.60 -19961206; 96500; 10.05; 0.00; 7.30; 0.50 -19961207; 68500; 7.13; 0.10; 4.40; 0.30 -19961208; 43200; 4.50; 0.00; 7.00; 0.40 -19961209; 37000; 3.85; 0.00; 8.20; 0.50 -19961210; 32900; 3.42; 0.00; 5.10; 0.40 -19961211; 29800; 3.10; 0.00; 2.40; 0.30 -19961212; 27400; 2.85; 0.90; 4.60; 0.30 -19961213; 27300; 2.84; 7.90; 8.20; 0.50 -19961214; 29300; 3.05; 6.10; 6.40; 0.40 -19961215; 27600; 2.87; 1.90; 4.70; 0.30 -19961216; 24200; 2.52; 1.80; 4.80; 0.30 -19961217; 24800; 2.58; 23.20; 7.00; 0.40 -19961218; 44000; 4.58; 4.90; 5.70; 0.40 -19961219; 33400; 3.48; 12.00; 9.70; 0.50 -19961220; 36300; 3.78; 3.90; 11.20; 0.60 -19961221; 38300; 3.99; 0.10; 7.70; 0.40 -19961222; 29300; 3.05; 7.40; 7.70; 0.50 -19961223; 30500; 3.17; 8.50; 10.80; 0.60 -19961224; 37600; 3.91; 2.90; 5.70; 0.40 -19961225; 34700; 3.61; 7.00; 5.60; 0.40 -19961226; 33400; 3.48; 9.50; 3.90; 0.30 -19961227; 35200; 3.66; 0.10; 2.90; 0.30 -19961228; 29800; 3.10; 0.00; 0.90; 0.20 -19961229; 26000; 2.71; 0.90; 1.30; 0.20 -19961230; 25300; 2.63; 4.90; 7.00; 0.40 -19961231; 27000; 2.81; 1.70; 9.30; 0.50 -19970101; 25800; 2.69; 0.10; 5.80; 0.40 -19970102; 24200; 2.52; 0.00; 2.30; 0.30 -19970103; 22100; 2.30; 0.00; 0.90; 0.20 -19970104; 21000; 2.19; 0.00; 0.50; 0.20 -19970105; 19900; 2.07; 0.00; -3.00; 0.10 -19970106; 18700; 1.95; 3.10; -1.80; 0.10 -19970107; 18200; 1.89; 1.30; -1.00; 0.10 -19970108; 18100; 1.88; 9.30; -3.00; 0.10 -19970109; 17700; 1.84; 1.80; 2.00; 0.20 -19970110; 17700; 1.84; 0.50; 1.50; 0.20 -19970111; 17100; 1.78; 0.10; 0.00; 0.20 -19970112; 16700; 1.74; 0.60; -3.50; 0.10 -19970113; 15600; 1.62; 0.20; -2.60; 0.10 -19970114; 14700; 1.53; 3.70; -4.40; 0.00 -19970115; 14200; 1.48; 2.50; -3.30; 0.10 -19970116; 13700; 1.43; 1.50; -5.20; 0.00 -19970117; 13700; 1.43; 4.70; -7.00; 0.00 -19970118; 13900; 1.45; 7.90; 0.20; 0.20 -19970119; 16500; 1.72; 5.10; 1.60; 0.30 -19970120; 19900; 2.07; 33.90; 6.20; 0.50 -19970121; 88000; 9.16; 10.80; 9.60; 0.60 -19970122; 80500; 8.38; 1.50; 4.60; 0.40 -19970123; 38900; 4.05; 1.50; 2.00; 0.30 -19970124; 33000; 3.44; 18.50; 3.90; 0.40 -19970125; 51000; 5.31; 10.50; 8.40; 0.60 -19970126; 52000; 5.41; 1.40; 6.00; 0.50 -19970127; 41900; 4.36; 18.00; 5.60; 0.50 -19970128; 63000; 6.56; 2.40; 7.60; 0.60 -19970129; 49700; 5.17; 2.00; 9.60; 0.70 -19970130; 41100; 4.28; 2.90; 8.50; 0.70 -19970131; 39300; 4.09; 1.30; 9.80; 0.80 -19970201; 37500; 3.90; 0.20; 9.10; 0.70 -19970202; 34200; 3.56; 0.20; 8.80; 0.70 -19970203; 31300; 3.26; 0.00; 7.50; 0.70 -19970204; 29700; 3.09; 0.20; 6.90; 0.70 -19970205; 27900; 2.90; 4.10; 8.30; 0.70 -19970206; 27300; 2.84; 0.90; 9.80; 0.80 -19970207; 26700; 2.78; 2.60; 10.30; 0.90 -19970208; 26700; 2.78; 12.70; 9.00; 0.80 -19970209; 36700; 3.82; 5.10; 7.60; 0.70 -19970210; 32000; 3.33; 7.40; 3.80; 0.50 -19970211; 31800; 3.31; 0.00; -0.70; 0.20 -19970212; 25400; 2.64; 1.60; -1.10; 0.20 -19970213; 20700; 2.15; 3.50; 2.90; 0.50 -19970214; 21700; 2.26; 18.80; 5.20; 0.60 -19970215; 38400; 4.00; 6.80; -1.70; 0.20 -19970216; 33600; 3.50; 0.00; -2.70; 0.10 -19970217; 27200; 2.83; 0.00; -1.70; 0.20 -19970218; 25100; 2.61; 0.00; -0.50; 0.30 -19970219; 23200; 2.42; 0.00; -1.90; 0.20 -19970220; 22300; 2.32; 0.00; -1.00; 0.30 -19970221; 21300; 2.22; 0.00; 0.30; 0.40 -19970222; 20900; 2.18; 0.00; 2.50; 0.50 -19970223; 20400; 2.12; 0.00; 3.40; 0.60 -19970224; 19600; 2.04; 0.00; 5.50; 0.80 -19970225; 19000; 1.98; 0.00; 6.50; 0.90 -19970226; 18500; 1.93; 0.00; 7.40; 1.00 -19970227; 17900; 1.86; 0.00; 7.00; 0.90 -19970228; 17000; 1.77; 6.10; 7.20; 1.00 -19970301; 19000; 1.98; 4.80; 6.40; 0.90 -19970302; 19800; 2.06; 6.50; 6.50; 0.90 -19970303; 23800; 2.48; 16.10; 7.70; 1.00 -19970304; 35400; 3.69; 1.00; 5.20; 0.80 -19970305; 22400; 2.33; 0.50; 4.10; 0.80 -19970306; 18700; 1.95; 3.70; 5.20; 0.90 -19970307; 18500; 1.93; 3.70; 6.70; 1.00 -19970308; 19500; 2.03; 0.10; 7.50; 1.10 -19970309; 17900; 1.86; 0.00; 6.80; 1.00 -19970310; 16400; 1.71; 0.00; 6.20; 1.00 -19970311; 15900; 1.66; 0.00; 6.30; 1.00 -19970312; 15400; 1.60; 0.00; 4.20; 0.80 -19970313; 15000; 1.56; 2.00; 4.20; 0.80 -19970314; 15000; 1.56; 0.60; 5.40; 1.00 -19970315; 14800; 1.54; 8.30; 3.90; 0.90 -19970316; 17700; 1.84; 5.20; 2.80; 0.80 -19970317; 18200; 1.89; 0.70; 3.60; 0.80 -19970318; 16200; 1.69; 0.30; 2.30; 0.70 -19970319; 14800; 1.54; 0.10; 2.80; 0.80 -19970320; 14000; 1.46; 20.90; 1.60; 0.70 -19970321; 31300; 3.26; 9.20; 6.30; 1.20 -19970322; 32200; 3.35; 2.90; 5.40; 1.10 -19970323; 20900; 2.18; 3.70; 5.70; 1.10 -19970324; 18400; 1.92; 7.90; 5.60; 1.10 -19970325; 22600; 2.35; 17.90; 7.80; 1.40 -19970326; 38400; 4.00; 6.10; 7.70; 1.40 -19970327; 30500; 3.17; 1.00; 5.40; 1.10 -19970328; 23300; 2.43; 0.00; 5.00; 1.10 -19970329; 21000; 2.19; 7.40; 7.90; 1.50 -19970330; 25400; 2.64; 22.10; 9.10; 1.60 -19970331; 49500; 5.15; 4.10; 10.10; 1.70 -19970401; 37700; 3.92; 2.30; 11.10; 1.90 -19970402; 30200; 3.14; 0.70; 11.00; 1.90 -19970403; 27300; 2.84; 1.30; 11.60; 2.00 -19970404; 26800; 2.79; 3.80; 9.60; 1.70 -19970405; 27000; 2.81; 6.90; 8.40; 1.60 -19970406; 28300; 2.95; 12.60; 8.70; 1.70 -19970407; 36100; 3.76; 4.70; 10.00; 1.90 -19970408; 40600; 4.23; 1.60; 8.70; 1.70 -19970409; 28700; 2.99; 2.00; 7.70; 1.60 -19970410; 25400; 2.64; 10.20; 7.80; 1.60 -19970411; 31800; 3.31; 8.10; 7.80; 1.60 -19970412; 36800; 3.83; 7.20; 8.00; 1.70 -19970413; 31700; 3.30; 5.60; 7.50; 1.60 -19970414; 32300; 3.36; 1.30; 8.50; 1.80 -19970415; 28900; 3.01; 0.60; 9.70; 2.00 -19970416; 25400; 2.64; 0.00; 10.60; 2.10 -19970417; 23700; 2.47; 0.00; 11.40; 2.20 -19970418; 22300; 2.32; 0.00; 11.90; 2.30 -19970419; 21000; 2.19; 0.00; 12.70; 2.40 -19970420; 18500; 1.93; 0.40; 8.20; 1.80 -19970421; 17500; 1.82; 1.10; 5.10; 1.40 -19970422; 17200; 1.79; 0.70; 9.60; 2.10 -19970423; 16700; 1.74; 0.20; 7.20; 1.70 -19970424; 16000; 1.67; 0.00; 6.60; 1.70 -19970425; 14900; 1.55; 0.00; 7.70; 1.80 -19970426; 14400; 1.50; 0.00; 6.50; 1.70 -19970427; 14400; 1.50; 0.00; 6.80; 1.70 -19970428; 14000; 1.46; 0.00; 6.60; 1.70 -19970429; 13300; 1.38; 0.00; 10.20; 2.20 -19970430; 12900; 1.34; 0.00; 10.30; 2.30 -19970501; 12700; 1.32; 0.00; 9.60; 2.20 -19970502; 12200; 1.27; 1.60; 8.30; 2.00 -19970503; 11900; 1.24; 0.00; 9.50; 2.20 -19970504; 11700; 1.22; 4.00; 7.60; 1.90 -19970505; 11700; 1.22; 1.00; 7.50; 1.90 -19970506; 11500; 1.20; 1.00; 8.10; 2.00 -19970507; 11200; 1.17; 0.00; 9.70; 2.30 -19970508; 10600; 1.10; 0.00; 11.10; 2.50 -19970509; 10100; 1.05; 9.10; 9.30; 2.20 -19970510; 10600; 1.10; 0.10; 8.80; 2.20 -19970511; 10900; 1.13; 0.10; 8.80; 2.20 -19970512; 10400; 1.08; 0.20; 8.40; 2.10 -19970513; 9950; 1.04; 0.00; 10.10; 2.40 -19970514; 9750; 1.01; 0.00; 10.30; 2.50 -19970515; 9300; 0.97; 0.30; 11.20; 2.60 -19970516; 8900; 0.93; 0.10; 13.30; 2.90 -19970517; 8600; 0.90; 0.00; 15.60; 3.30 -19970518; 8100; 0.84; 0.00; 15.80; 3.40 -19970519; 7700; 0.80; 1.00; 13.30; 3.00 -19970520; 7450; 0.78; 1.70; 10.60; 2.50 -19970521; 7200; 0.75; 1.80; 10.40; 2.50 -19970522; 7200; 0.75; 0.10; 10.60; 2.60 -19970523; 7150; 0.74; 0.00; 10.90; 2.60 -19970524; 7050; 0.73; 0.80; 12.70; 3.00 -19970525; 7050; 0.73; 2.20; 15.20; 3.40 -19970526; 6900; 0.72; 3.60; 15.20; 3.40 -19970527; 7150; 0.74; 4.70; 13.30; 3.10 -19970528; 7150; 0.74; 0.00; 10.70; 2.60 -19970529; 6750; 0.70; 0.00; 12.70; 3.00 -19970530; 6300; 0.66; 0.00; 15.60; 3.50 -19970531; 5950; 0.62; 0.00; 16.50; 3.60 -19970601; 5500; 0.57; 0.00; 17.70; 3.90 -19970602; 5300; 0.55; 0.00; 19.50; 4.20 -19970603; 5150; 0.54; 0.50; 17.40; 3.80 -19970604; 4770; 0.50; 0.00; 15.70; 3.50 -19970605; 4770; 0.50; 0.70; 14.20; 3.30 -19970606; 4590; 0.48; 5.10; 14.60; 3.40 -19970607; 5050; 0.53; 0.20; 11.20; 2.80 -19970608; 4890; 0.51; 3.40; 10.40; 2.70 -19970609; 4590; 0.48; 3.50; 12.40; 3.00 -19970610; 4590; 0.48; 0.00; 12.30; 3.00 -19970611; 4380; 0.46; 0.10; 11.20; 2.80 -19970612; 4240; 0.44; 0.70; 12.20; 3.00 -19970613; 4210; 0.44; 0.00; 12.10; 3.00 -19970614; 4180; 0.44; 0.00; 11.50; 2.80 -19970615; 4000; 0.42; 0.00; 12.00; 2.90 -19970616; 3880; 0.40; 0.00; 12.70; 3.10 -19970617; 3690; 0.38; 0.10; 13.20; 3.20 -19970618; 3690; 0.38; 0.00; 14.00; 3.30 -19970619; 3690; 0.38; 1.50; 12.30; 3.00 -19970620; 3690; 0.38; 11.60; 14.30; 3.30 -19970621; 4190; 0.44; 6.20; 13.50; 3.20 -19970622; 5850; 0.61; 5.90; 12.80; 3.10 -19970623; 5200; 0.54; 8.10; 13.30; 3.20 -19970624; 6700; 0.70; 0.40; 13.60; 3.20 -19970625; 5050; 0.53; 1.50; 13.90; 3.30 -19970626; 4210; 0.44; 0.30; 13.50; 3.20 -19970627; 4000; 0.42; 0.00; 12.50; 3.10 -19970628; 3820; 0.40; 0.00; 12.80; 3.10 -19970629; 3750; 0.39; 0.00; 14.70; 3.40 -19970630; 3750; 0.39; 0.00; 17.30; 3.90 -19970701; 3440; 0.36; 0.00; 16.30; 3.70 -19970702; 3210; 0.33; 0.00; 18.70; 4.10 -19970703; 3150; 0.33; 0.10; 21.00; 4.50 -19970704; 3000; 0.31; 3.00; 19.20; 4.20 -19970705; 3000; 0.31; 0.00; 16.80; 3.80 -19970706; 3000; 0.31; 0.00; 15.20; 3.50 -19970707; 2870; 0.30; 0.00; 16.50; 3.70 -19970708; 2780; 0.29; 0.00; 18.40; 4.00 -19970709; 2690; 0.28; 0.00; 17.90; 3.90 -19970710; 2570; 0.27; 0.00; 17.30; 3.80 -19970711; 2470; 0.26; 0.00; 16.70; 3.70 -19970712; 2280; 0.24; 0.00; 18.00; 3.90 -19970713; 2250; 0.23; 4.60; 19.90; 4.20 -19970714; 2470; 0.26; 0.00; 16.10; 3.60 -19970715; 2470; 0.26; 0.00; 14.40; 3.30 -19970716; 2400; 0.25; 0.30; 15.90; 3.50 -19970717; 2400; 0.25; 4.00; 15.10; 3.40 -19970718; 2700; 0.28; 17.40; 14.80; 3.30 -19970719; 3680; 0.38; 1.30; 14.90; 3.30 -19970720; 3250; 0.34; 0.40; 14.10; 3.20 -19970721; 2930; 0.31; 0.00; 14.80; 3.30 -19970722; 2750; 0.29; 0.20; 16.50; 3.50 -19970723; 2570; 0.27; 0.00; 16.20; 3.50 -19970724; 2500; 0.26; 0.00; 19.10; 3.90 -19970725; 2500; 0.26; 0.00; 19.90; 4.10 -19970726; 2330; 0.24; 1.80; 16.10; 3.40 -19970727; 2280; 0.24; 14.70; 15.90; 3.40 -19970728; 2830; 0.29; 9.60; 15.50; 3.30 -19970729; 3620; 0.38; 2.00; 14.70; 3.20 -19970730; 3310; 0.34; 1.00; 15.50; 3.30 -19970731; 2930; 0.31; 0.20; 15.40; 3.30 -19970801; 2870; 0.30; 0.00; 14.60; 3.10 -19970802; 2690; 0.28; 2.30; 14.10; 3.00 -19970803; 2500; 0.26; 0.00; 14.40; 3.00 -19970804; 2570; 0.27; 8.10; 15.10; 3.10 -19970805; 2890; 0.30; 3.40; 13.70; 2.90 -19970806; 3000; 0.31; 0.00; 13.10; 2.80 -19970807; 2750; 0.29; 3.90; 14.30; 2.90 -19970808; 2640; 0.27; 4.70; 15.30; 3.10 -19970809; 2770; 0.29; 5.80; 15.00; 3.00 -19970810; 3060; 0.32; 10.00; 13.90; 2.80 -19970811; 3510; 0.37; 6.50; 14.50; 2.90 -19970812; 4780; 0.50; 0.80; 14.80; 3.00 -19970813; 3490; 0.36; 6.70; 15.60; 3.00 -19970814; 3000; 0.31; 1.20; 15.40; 3.00 -19970815; 3060; 0.32; 1.00; 14.60; 2.90 -19970816; 2890; 0.30; 1.10; 15.10; 2.90 -19970817; 2700; 0.28; 3.20; 14.90; 2.90 -19970818; 2820; 0.29; 1.80; 16.10; 3.00 -19970819; 2820; 0.29; 2.60; 16.30; 3.00 -19970820; 2640; 0.27; 1.30; 16.50; 3.00 -19970821; 2540; 0.26; 0.50; 17.10; 3.10 -19970822; 2600; 0.27; 0.00; 16.00; 2.90 -19970823; 2470; 0.26; 18.40; 14.80; 2.70 -19970824; 3190; 0.33; 2.70; 14.30; 2.70 -19970825; 4380; 0.46; 4.20; 12.60; 2.40 -19970826; 3210; 0.33; 0.00; 12.70; 2.40 -19970827; 2820; 0.29; 0.00; 13.30; 2.40 -19970828; 2450; 0.26; 0.00; 16.30; 2.80 -19970829; 2290; 0.24; 0.10; 18.40; 3.10 -19970830; 2140; 0.22; 0.90; 16.30; 2.80 -19970831; 2120; 0.22; 2.20; 15.40; 2.60 -19970901; 2070; 0.22; 0.00; 12.80; 2.30 -19970902; 2070; 0.22; 12.00; 13.70; 2.40 -19970903; 2450; 0.26; 0.90; 14.00; 2.40 -19970904; 2630; 0.27; 2.10; 13.90; 2.40 -19970905; 2390; 0.25; 3.10; 14.40; 2.40 -19970906; 2380; 0.25; 0.00; 12.50; 2.10 -19970907; 2350; 0.24; 0.00; 13.40; 2.20 -19970908; 2290; 0.24; 0.00; 15.20; 2.40 -19970909; 2120; 0.22; 0.00; 15.90; 2.50 -19970910; 1980; 0.21; 0.00; 16.10; 2.50 -19970911; 1860; 0.19; 0.00; 16.90; 2.50 -19970912; 1730; 0.18; 0.00; 17.50; 2.60 -19970913; 1710; 0.18; 0.00; 14.00; 2.20 -19970914; 1710; 0.18; 4.40; 12.90; 2.00 -19970915; 1760; 0.18; 0.00; 12.30; 1.90 -19970916; 1780; 0.19; 0.00; 12.30; 1.90 -19970917; 1760; 0.18; 0.00; 16.20; 2.30 -19970918; 1730; 0.18; 0.00; 18.30; 2.50 -19970919; 1710; 0.18; 0.00; 16.80; 2.30 -19970920; 1730; 0.18; 0.10; 16.40; 2.30 -19970921; 1660; 0.17; 0.20; 16.10; 2.20 -19970922; 1780; 0.19; 2.00; 16.60; 2.20 -19970923; 1840; 0.19; 0.00; 17.50; 2.30 -19970924; 1780; 0.19; 0.00; 17.00; 2.20 -19970925; 1760; 0.18; 0.00; 16.20; 2.10 -19970926; 1640; 0.17; 0.00; 17.10; 2.20 -19970927; 1660; 0.17; 0.00; 19.90; 2.40 -19970928; 1620; 0.17; 0.00; 20.10; 2.40 -19970929; 1520; 0.16; 0.00; 18.00; 2.20 -19970930; 1540; 0.16; 0.00; 18.90; 2.20 -19971001; 1520; 0.16; 3.70; 17.10; 2.00 -19971002; 1520; 0.16; 2.40; 17.10; 2.00 -19971003; 1540; 0.16; 6.00; 15.90; 1.90 -19971004; 1720; 0.18; 1.90; 15.20; 1.80 -19971005; 1810; 0.19; 0.30; 13.80; 1.60 -19971006; 1840; 0.19; 8.10; 16.10; 1.80 -19971007; 1870; 0.19; 4.60; 12.80; 1.50 -19971008; 2070; 0.22; 2.70; 11.50; 1.40 -19971009; 2070; 0.22; 0.00; 12.10; 1.40 -19971010; 1970; 0.21; 0.00; 12.10; 1.40 -19971011; 1840; 0.19; 0.00; 13.80; 1.50 -19971012; 1810; 0.19; 0.00; 15.10; 1.60 -19971013; 1810; 0.19; 0.00; 13.90; 1.50 -19971014; 1690; 0.18; 0.00; 12.90; 1.40 -19971015; 1540; 0.16; 0.00; 12.30; 1.30 -19971016; 1520; 0.16; 0.00; 12.90; 1.30 -19971017; 1520; 0.16; 0.00; 11.10; 1.20 -19971018; 1480; 0.15; 0.00; 9.80; 1.10 -19971019; 1480; 0.15; 0.00; 9.40; 1.00 -19971020; 1540; 0.16; 0.00; 9.40; 1.00 -19971021; 1480; 0.15; 0.00; 9.70; 1.00 -19971022; 1410; 0.15; 0.00; 10.20; 1.00 -19971023; 1410; 0.15; 0.00; 8.80; 0.90 -19971024; 1530; 0.16; 0.00; 8.90; 0.90 -19971025; 1530; 0.16; 0.00; 9.30; 0.90 -19971026; 1430; 0.15; 0.00; 12.00; 1.10 -19971027; 1540; 0.16; 0.00; 9.50; 0.90 -19971028; 1540; 0.16; 0.00; 9.50; 0.90 -19971029; 1520; 0.16; 3.00; 8.30; 0.80 -19971030; 1520; 0.16; 2.50; 5.80; 0.60 -19971031; 1660; 0.17; 0.80; 6.30; 0.70 -19971101; 1760; 0.18; 0.00; 6.60; 0.70 -19971102; 1660; 0.17; 0.10; 7.10; 0.70 -19971103; 1760; 0.18; 0.20; 6.00; 0.60 -19971104; 1930; 0.20; 32.80; 10.10; 0.80 -19971105; 5750; 0.60; 3.20; 10.90; 0.90 -19971106; 5400; 0.56; 1.00; 8.30; 0.70 -19971107; 3260; 0.34; 7.70; 11.50; 0.90 -19971108; 3440; 0.36; 5.90; 14.90; 1.00 -19971109; 3850; 0.40; 4.20; 12.50; 0.90 -19971110; 3450; 0.36; 0.20; 6.30; 0.60 -19971111; 3030; 0.32; 0.40; 4.70; 0.50 -19971112; 2740; 0.29; 0.10; 3.00; 0.40 -19971113; 2590; 0.27; 0.20; 4.00; 0.40 -19971114; 2410; 0.25; 7.20; 8.30; 0.60 -19971115; 2410; 0.25; 0.50; 6.00; 0.50 -19971116; 2740; 0.29; 2.30; 6.20; 0.50 -19971117; 2740; 0.29; 0.70; 8.50; 0.60 -19971118; 2740; 0.29; 0.00; 4.50; 0.40 -19971119; 2590; 0.27; 0.30; 0.20; 0.20 -19971120; 2410; 0.25; 0.50; 0.40; 0.20 -19971121; 2410; 0.25; 0.30; 4.30; 0.40 -19971122; 2410; 0.25; 0.60; 5.20; 0.40 -19971123; 2410; 0.25; 0.50; 4.50; 0.40 -19971124; 2410; 0.25; 0.00; 4.00; 0.40 -19971125; 2300; 0.24; 0.00; 1.90; 0.30 -19971126; 2230; 0.23; 0.20; 3.10; 0.30 -19971127; 2230; 0.23; 4.80; 4.60; 0.40 -19971128; 2350; 0.24; 6.40; 5.30; 0.40 -19971129; 2740; 0.29; 6.90; 10.20; 0.60 -19971130; 3580; 0.37; 3.40; 12.40; 0.70 -19971201; 4030; 0.42; 6.60; 12.50; 0.70 -19971202; 3800; 0.40; 10.30; 13.90; 0.70 -19971203; 6650; 0.69; 9.70; 12.30; 0.70 -19971204; 9500; 0.99; 9.30; 11.90; 0.60 -19971205; 13000; 1.35; 3.70; 10.10; 0.60 -19971206; 9650; 1.00; 17.40; 10.50; 0.60 -19971207; 16000; 1.67; 6.00; 9.80; 0.50 -19971208; 14800; 1.54; 3.50; 6.00; 0.40 -19971209; 11000; 1.15; 1.30; 5.40; 0.40 -19971210; 8550; 0.89; 12.80; 7.60; 0.40 -19971211; 12800; 1.33; 0.00; 6.20; 0.40 -19971212; 10500; 1.09; 0.00; 2.80; 0.30 -19971213; 7950; 0.83; 1.20; 7.40; 0.40 -19971214; 7000; 0.73; 0.00; 10.10; 0.50 -19971215; 6500; 0.68; 0.00; 9.10; 0.50 -19971216; 6000; 0.62; 0.00; 7.90; 0.40 -19971217; 5550; 0.58; 4.00; 9.90; 0.50 -19971218; 5400; 0.56; 0.20; 8.60; 0.50 -19971219; 5850; 0.61; 0.20; 6.90; 0.40 -19971220; 5550; 0.58; 0.00; 8.60; 0.50 -19971221; 5050; 0.53; 8.70; 10.80; 0.60 -19971222; 6950; 0.72; 5.90; 8.10; 0.50 -19971223; 12400; 1.29; 13.70; 8.70; 0.50 -19971224; 18900; 1.97; 8.50; 10.20; 0.50 -19971225; 19500; 2.03; 12.20; 9.00; 0.50 -19971226; 23500; 2.45; 9.60; 7.90; 0.50 -19971227; 20600; 2.14; 0.50; 4.40; 0.30 -19971228; 16000; 1.67; 0.00; 1.50; 0.20 -19971229; 12500; 1.30; 0.10; -0.50; 0.10 -19971230; 10700; 1.11; 7.20; 2.10; 0.20 -19971231; 14300; 1.49; 4.40; 4.20; 0.30 -19980101; 22500; 2.34; 21.90; 6.00; 0.40 -19980102; 34900; 3.63; 9.20; 7.40; 0.50 -19980103; 28900; 3.01; 0.70; 4.30; 0.30 -19980104; 19900; 2.07; 17.60; 4.20; 0.30 -19980105; 29800; 3.10; 11.30; 5.50; 0.40 -19980106; 37400; 3.89; 13.10; 5.00; 0.40 -19980107; 36200; 3.77; 11.10; 8.20; 0.50 -19980108; 42700; 4.44; 1.20; 6.40; 0.40 -19980109; 29200; 3.04; 3.70; 7.20; 0.50 -19980110; 26700; 2.78; 8.00; 10.10; 0.60 -19980111; 30600; 3.19; 4.30; 8.10; 0.50 -19980112; 28900; 3.01; 3.90; 7.70; 0.50 -19980113; 26400; 2.75; 5.20; 9.80; 0.60 -19980114; 26800; 2.79; 0.70; 9.10; 0.60 -19980115; 24900; 2.59; 1.70; 6.70; 0.50 -19980116; 22400; 2.33; 2.70; 4.80; 0.40 -19980117; 21600; 2.25; 1.20; 7.40; 0.50 -19980118; 21400; 2.23; 2.80; 9.40; 0.60 -19980119; 21900; 2.28; 5.90; 8.50; 0.60 -19980120; 25300; 2.63; 3.00; 6.30; 0.50 -19980121; 21400; 2.23; 3.30; 7.60; 0.50 -19980122; 25300; 2.63; 27.90; 8.20; 0.60 -19980123; 56000; 5.83; 14.70; 8.80; 0.60 -19980124; 51500; 5.36; 1.40; 4.60; 0.40 -19980125; 32900; 3.42; 4.50; 3.90; 0.40 -19980126; 30100; 3.13; 6.30; 5.40; 0.50 -19980127; 33600; 3.50; 3.50; 4.80; 0.40 -19980128; 32300; 3.36; 15.50; 3.50; 0.40 -19980129; 42300; 4.40; 1.60; 2.40; 0.40 -19980130; 34400; 3.58; 0.50; 1.80; 0.30 -19980131; 28700; 2.99; 0.50; 4.10; 0.50 -19980201; 26500; 2.76; 4.90; 3.30; 0.40 -19980202; 26200; 2.73; 1.90; 3.40; 0.40 -19980203; 26100; 2.72; 3.00; 2.90; 0.40 -19980204; 24900; 2.59; 0.00; 3.70; 0.50 -19980205; 23400; 2.44; 0.00; 2.20; 0.40 -19980206; 21500; 2.24; 0.70; 0.60; 0.30 -19980207; 21000; 2.19; 6.90; -1.40; 0.20 -19980208; 20100; 2.09; 0.00; -2.30; 0.10 -19980209; 19400; 2.02; 0.00; -1.00; 0.20 -19980210; 18400; 1.92; 0.00; -4.70; 0.00 -19980211; 17500; 1.82; 0.00; -3.40; 0.10 -19980212; 17000; 1.77; 0.00; -1.20; 0.20 -19980213; 16700; 1.74; 7.60; -1.30; 0.20 -19980214; 19000; 1.98; 1.90; 0.50; 0.30 -19980215; 20700; 2.15; 0.30; 3.20; 0.50 -19980216; 22900; 2.38; 12.70; 4.50; 0.60 -19980217; 30800; 3.21; 3.20; 2.60; 0.50 -19980218; 23600; 2.46; 2.10; -0.30; 0.30 -19980219; 19700; 2.05; 0.00; -0.20; 0.30 -19980220; 18600; 1.94; 0.00; -1.70; 0.20 -19980221; 17300; 1.80; 0.00; -3.90; 0.10 -19980222; 16300; 1.70; 9.70; -3.40; 0.10 -19980223; 16700; 1.74; 5.90; -1.30; 0.20 -19980224; 16900; 1.76; 0.00; -2.20; 0.20 -19980225; 16100; 1.68; 0.00; -3.10; 0.20 -19980226; 15700; 1.63; 3.30; -3.90; 0.10 -19980227; 15200; 1.58; 0.40; -2.80; 0.20 -19980228; 15400; 1.60; 7.80; -0.30; 0.40 -19980301; 19400; 2.02; 1.90; 1.40; 0.50 -19980302; 23200; 2.42; 0.00; 1.00; 0.50 -19980303; 20300; 2.11; 0.00; 0.70; 0.50 -19980304; 19100; 1.99; 2.40; 6.50; 0.90 -19980305; 21900; 2.28; 5.50; 8.30; 1.10 -19980306; 23800; 2.48; 0.40; 5.20; 0.80 -19980307; 18700; 1.95; 0.00; 5.10; 0.80 -19980308; 17200; 1.79; 0.50; 5.20; 0.90 -19980309; 17300; 1.80; 5.60; 5.20; 0.90 -19980310; 19600; 2.04; 0.10; 5.70; 0.90 -19980311; 17500; 1.82; 0.40; 6.10; 1.00 -19980312; 16100; 1.68; 3.80; 5.90; 1.00 -19980313; 18000; 1.87; 2.60; 5.70; 1.00 -19980314; 19100; 1.99; 0.80; 6.40; 1.10 -19980315; 17200; 1.79; 0.10; 8.10; 1.30 -19980316; 16100; 1.68; 0.90; 6.40; 1.10 -19980317; 15200; 1.58; 0.00; 7.20; 1.20 -19980318; 14800; 1.54; 1.70; 7.50; 1.20 -19980319; 14800; 1.54; 5.00; 6.60; 1.20 -19980320; 15800; 1.64; 0.80; 7.50; 1.30 -19980321; 16100; 1.68; 0.80; 6.30; 1.20 -19980322; 14900; 1.55; 4.50; 8.60; 1.40 -19980323; 16000; 1.67; 14.10; 9.10; 1.50 -19980324; 24300; 2.53; 12.10; 6.30; 1.20 -19980325; 33100; 3.45; 5.00; 4.20; 1.00 -19980326; 27000; 2.81; 7.90; 7.10; 1.30 -19980327; 28600; 2.98; 21.70; 8.80; 1.50 -19980328; 48200; 5.02; 9.80; 6.80; 1.30 -19980329; 43400; 4.52; 17.30; 6.00; 1.20 -19980330; 47500; 4.94; 15.80; 9.20; 1.60 -19980331; 68000; 7.08; 3.90; 7.80; 1.50 -19980401; 56000; 5.83; 0.00; 6.10; 1.30 -19980402; 39900; 4.15; 0.00; 5.40; 1.20 -19980403; 35900; 3.74; 0.00; 4.50; 1.10 -19980404; 32900; 3.42; 0.00; 3.60; 1.00 -19980405; 30500; 3.17; 0.80; 3.40; 1.00 -19980406; 28500; 2.97; 1.90; 2.50; 0.90 -19980407; 27200; 2.83; 3.40; 2.00; 0.90 -19980408; 26000; 2.71; 0.10; 5.00; 1.20 -19980409; 24500; 2.55; 0.10; 5.00; 1.30 -19980410; 23200; 2.42; 1.80; 4.30; 1.20 -19980411; 22000; 2.29; 0.10; 1.60; 0.90 -19980412; 20800; 2.17; 3.60; 3.30; 1.10 -19980413; 20500; 2.13; 8.10; 5.70; 1.40 -19980414; 22000; 2.29; 10.60; 6.90; 1.60 -19980415; 28100; 2.93; 8.30; 6.50; 1.50 -19980416; 29500; 3.07; 3.60; 6.40; 1.50 -19980417; 25800; 2.69; 4.00; 4.90; 1.30 -19980418; 22400; 2.33; 1.20; 6.30; 1.50 -19980419; 20800; 2.17; 3.50; 8.30; 1.80 -19980420; 20200; 2.10; 7.50; 9.30; 2.00 -19980421; 23900; 2.49; 8.00; 6.80; 1.60 -19980422; 25200; 2.62; 12.10; 6.80; 1.70 -19980423; 27500; 2.86; 3.40; 7.10; 1.70 -19980424; 26600; 2.77; 3.60; 7.50; 1.80 -19980425; 21900; 2.28; 6.70; 8.40; 1.90 -19980426; 22200; 2.31; 1.50; 8.20; 1.90 -19980427; 20800; 2.17; 3.40; 7.50; 1.80 -19980428; 20600; 2.14; 0.50; 7.40; 1.80 -19980429; 19400; 2.02; 0.00; 8.70; 2.00 -19980430; 18400; 1.92; 0.00; 8.50; 2.00 -19980501; 17600; 1.83; 0.00; 11.50; 2.50 -19980502; 17100; 1.78; 0.40; 10.00; 2.20 -19980503; 17100; 1.78; 20.10; 7.10; 1.80 -19980504; 26800; 2.79; 10.00; 7.60; 1.90 -19980505; 33100; 3.45; 6.70; 8.50; 2.10 -19980506; 28700; 2.99; 7.80; 9.00; 2.10 -19980507; 26700; 2.78; 8.80; 9.00; 2.20 -19980508; 29500; 3.07; 3.20; 10.10; 2.30 -19980509; 26700; 2.78; 2.60; 11.40; 2.60 -19980510; 25600; 2.66; 2.30; 11.70; 2.60 -19980511; 25400; 2.64; 0.00; 10.70; 2.50 -19980512; 20900; 2.18; 1.30; 10.80; 2.50 -19980513; 20600; 2.14; 2.70; 10.40; 2.50 -19980514; 22200; 2.31; 14.90; 10.20; 2.40 -19980515; 30800; 3.21; 0.10; 9.70; 2.40 -19980516; 28100; 2.93; 8.60; 10.40; 2.50 -19980517; 26700; 2.78; 1.60; 13.20; 2.90 -19980518; 26800; 2.79; 0.00; 12.50; 2.80 -19980519; 22200; 2.31; 7.70; 15.30; 3.30 -19980520; 21700; 2.26; 0.00; 13.70; 3.10 -19980521; 21800; 2.27; 3.80; 11.00; 2.60 -19980522; 23000; 2.39; 3.10; 11.70; 2.80 -19980523; 21700; 2.26; 0.20; 11.60; 2.80 -19980524; 21000; 2.19; 0.00; 11.00; 2.70 -19980525; 19700; 2.05; 0.00; 12.50; 2.90 -19980526; 18900; 1.97; 0.70; 12.20; 2.90 -19980527; 18400; 1.92; 0.70; 11.80; 2.80 -19980528; 18200; 1.89; 0.60; 8.90; 2.30 -19980529; 17300; 1.80; 0.00; 9.90; 2.50 -19980530; 16900; 1.76; 0.60; 10.40; 2.60 -19980531; 16500; 1.72; 4.10; 10.40; 2.60 -19980601; 17500; 1.82; 0.00; 13.80; 3.20 -19980602; 16900; 1.76; 0.00; 14.80; 3.40 -19980603; 16300; 1.70; 0.00; 12.00; 2.90 -19980604; 15700; 1.63; 1.80; 10.90; 2.70 -19980605; 15200; 1.58; 0.00; 10.50; 2.70 -19980606; 14800; 1.54; 0.00; 10.40; 2.70 -19980607; 14200; 1.48; 0.50; 11.00; 2.80 -19980608; 13700; 1.43; 0.00; 12.80; 3.10 -19980609; 13400; 1.39; 4.10; 14.20; 3.30 -19980610; 12900; 1.34; 2.90; 12.20; 3.00 -19980611; 14000; 1.46; 6.50; 11.80; 2.90 -19980612; 15500; 1.61; 0.00; 13.70; 3.20 -19980613; 13700; 1.43; 0.00; 15.30; 3.50 -19980614; 12200; 1.27; 0.00; 16.50; 3.70 -19980615; 11700; 1.22; 0.00; 19.90; 4.30 -19980616; 9550; 0.99; 0.00; 17.50; 3.90 -19980617; 8700; 0.91; 0.00; 13.90; 3.30 -19980618; 8350; 0.87; 0.00; 13.50; 3.20 -19980619; 8150; 0.85; 0.50; 14.30; 3.30 -19980620; 8150; 0.85; 29.40; 17.30; 3.90 -19980621; 22100; 2.30; 14.40; 15.30; 3.50 -19980622; 26300; 2.74; 5.00; 13.00; 3.10 -19980623; 19600; 2.04; 11.60; 12.30; 3.00 -19980624; 20000; 2.08; 0.00; 15.10; 3.50 -19980625; 14900; 1.55; 0.00; 20.20; 4.40 -19980626; 11500; 1.20; 0.00; 22.50; 4.80 -19980627; 9850; 1.03; 0.20; 19.60; 4.30 -19980628; 8700; 0.91; 2.20; 18.90; 4.20 -19980629; 8150; 0.85; 12.10; 17.60; 3.90 -19980630; 9800; 1.02; 0.00; 15.40; 3.50 -19980701; 9650; 1.00; 0.00; 16.70; 3.80 -19980702; 8300; 0.86; 0.00; 18.10; 4.00 -19980703; 7450; 0.78; 0.00; 16.30; 3.70 -19980704; 7050; 0.73; 0.60; 15.90; 3.60 -19980705; 6750; 0.70; 21.80; 15.00; 3.40 -19980706; 12400; 1.29; 0.00; 15.40; 3.50 -19980707; 11900; 1.24; 0.10; 14.40; 3.30 -19980708; 8150; 0.85; 0.10; 13.90; 3.20 -19980709; 7000; 0.73; 0.00; 15.50; 3.50 -19980710; 6300; 0.66; 0.00; 14.90; 3.40 -19980711; 6200; 0.65; 0.00; 15.50; 3.50 -19980712; 5800; 0.60; 0.00; 15.30; 3.40 -19980713; 5500; 0.57; 0.00; 15.40; 3.50 -19980714; 5150; 0.54; 0.00; 16.20; 3.60 -19980715; 5150; 0.54; 0.00; 18.70; 4.00 -19980716; 5100; 0.53; 0.10; 20.10; 4.20 -19980717; 4610; 0.48; 0.00; 16.40; 3.60 -19980718; 4290; 0.45; 0.00; 14.60; 3.30 -19980719; 3970; 0.41; 0.00; 14.20; 3.20 -19980720; 3900; 0.41; 0.20; 14.60; 3.30 -19980721; 3970; 0.41; 0.00; 15.80; 3.50 -19980722; 3970; 0.41; 0.00; 15.30; 3.40 -19980723; 3620; 0.38; 0.00; 13.30; 3.00 -19980724; 3620; 0.38; 0.10; 15.70; 3.40 -19980725; 3620; 0.38; 2.30; 14.60; 3.20 -19980726; 3690; 0.38; 2.90; 15.80; 3.40 -19980727; 4040; 0.42; 2.10; 16.50; 3.50 -19980728; 4440; 0.46; 2.30; 16.40; 3.40 -19980729; 4360; 0.45; 0.00; 15.00; 3.20 -19980730; 4290; 0.45; 1.20; 14.90; 3.20 -19980731; 4290; 0.45; 0.10; 15.10; 3.20 -19980801; 3900; 0.41; 4.40; 15.90; 3.30 -19980802; 3690; 0.38; 5.60; 15.00; 3.20 -19980803; 4190; 0.44; 11.30; 13.00; 2.80 -19980804; 5900; 0.61; 0.50; 13.20; 2.80 -19980805; 5100; 0.53; 0.00; 13.60; 2.90 -19980806; 4290; 0.45; 1.80; 14.20; 3.00 -19980807; 3970; 0.41; 0.40; 14.00; 2.90 -19980808; 3690; 0.38; 0.00; 14.20; 2.90 -19980809; 3620; 0.38; 0.30; 15.80; 3.20 -19980810; 3480; 0.36; 0.60; 16.80; 3.30 -19980811; 3490; 0.36; 0.00; 15.50; 3.10 -19980812; 3330; 0.35; 0.50; 15.00; 3.00 -19980813; 3330; 0.35; 1.70; 16.20; 3.10 -19980814; 3330; 0.35; 0.10; 15.80; 3.10 -19980815; 3330; 0.35; 1.00; 15.00; 2.90 -19980816; 3330; 0.35; 0.00; 14.60; 2.80 -19980817; 3260; 0.34; 0.30; 16.10; 3.00 -19980818; 3190; 0.33; 6.10; 14.70; 2.80 -19980819; 3190; 0.33; 0.00; 13.20; 2.60 -19980820; 3120; 0.32; 0.00; 13.20; 2.60 -19980821; 3120; 0.32; 13.00; 15.00; 2.80 -19980822; 3780; 0.39; 2.10; 14.70; 2.70 -19980823; 3760; 0.39; 1.90; 14.60; 2.70 -19980824; 3620; 0.38; 0.30; 14.20; 2.60 -19980825; 3560; 0.37; 19.70; 14.30; 2.60 -19980826; 6500; 0.68; 0.60; 12.20; 2.30 -19980827; 6350; 0.66; 0.30; 10.90; 2.10 -19980828; 5350; 0.56; 2.30; 10.20; 2.00 -19980829; 4540; 0.47; 0.40; 10.30; 2.00 -19980830; 4140; 0.43; 0.00; 11.10; 2.10 -19980831; 3820; 0.40; 0.10; 11.40; 2.10 -19980901; 3470; 0.36; 0.10; 12.40; 2.20 -19980902; 3340; 0.35; 0.30; 14.50; 2.50 -19980903; 3260; 0.34; 0.30; 13.30; 2.30 -19980904; 3110; 0.32; 0.00; 12.60; 2.20 -19980905; 3110; 0.32; 0.00; 13.50; 2.30 -19980906; 3040; 0.32; 0.00; 13.40; 2.20 -19980907; 3010; 0.31; 0.00; 12.90; 2.20 -19980908; 2920; 0.30; 0.00; 14.00; 2.30 -19980909; 2920; 0.30; 0.00; 13.20; 2.20 -19980910; 2800; 0.29; 0.00; 12.10; 2.00 -19980911; 2800; 0.29; 0.60; 12.90; 2.10 -19980912; 2800; 0.29; 30.50; 11.90; 2.00 -19980913; 5600; 0.58; 7.10; 15.30; 2.30 -19980914; 7950; 0.83; 22.80; 14.70; 2.20 -19980915; 11000; 1.15; 19.80; 13.20; 2.10 -19980916; 21900; 2.28; 23.80; 9.90; 1.60 -19980917; 20200; 2.10; 3.90; 9.70; 1.60 -19980918; 18400; 1.92; 0.00; 11.00; 1.70 -19980919; 10200; 1.06; 0.00; 11.40; 1.70 -19980920; 6500; 0.68; 0.00; 12.30; 1.80 -19980921; 5100; 0.53; 0.00; 12.30; 1.80 -19980922; 4680; 0.49; 0.00; 12.30; 1.80 -19980923; 4290; 0.45; 0.10; 11.80; 1.70 -19980924; 3900; 0.41; 0.20; 13.80; 1.90 -19980925; 3900; 0.41; 0.10; 12.70; 1.80 -19980926; 3900; 0.41; 0.00; 12.40; 1.70 -19980927; 3540; 0.37; 0.00; 11.90; 1.60 -19980928; 3540; 0.37; 0.00; 13.40; 1.80 -19980929; 3480; 0.36; 0.00; 13.00; 1.70 -19980930; 3480; 0.36; 0.10; 14.80; 1.80 -19981001; 3410; 0.35; 0.00; 15.20; 1.90 -19981002; 3340; 0.35; 0.00; 14.50; 1.80 -19981003; 3260; 0.34; 0.00; 17.20; 2.00 -19981004; 3260; 0.34; 0.00; 16.90; 1.90 -19981005; 3260; 0.34; 0.00; 15.20; 1.80 -19981006; 3190; 0.33; 0.00; 14.90; 1.70 -19981007; 3190; 0.33; 0.00; 15.50; 1.70 -19981008; 3190; 0.33; 0.00; 15.30; 1.70 -19981009; 3120; 0.32; 0.00; 14.10; 1.60 -19981010; 3120; 0.32; 0.80; 12.60; 1.40 -19981011; 3190; 0.33; 0.00; 12.10; 1.40 -19981012; 3190; 0.33; 0.10; 12.60; 1.40 -19981013; 3260; 0.34; 0.00; 15.10; 1.60 -19981014; 3260; 0.34; 16.00; 14.30; 1.50 -19981015; 3470; 0.36; 0.10; 13.00; 1.40 -19981016; 3900; 0.41; 0.00; 12.70; 1.30 -19981017; 3750; 0.39; 0.00; 12.50; 1.30 -19981018; 3340; 0.35; 4.30; 11.40; 1.20 -19981019; 3470; 0.36; 4.30; 11.60; 1.20 -19981020; 3540; 0.37; 2.70; 12.20; 1.20 -19981021; 3690; 0.38; 18.80; 12.90; 1.20 -19981022; 9800; 1.02; 11.20; 12.70; 1.20 -19981023; 16500; 1.72; 1.20; 8.60; 0.90 -19981024; 9700; 1.01; 8.40; 9.80; 1.00 -19981025; 8350; 0.87; 4.60; 9.40; 0.90 -19981026; 9650; 1.00; 3.70; 9.90; 0.90 -19981027; 8950; 0.93; 12.70; 13.00; 1.10 -19981028; 15400; 1.60; 10.70; 13.10; 1.10 -19981029; 16900; 1.76; 0.00; 8.60; 0.80 -19981030; 12500; 1.30; 4.10; 11.10; 1.00 -19981031; 10600; 1.10; 3.90; 11.90; 1.00 -19981101; 10500; 1.09; 1.90; 10.70; 0.90 -19981102; 10200; 1.06; 0.00; 7.00; 0.70 -19981103; 8600; 0.90; 1.00; 7.70; 0.70 -19981104; 7800; 0.81; 0.00; 8.50; 0.70 -19981105; 7400; 0.77; 0.70; 7.60; 0.70 -19981106; 7400; 0.77; 1.80; 11.90; 0.90 -19981107; 7400; 0.77; 3.90; 11.40; 0.90 -19981108; 7550; 0.79; 0.00; 7.70; 0.70 -19981109; 7900; 0.82; 12.40; 9.80; 0.80 -19981110; 11000; 1.15; 17.00; 12.50; 0.90 -19981111; 25700; 2.68; 0.50; 9.80; 0.80 -19981112; 19700; 2.05; 3.50; 8.50; 0.70 -19981113; 13800; 1.44; 6.70; 10.80; 0.80 -19981114; 18800; 1.96; 14.50; 9.90; 0.70 -19981115; 27000; 2.81; 0.20; 8.40; 0.60 -19981116; 20200; 2.10; 10.20; 9.00; 0.70 -19981117; 21600; 2.25; 9.30; 7.80; 0.60 -19981118; 22500; 2.34; 11.60; 11.50; 0.80 -19981119; 30100; 3.13; 11.00; 11.50; 0.70 -19981120; 36200; 3.77; 5.70; 8.20; 0.60 -19981121; 28400; 2.96; 3.30; 10.80; 0.70 -19981122; 27900; 2.90; 9.60; 8.10; 0.60 -19981123; 28500; 2.97; 6.30; 5.70; 0.40 -19981124; 27900; 2.90; 3.50; 10.90; 0.70 -19981125; 26800; 2.79; 7.30; 11.00; 0.70 -19981126; 29400; 3.06; 0.60; 7.50; 0.50 -19981127; 25800; 2.69; 0.00; 5.80; 0.40 -19981128; 22100; 2.30; 0.00; 4.10; 0.40 -19981129; 21000; 2.19; 0.00; 0.70; 0.20 -19981130; 19900; 2.07; 0.00; 2.70; 0.30 -19981201; 19000; 1.98; 0.10; 8.10; 0.50 -19981202; 18200; 1.89; 0.00; 9.40; 0.60 -19981203; 18000; 1.87; 0.00; 10.70; 0.60 -19981204; 17300; 1.80; 0.10; 11.90; 0.60 -19981205; 16900; 1.76; 15.30; 11.70; 0.60 -19981206; 24400; 2.54; 2.40; 7.10; 0.50 -19981207; 22500; 2.34; 20.50; 10.90; 0.60 -19981208; 39700; 4.13; 9.00; 10.00; 0.60 -19981209; 41700; 4.34; 1.80; 6.30; 0.40 -19981210; 27200; 2.83; 3.60; 5.70; 0.40 -19981211; 26900; 2.80; 8.90; 7.80; 0.50 -19981212; 31800; 3.31; 20.00; 6.20; 0.40 -19981213; 42000; 4.37; 2.30; 7.80; 0.50 -19981214; 43000; 4.48; 6.50; 6.20; 0.40 -19981215; 38400; 4.00; 17.30; 9.50; 0.50 -19981216; 55500; 5.78; 4.50; 7.00; 0.40 -19981217; 43600; 4.54; 17.20; 8.40; 0.50 -19981218; 51000; 5.31; 16.20; 10.40; 0.50 -19981219; 71000; 7.39; 4.50; 5.50; 0.40 -19981220; 53000; 5.52; 1.50; 5.80; 0.40 -19981221; 45100; 4.69; 1.80; 4.10; 0.30 -19981222; 37100; 3.86; 0.30; 2.80; 0.30 -19981223; 34100; 3.55; 0.50; 3.00; 0.30 -19981224; 31700; 3.30; 1.10; 4.50; 0.30 -19981225; 30800; 3.21; 8.10; 9.30; 0.50 -19981226; 33700; 3.51; 1.50; 8.80; 0.50 -19981227; 29900; 3.11; 0.20; 6.20; 0.40 -19981228; 26900; 2.80; 0.40; 9.40; 0.50 -19981229; 25100; 2.61; 0.00; 9.80; 0.50 -19981230; 24400; 2.54; 5.70; 9.90; 0.50 -19981231; 27000; 2.81; 8.60; 10.40; 0.60 -19990101; 31600; 3.29; 14.10; 10.10; 0.60 -19990102; 42100; 4.38; 1.50; 7.70; 0.50 -19990103; 29400; 3.06; 0.00; 3.50; 0.30 -19990104; 24300; 2.53; 4.60; 5.00; 0.40 -19990105; 25500; 2.65; 0.60; 7.90; 0.50 -19990106; 24700; 2.57; 0.20; 5.90; 0.40 -19990107; 22100; 2.30; 0.00; 1.80; 0.30 -19990108; 20600; 2.14; 0.00; -0.60; 0.20 -19990109; 20300; 2.11; 0.40; 1.60; 0.20 -19990110; 20200; 2.10; 0.00; 2.50; 0.30 -19990111; 19300; 2.01; 0.00; -2.50; 0.10 -19990112; 17700; 1.84; 0.00; -9.20; 0.00 -19990113; 15900; 1.66; 4.60; -7.40; 0.00 -19990114; 15900; 1.66; 1.40; -3.80; 0.00 -19990115; 16200; 1.69; 0.00; 0.40; 0.20 -19990116; 16000; 1.67; 0.00; 1.10; 0.30 -19990117; 16000; 1.67; 0.00; -1.80; 0.10 -19990118; 15600; 1.62; 0.00; -4.00; 0.00 -19990119; 15400; 1.60; 0.00; -1.40; 0.10 -19990120; 15000; 1.56; 0.00; -3.60; 0.00 -19990121; 14500; 1.51; 0.00; -1.00; 0.20 -19990122; 14500; 1.51; 0.00; -0.70; 0.20 -19990123; 14000; 1.46; 0.00; 1.40; 0.30 -19990124; 14500; 1.51; 0.00; 3.50; 0.40 -19990125; 14600; 1.52; 0.00; 0.10; 0.20 -19990126; 14000; 1.46; 1.00; -0.80; 0.20 -19990127; 13900; 1.45; 8.10; 0.30; 0.20 -19990128; 17400; 1.81; 6.80; 0.60; 0.30 -19990129; 20000; 2.08; 0.00; 1.00; 0.30 -19990130; 14800; 1.54; 0.00; -0.90; 0.20 -19990131; 13000; 1.35; 0.00; -0.20; 0.20 -19990201; 12500; 1.30; 18.00; 4.40; 0.50 -19990202; 19900; 2.07; 2.20; 8.20; 0.70 -19990203; 21000; 2.19; 0.00; 7.60; 0.70 -19990204; 15300; 1.59; 0.00; 6.10; 0.60 -19990205; 14000; 1.46; 1.30; 7.00; 0.70 -19990206; 13700; 1.43; 9.40; 9.50; 0.80 -19990207; 20100; 2.09; 2.20; 9.80; 0.80 -19990208; 17400; 1.81; 1.20; 9.90; 0.90 -19990209; 15600; 1.62; 3.80; 7.90; 0.70 -19990210; 16400; 1.71; 0.20; 5.00; 0.60 -19990211; 15600; 1.62; 0.40; 4.60; 0.60 -19990212; 14500; 1.51; 1.40; 3.60; 0.50 -19990213; 15300; 1.59; 11.80; 5.60; 0.60 -19990214; 20900; 2.18; 0.00; 5.40; 0.70 -19990215; 16600; 1.73; 0.00; 2.90; 0.50 -19990216; 14600; 1.52; 0.50; 1.10; 0.40 -19990217; 14200; 1.48; 1.80; 0.10; 0.30 -19990218; 14000; 1.46; 1.90; 0.50; 0.30 -19990219; 14000; 1.46; 1.10; 0.30; 0.30 -19990220; 14000; 1.46; 0.80; 0.20; 0.40 -19990221; 14000; 1.46; 0.40; 2.30; 0.50 -19990222; 13900; 1.45; 0.00; 3.60; 0.60 -19990223; 13400; 1.39; 0.00; 3.20; 0.60 -19990224; 13100; 1.36; 1.00; 2.20; 0.50 -19990225; 13600; 1.42; 6.20; 4.30; 0.70 -19990226; 15600; 1.62; 11.60; 9.50; 1.10 -19990227; 23800; 2.48; 2.40; 10.50; 1.20 -19990228; 19000; 1.98; 1.40; 10.00; 1.20 -19990301; 16400; 1.71; 1.30; 9.30; 1.10 -19990302; 15000; 1.56; 0.00; 7.20; 1.00 -19990303; 14300; 1.49; 1.10; 4.20; 0.70 -19990304; 13900; 1.45; 0.30; 6.20; 0.90 -19990305; 13700; 1.43; 0.00; 4.10; 0.80 -19990306; 13300; 1.38; 1.70; 5.50; 0.90 -19990307; 13900; 1.45; 6.40; 6.30; 1.00 -19990308; 15600; 1.62; 2.80; 5.70; 0.90 -19990309; 14600; 1.52; 1.50; 5.50; 0.90 -19990310; 14300; 1.49; 0.10; 6.60; 1.00 -19990311; 13400; 1.39; 0.00; 4.10; 0.80 -19990312; 12800; 1.33; 0.00; 3.10; 0.70 -19990313; 12400; 1.29; 0.00; 2.60; 0.70 -19990314; 12400; 1.29; 0.00; 2.70; 0.70 -19990315; 11900; 1.24; 0.00; 3.30; 0.80 -19990316; 11800; 1.23; 0.20; 5.50; 1.00 -19990317; 11500; 1.20; 3.30; 6.20; 1.10 -19990318; 11600; 1.21; 2.00; 6.30; 1.10 -19990319; 12100; 1.26; 2.60; 3.70; 0.90 -19990320; 12100; 1.26; 5.50; 2.90; 0.80 -19990321; 13700; 1.43; 1.10; 4.70; 1.00 -19990322; 13300; 1.38; 4.30; 7.10; 1.30 -19990323; 14000; 1.46; 26.60; 9.80; 1.60 -19990324; 37500; 3.90; 9.60; 10.20; 1.60 -19990325; 34100; 3.55; 0.30; 8.10; 1.40 -19990326; 21300; 2.22; 21.90; 7.70; 1.40 -19990327; 32600; 3.39; 5.80; 9.10; 1.60 -19990328; 38600; 4.02; 4.80; 6.30; 1.30 -19990329; 27200; 2.83; 1.30; 4.10; 1.00 -19990330; 23500; 2.45; 0.00; 7.10; 1.40 -19990331; 21600; 2.25; 1.10; 8.10; 1.50 -19990401; 21500; 2.24; 8.40; 7.00; 1.40 -19990402; 29300; 3.05; 39.00; 6.00; 1.30 -19990403; 73500; 7.65; 4.60; 6.60; 1.40 -19990404; 56500; 5.88; 1.00; 6.10; 1.30 -19990405; 36600; 3.81; 11.00; 7.80; 1.50 -19990406; 36500; 3.80; 12.60; 9.90; 1.80 -19990407; 40400; 4.21; 1.40; 10.00; 1.90 -19990408; 37400; 3.89; 4.80; 10.10; 1.90 -19990409; 35700; 3.72; 2.70; 8.60; 1.70 -19990410; 32900; 3.42; 3.10; 8.00; 1.60 -19990411; 30200; 3.14; 3.90; 7.90; 1.70 -19990412; 29300; 3.05; 0.00; 8.50; 1.70 -19990413; 26300; 2.74; 0.30; 8.00; 1.70 -19990414; 24700; 2.57; 0.10; 11.90; 2.20 -19990415; 22800; 2.37; 0.00; 11.60; 2.20 -19990416; 21400; 2.23; 0.00; 13.50; 2.50 -19990417; 20400; 2.12; 0.00; 14.50; 2.60 -19990418; 19400; 2.02; 0.60; 12.70; 2.40 -19990419; 18900; 1.97; 0.80; 11.70; 2.30 -19990420; 18400; 1.92; 0.00; 9.30; 2.00 -19990421; 17400; 1.81; 0.00; 9.00; 2.00 -19990422; 16400; 1.71; 0.00; 11.50; 2.30 -19990423; 15500; 1.61; 0.00; 14.70; 2.80 -19990424; 15400; 1.60; 4.70; 14.00; 2.70 -19990425; 16200; 1.69; 5.40; 11.70; 2.40 -19990426; 16900; 1.76; 3.00; 11.10; 2.30 -19990427; 16900; 1.76; 0.00; 15.20; 2.90 -19990428; 14900; 1.55; 0.70; 15.50; 3.00 -19990429; 14800; 1.54; 3.20; 13.90; 2.80 -19990430; 14400; 1.50; 0.80; 11.50; 2.40 -19990501; 14900; 1.55; 0.00; 12.00; 2.50 -19990502; 14300; 1.49; 0.00; 9.20; 2.10 -19990503; 13600; 1.42; 0.10; 8.00; 2.00 -19990504; 13200; 1.37; 0.00; 7.00; 1.80 -19990505; 12400; 1.29; 0.00; 10.00; 2.30 -19990506; 12100; 1.26; 0.00; 12.00; 2.60 -19990507; 11900; 1.24; 0.00; 11.00; 2.50 -19990508; 11600; 1.21; 0.00; 13.50; 2.90 -19990509; 11500; 1.20; 0.00; 15.70; 3.20 -19990510; 10900; 1.13; 0.00; 11.50; 2.60 -19990511; 10900; 1.13; 2.40; 9.90; 2.40 -19990512; 10900; 1.13; 2.70; 10.10; 2.40 -19990513; 10600; 1.10; 0.00; 8.90; 2.20 -19990514; 11100; 1.16; 7.90; 8.40; 2.10 -19990515; 11700; 1.22; 0.10; 8.90; 2.20 -19990516; 11600; 1.21; 0.00; 8.30; 2.20 -19990517; 10900; 1.13; 1.60; 9.60; 2.40 -19990518; 10900; 1.13; 1.00; 10.70; 2.60 -19990519; 10500; 1.09; 0.00; 10.30; 2.50 -19990520; 10200; 1.06; 0.00; 11.80; 2.70 -19990521; 9700; 1.01; 0.00; 11.70; 2.80 -19990522; 9250; 0.96; 0.00; 9.50; 2.40 -19990523; 9200; 0.96; 0.30; 10.40; 2.60 -19990524; 8950; 0.93; 7.50; 10.50; 2.60 -19990525; 9700; 1.01; 1.50; 13.00; 3.00 -19990526; 14400; 1.50; 27.80; 12.50; 2.90 -19990527; 21100; 2.20; 0.70; 11.10; 2.70 -19990528; 13400; 1.39; 0.00; 11.40; 2.80 -19990529; 10800; 1.12; 0.00; 12.70; 3.00 -19990530; 9600; 1.00; 2.00; 13.00; 3.00 -19990531; 8900; 0.93; 0.00; 12.80; 3.00 -19990601; 8800; 0.92; 0.00; 12.70; 3.00 -19990602; 8500; 0.88; 8.20; 12.10; 2.90 -19990603; 8100; 0.84; 6.10; 13.40; 3.20 -19990604; 8650; 0.90; 0.60; 13.30; 3.10 -19990605; 8450; 0.88; 7.80; 12.70; 3.00 -19990606; 9150; 0.95; 0.60; 13.10; 3.10 -19990607; 10500; 1.09; 31.40; 9.80; 2.50 -19990608; 25100; 2.61; 3.50; 9.80; 2.50 -19990609; 18700; 1.95; 1.80; 9.90; 2.60 -19990610; 13000; 1.35; 4.30; 9.60; 2.50 -19990611; 11900; 1.24; 0.70; 11.40; 2.80 -19990612; 10200; 1.06; 0.40; 11.70; 2.90 -19990613; 8800; 0.92; 0.00; 11.70; 2.90 -19990614; 8100; 0.84; 2.40; 10.50; 2.70 -19990615; 7650; 0.80; 8.60; 9.90; 2.60 -19990616; 9050; 0.94; 1.30; 11.60; 2.90 -19990617; 9300; 0.97; 1.60; 12.00; 3.00 -19990618; 8250; 0.86; 16.90; 11.80; 2.90 -19990619; 13800; 1.44; 1.00; 12.40; 3.00 -19990620; 14000; 1.46; 0.10; 13.10; 3.20 -19990621; 10000; 1.04; 0.00; 13.70; 3.20 -19990622; 8600; 0.90; 1.30; 13.30; 3.20 -19990623; 8100; 0.84; 0.00; 15.40; 3.60 -19990624; 7700; 0.80; 0.00; 15.80; 3.60 -19990625; 7350; 0.77; 0.50; 14.50; 3.40 -19990626; 7300; 0.76; 8.70; 14.00; 3.30 -19990627; 7900; 0.82; 1.00; 15.90; 3.60 -19990628; 8650; 0.90; 0.00; 18.80; 4.10 -19990629; 8100; 0.84; 0.00; 21.00; 4.50 -19990630; 6950; 0.72; 0.00; 17.70; 3.90 -19990701; 6100; 0.63; 0.00; 15.60; 3.60 -19990702; 5700; 0.59; 0.00; 15.50; 3.60 -19990703; 5600; 0.58; 0.00; 18.10; 4.00 -19990704; 5300; 0.55; 0.00; 18.00; 4.00 -19990705; 5300; 0.55; 0.00; 20.80; 4.40 -19990706; 4580; 0.48; 0.00; 20.40; 4.40 -19990707; 4580; 0.48; 0.00; 17.60; 3.90 -19990708; 4260; 0.44; 0.00; 16.90; 3.70 -19990709; 4260; 0.44; 0.00; 17.30; 3.80 -19990710; 3920; 0.41; 0.00; 20.20; 4.30 -19990711; 3920; 0.41; 0.00; 19.20; 4.10 -19990712; 3810; 0.40; 0.00; 16.40; 3.60 -19990713; 3810; 0.40; 9.20; 18.60; 4.00 -19990714; 4260; 0.44; 1.20; 17.70; 3.80 -19990715; 5200; 0.54; 10.00; 15.50; 3.50 -19990716; 5600; 0.58; 13.80; 14.40; 3.30 -19990717; 7200; 0.75; 4.00; 13.50; 3.10 -19990718; 7650; 0.80; 9.40; 14.00; 3.20 -19990719; 7950; 0.83; 7.00; 14.00; 3.20 -19990720; 10400; 1.08; 0.40; 15.40; 3.40 -19990721; 8600; 0.90; 2.30; 15.90; 3.40 -19990722; 6950; 0.72; 0.80; 15.40; 3.40 -19990723; 5950; 0.62; 0.10; 16.00; 3.40 -19990724; 5500; 0.57; 0.00; 16.20; 3.50 -19990725; 5150; 0.54; 0.00; 14.00; 3.10 -19990726; 4450; 0.46; 0.80; 14.40; 3.20 -19990727; 4060; 0.42; 0.40; 15.90; 3.40 -19990728; 4100; 0.43; 0.20; 16.30; 3.40 -19990729; 4100; 0.43; 0.70; 15.60; 3.30 -19990730; 3910; 0.41; 0.00; 15.30; 3.20 -19990731; 3880; 0.40; 0.10; 16.30; 3.40 -19990801; 3540; 0.37; 0.50; 16.60; 3.40 -19990802; 3540; 0.37; 0.90; 16.50; 3.40 -19990803; 3540; 0.37; 0.60; 16.20; 3.30 -19990804; 3510; 0.37; 0.00; 14.70; 3.10 -19990805; 3390; 0.35; 0.00; 14.70; 3.10 -19990806; 3240; 0.34; 0.00; 14.00; 2.90 -19990807; 3130; 0.33; 0.20; 13.60; 2.80 -19990808; 3060; 0.32; 3.90; 13.80; 2.90 -19990809; 3210; 0.33; 0.30; 13.60; 2.80 -19990810; 3480; 0.36; 0.00; 14.50; 2.90 -19990811; 3250; 0.34; 0.70; 13.90; 2.80 -19990812; 3020; 0.31; 1.20; 16.10; 3.10 -19990813; 3120; 0.32; 0.00; 18.50; 3.50 -19990814; 3070; 0.32; 0.00; 17.50; 3.30 -19990815; 2950; 0.31; 0.00; 17.70; 3.30 -19990816; 2780; 0.29; 0.70; 21.30; 3.80 -19990817; 2640; 0.27; 0.30; 20.30; 3.60 -19990818; 2560; 0.27; 0.70; 18.60; 3.40 -19990819; 2490; 0.26; 0.40; 18.40; 3.30 -19990820; 2430; 0.25; 0.00; 20.00; 3.50 -19990821; 2430; 0.25; 0.20; 19.80; 3.50 -19990822; 2460; 0.26; 1.60; 17.20; 3.10 -19990823; 2460; 0.26; 14.10; 14.80; 2.70 -19990824; 2620; 0.27; 0.10; 15.30; 2.80 -19990825; 2510; 0.26; 0.60; 15.10; 2.70 -19990826; 2430; 0.25; 3.70; 15.00; 2.70 -19990827; 2410; 0.25; 0.00; 14.60; 2.60 -19990828; 2290; 0.24; 0.00; 14.50; 2.60 -19990829; 2140; 0.22; 0.00; 16.20; 2.80 -19990830; 2100; 0.22; 0.50; 19.00; 3.10 -19990831; 2100; 0.22; 3.30; 19.50; 3.20 -19990901; 2020; 0.21; 0.10; 17.90; 2.90 -19990902; 2000; 0.21; 4.70; 18.10; 2.90 -19990903; 2100; 0.22; 1.00; 16.90; 2.80 -19990904; 2170; 0.23; 2.70; 15.00; 2.50 -19990905; 2270; 0.24; 11.60; 16.00; 2.60 -19990906; 2780; 0.29; 5.00; 16.00; 2.60 -19990907; 2650; 0.28; 3.00; 17.20; 2.70 -19990908; 2730; 0.28; 0.20; 15.80; 2.50 -19990909; 2560; 0.27; 0.90; 15.20; 2.40 -19990910; 2410; 0.25; 2.60; 17.40; 2.60 -19990911; 2410; 0.25; 1.30; 18.10; 2.70 -19990912; 2290; 0.24; 2.20; 18.30; 2.70 -19990913; 2320; 0.24; 14.80; 17.80; 2.60 -19990914; 3120; 0.32; 1.80; 16.20; 2.40 -19990915; 3420; 0.36; 2.60; 16.30; 2.40 -19990916; 3070; 0.32; 0.00; 19.20; 2.70 -19990917; 2650; 0.28; 0.00; 20.50; 2.80 -19990918; 2560; 0.27; 0.00; 18.30; 2.50 -19990919; 2430; 0.25; 0.00; 19.40; 2.60 -19990920; 2320; 0.24; 0.10; 17.50; 2.40 -19990921; 2290; 0.24; 7.80; 17.70; 2.40 -19990922; 2460; 0.26; 0.70; 15.50; 2.10 -19990923; 2510; 0.26; 2.60; 13.90; 1.90 -19990924; 2390; 0.25; 0.40; 13.00; 1.80 -19990925; 2250; 0.23; 0.10; 12.00; 1.70 -19990926; 2170; 0.23; 0.00; 10.70; 1.50 -19990927; 2140; 0.22; 0.00; 10.00; 1.50 -19990928; 2080; 0.22; 0.00; 9.70; 1.40 -19990929; 2060; 0.21; 0.00; 9.50; 1.40 -19990930; 2000; 0.21; 0.00; 9.70; 1.40 -19991001; 2020; 0.21; 0.00; 11.60; 1.50 -19991002; 2900; 0.30; 14.80; 12.80; 1.60 -19991003; 4400; 0.46; 5.90; 13.80; 1.70 -19991004; 4660; 0.49; 10.50; 15.20; 1.80 -19991005; 6950; 0.72; 3.30; 15.00; 1.70 -19991006; 4020; 0.42; 3.30; 11.90; 1.40 -19991007; 5100; 0.53; 39.00; 13.40; 1.60 -19991008; 18200; 1.89; 3.80; 10.30; 1.30 -19991009; 10800; 1.12; 26.40; 12.10; 1.40 -19991010; 19600; 2.04; 0.90; 7.90; 1.00 -19991011; 16100; 1.68; 5.00; 7.50; 1.00 -19991012; 10500; 1.09; 6.40; 10.50; 1.20 -19991013; 8900; 0.93; 2.20; 10.40; 1.20 -19991014; 9550; 0.99; 28.90; 9.60; 1.10 -19991015; 25700; 2.68; 21.00; 13.00; 1.40 -19991016; 35600; 3.71; 4.50; 10.90; 1.20 -19991017; 25800; 2.69; 0.10; 12.60; 1.30 -19991018; 18200; 1.89; 4.90; 14.10; 1.40 -19991019; 16200; 1.69; 1.20; 14.30; 1.40 -19991020; 15700; 1.63; 3.30; 12.50; 1.20 -19991021; 14300; 1.49; 6.00; 9.70; 1.00 -19991022; 17400; 1.81; 0.20; 9.20; 1.00 -19991023; 15000; 1.56; 0.10; 9.20; 1.00 -19991024; 12000; 1.25; 0.00; 8.40; 0.90 -19991025; 10900; 1.13; 0.00; 8.20; 0.90 -19991026; 10000; 1.04; 6.70; 11.00; 1.00 -19991027; 10000; 1.04; 3.10; 10.60; 1.00 -19991028; 11100; 1.16; 0.10; 7.80; 0.80 -19991029; 10200; 1.06; 0.00; 8.30; 0.80 -19991030; 9600; 1.00; 2.40; 11.80; 1.00 -19991031; 9150; 0.95; 0.80; 12.30; 1.00 -19991101; 9250; 0.96; 0.00; 9.50; 0.80 -19991102; 8400; 0.87; 0.00; 9.50; 0.80 -19991103; 7900; 0.82; 0.00; 8.70; 0.80 -19991104; 7750; 0.81; 0.00; 8.20; 0.70 -19991105; 7450; 0.78; 0.00; 7.30; 0.70 -19991106; 7450; 0.78; 0.00; 5.00; 0.50 -19991107; 7750; 0.81; 0.00; 4.50; 0.50 -19991108; 7750; 0.81; 13.00; 5.80; 0.60 -19991109; 10500; 1.09; 1.60; 9.70; 0.80 -19991110; 13300; 1.38; 1.20; 8.70; 0.70 -19991111; 10200; 1.06; 22.20; 11.50; 0.80 -19991112; 20300; 2.11; 14.80; 8.80; 0.70 -19991113; 28900; 3.01; 7.40; 7.50; 0.60 -19991114; 27500; 2.86; 4.30; 6.80; 0.50 -19991115; 20500; 2.13; 15.60; 11.40; 0.80 -19991116; 30900; 3.22; 0.30; 11.40; 0.80 -19991117; 21500; 2.24; 0.00; 9.80; 0.70 -19991118; 16400; 1.71; 0.00; 10.10; 0.70 -19991119; 15000; 1.56; 0.90; 10.60; 0.70 -19991120; 14600; 1.52; 0.00; 8.30; 0.60 -19991121; 14300; 1.49; 0.50; 8.10; 0.60 -19991122; 13800; 1.44; 7.10; 7.70; 0.50 -19991123; 15200; 1.58; 3.80; 3.80; 0.40 -19991124; 16900; 1.76; 5.50; 5.20; 0.40 -19991125; 17000; 1.77; 2.00; 6.30; 0.50 -19991126; 16600; 1.73; 1.30; 4.90; 0.40 -19991127; 14800; 1.54; 0.00; 4.70; 0.40 -19991128; 13600; 1.42; 0.00; 4.90; 0.40 -19991129; 13000; 1.35; 3.30; 5.80; 0.40 -19991130; 12800; 1.33; 0.10; 2.50; 0.30 -19991201; 13000; 1.35; 0.30; 2.90; 0.30 -19991202; 12400; 1.29; 0.00; 1.50; 0.30 -19991203; 12400; 1.29; 10.70; 3.00; 0.30 -19991204; 17100; 1.78; 3.30; 7.90; 0.50 -19991205; 16600; 1.73; 2.50; 9.70; 0.60 -19991206; 15000; 1.56; 0.80; 8.50; 0.50 -19991207; 13900; 1.45; 0.10; 4.10; 0.30 -19991208; 12700; 1.32; 0.00; -0.20; 0.20 -19991209; 11800; 1.23; 0.00; -1.20; 0.10 -19991210; 10900; 1.13; 0.40; -3.50; 0.10 -19991211; 10500; 1.09; 0.60; -1.60; 0.10 -19991212; 10500; 1.09; 0.00; 1.30; 0.20 -19991213; 10800; 1.12; 1.90; 0.40; 0.20 -19991214; 10900; 1.13; 2.70; 4.20; 0.30 -19991215; 12500; 1.30; 12.70; 10.20; 0.50 -19991216; 20500; 2.13; 6.40; 12.20; 0.60 -19991217; 19900; 2.07; 11.70; 12.80; 0.60 -19991218; 27500; 2.86; 6.90; 11.50; 0.60 -19991219; 27800; 2.89; 0.00; 8.40; 0.50 -19991220; 18900; 1.97; 0.10; 8.80; 0.50 -19991221; 16000; 1.67; 0.10; 7.60; 0.40 -19991222; 15400; 1.60; 0.00; 8.30; 0.50 -19991223; 14900; 1.55; 0.00; 6.50; 0.40 -19991224; 15100; 1.57; 9.00; 8.30; 0.50 -19991225; 19000; 1.98; 0.00; 8.20; 0.50 -19991226; 18000; 1.87; 0.00; 9.60; 0.50 -19991227; 15600; 1.62; 0.00; 11.20; 0.60 -19991228; 14600; 1.52; 0.00; 11.60; 0.60 -19991229; 14100; 1.47; 11.80; 12.00; 0.60 -19991230; 18700; 1.95; 8.30; 11.30; 0.60 -19991231; 27500; 2.86; 2.60; 8.70; 0.50 -20000101; 22900; 2.38; 10.30; 9.40; 0.50 -20000102; 28000; 2.91; 11.70; 10.10; 0.60 -20000103; 32200; 3.35; 23.30; 8.40; 0.50 -20000104; 40000; 4.16; 17.40; 10.10; 0.60 -20000105; 59000; 6.14; 8.20; 10.30; 0.60 -20000106; 56500; 5.88; 11.40; 6.70; 0.40 -20000107; 49600; 5.16; 14.30; 5.90; 0.40 -20000108; 47900; 4.99; 5.60; 10.50; 0.60 -20000109; 54000; 5.62; 12.20; 10.60; 0.60 -20000110; 57000; 5.93; 2.30; 7.40; 0.50 -20000111; 50000; 5.20; 0.80; 5.60; 0.40 -20000112; 40200; 4.18; 15.80; 7.30; 0.50 -20000113; 48100; 5.01; 3.40; 6.90; 0.50 -20000114; 51000; 5.31; 0.20; 5.80; 0.40 -20000115; 39600; 4.12; 0.90; 3.20; 0.30 -20000116; 35100; 3.65; 0.20; 5.20; 0.40 -20000117; 32100; 3.34; 0.10; 2.60; 0.30 -20000118; 29900; 3.11; 0.50; 4.80; 0.40 -20000119; 28700; 2.99; 7.30; 7.40; 0.50 -20000120; 29100; 3.03; 7.80; 4.90; 0.40 -20000121; 32300; 3.36; 14.80; 5.90; 0.50 -20000122; 37200; 3.87; 1.20; 7.30; 0.50 -20000123; 34100; 3.55; 11.90; 8.60; 0.60 -20000124; 37400; 3.89; 16.10; 9.50; 0.70 -20000125; 52500; 5.47; 11.80; 8.70; 0.60 -20000126; 46300; 4.82; 6.40; 8.60; 0.60 -20000127; 41000; 4.27; 8.00; 8.60; 0.70 -20000128; 42400; 4.41; 18.70; 8.50; 0.70 -20000129; 58000; 6.04; 10.60; 5.40; 0.50 -20000130; 60500; 6.30; 7.10; 3.90; 0.40 -20000131; 52500; 5.47; 21.30; 6.50; 0.60 -20000201; 73500; 7.65; 8.20; 7.90; 0.70 -20000202; 75000; 7.81; 12.10; 6.80; 0.60 -20000203; 78000; 8.12; 31.80; 8.10; 0.70 -20000204; 138000; 14.37; 2.60; 6.20; 0.60 -20000205; 97500; 10.15; 11.90; 7.30; 0.70 -20000206; 89000; 9.26; 13.70; 3.80; 0.50 -20000207; 88000; 9.16; 4.60; 5.80; 0.60 -20000208; 65000; 6.77; 10.00; 8.10; 0.80 -20000209; 65000; 6.77; 8.60; 6.70; 0.70 -20000210; 70500; 7.34; 9.60; 5.80; 0.60 -20000211; 70000; 7.29; 35.50; 4.60; 0.60 -20000212; 138000; 14.37; 4.90; 5.20; 0.60 -20000213; 92500; 9.63; 12.10; 8.70; 0.80 -20000214; 96000; 9.99; 0.00; 8.10; 0.80 -20000215; 69000; 7.18; 0.00; 7.90; 0.80 -20000216; 55000; 5.73; 0.00; 5.70; 0.70 -20000217; 48400; 5.04; 0.00; 4.70; 0.60 -20000218; 44100; 4.59; 0.00; 5.20; 0.70 -20000219; 40800; 4.25; 0.00; 7.00; 0.80 -20000220; 37900; 3.95; 0.00; 5.50; 0.70 -20000221; 35000; 3.64; 0.00; 6.00; 0.80 -20000222; 32500; 3.38; 0.00; 5.50; 0.70 -20000223; 30600; 3.19; 0.00; 4.70; 0.70 -20000224; 28700; 2.99; 0.90; 2.50; 0.50 -20000225; 27500; 2.86; 0.60; 2.70; 0.60 -20000226; 26000; 2.71; 0.10; 2.00; 0.50 -20000227; 24600; 2.56; 0.90; 3.90; 0.70 -20000228; 23200; 2.42; 0.20; 6.80; 0.90 -20000229; 22100; 2.30; 4.80; 3.50; 0.70 -20000301; 21700; 2.26; 1.00; 3.00; 0.60 -20000302; 21500; 2.24; 0.10; 2.40; 0.60 -20000303; 20200; 2.10; 1.50; 5.30; 0.80 -20000304; 19700; 2.05; 2.20; 1.80; 0.60 -20000305; 19000; 1.98; 0.70; 3.00; 0.60 -20000306; 18500; 1.93; 0.10; 6.80; 1.00 -20000307; 17600; 1.83; 0.00; 9.00; 1.20 -20000308; 16500; 1.72; 0.10; 8.20; 1.20 -20000309; 16000; 1.67; 0.00; 7.10; 1.10 -20000310; 15600; 1.62; 0.00; 6.20; 1.00 -20000311; 14900; 1.55; 0.40; 5.80; 1.00 -20000312; 14500; 1.51; 0.50; 7.70; 1.20 -20000313; 14300; 1.49; 0.90; 7.00; 1.10 -20000314; 14200; 1.48; 2.00; 8.20; 1.30 -20000315; 15100; 1.57; 17.50; 9.30; 1.40 -20000316; 24700; 2.57; 6.20; 9.10; 1.40 -20000317; 23700; 2.47; 31.30; 9.50; 1.40 -20000318; 41900; 4.36; 4.80; 10.50; 1.50 -20000319; 35100; 3.65; 2.60; 10.40; 1.50 -20000320; 27000; 2.81; 14.20; 10.00; 1.50 -20000321; 35100; 3.65; 0.50; 9.40; 1.50 -20000322; 24100; 2.51; 3.90; 9.10; 1.50 -20000323; 21900; 2.28; 1.80; 9.90; 1.60 -20000324; 20300; 2.11; 5.60; 10.70; 1.70 -20000325; 21100; 2.20; 6.10; 10.10; 1.60 -20000326; 22600; 2.35; 2.90; 8.00; 1.40 -20000327; 23500; 2.45; 0.20; 7.30; 1.40 -20000328; 19800; 2.06; 2.80; 6.50; 1.30 -20000329; 20800; 2.17; 16.80; 6.20; 1.30 -20000330; 32600; 3.39; 6.40; 7.00; 1.40 -20000331; 28500; 2.97; 1.10; 6.30; 1.30 -20000401; 23800; 2.48; 1.20; 6.60; 1.30 -20000402; 21200; 2.21; 1.30; 8.20; 1.50 -20000403; 20600; 2.14; 0.00; 9.00; 1.70 -20000404; 18700; 1.95; 0.30; 8.40; 1.60 -20000405; 17700; 1.84; 0.20; 8.00; 1.60 -20000406; 17200; 1.79; 0.10; 7.20; 1.50 -20000407; 16800; 1.75; 0.00; 7.70; 1.60 -20000408; 16600; 1.73; 0.00; 7.80; 1.60 -20000409; 16300; 1.70; 0.00; 8.30; 1.70 -20000410; 15700; 1.63; 0.00; 8.00; 1.70 -20000411; 14800; 1.54; 17.70; 9.00; 1.80 -20000412; 22000; 2.29; 8.50; 7.80; 1.60 -20000413; 27200; 2.83; 0.00; 9.30; 1.90 -20000414; 19400; 2.02; 2.60; 8.90; 1.80 -20000415; 17200; 1.79; 7.20; 11.10; 2.10 -20000416; 18200; 1.89; 1.50; 11.70; 2.20 -20000417; 17800; 1.85; 1.60; 12.30; 2.30 -20000418; 17700; 1.84; 7.70; 12.60; 2.40 -20000419; 21400; 2.23; 0.80; 11.80; 2.30 -20000420; 17500; 1.82; 0.20; 11.80; 2.30 -20000421; 15900; 1.66; 0.00; 12.40; 2.40 -20000422; 14600; 1.52; 14.80; 14.00; 2.70 -20000423; 22400; 2.33; 2.60; 10.10; 2.10 -20000424; 22300; 2.32; 0.00; 8.80; 2.00 -20000425; 17200; 1.79; 0.00; 9.00; 2.00 -20000426; 15100; 1.57; 0.00; 8.40; 1.90 -20000427; 14200; 1.48; 0.00; 9.20; 2.10 -20000428; 13700; 1.43; 7.60; 9.00; 2.00 -20000429; 14900; 1.55; 6.40; 9.90; 2.20 -20000430; 16900; 1.76; 11.10; 10.10; 2.30 -20000501; 23500; 2.45; 11.10; 10.60; 2.30 -20000502; 26200; 2.73; 7.80; 10.80; 2.40 -20000503; 24800; 2.58; 5.30; 10.70; 2.40 -20000504; 24100; 2.51; 0.10; 11.00; 2.40 -20000505; 19600; 2.04; 0.00; 11.90; 2.60 -20000506; 17100; 1.78; 0.50; 14.70; 3.00 -20000507; 15700; 1.63; 1.50; 16.40; 3.30 -20000508; 15300; 1.59; 1.90; 13.30; 2.80 -20000509; 15400; 1.60; 0.00; 10.80; 2.50 -20000510; 15000; 1.56; 0.00; 12.60; 2.80 -20000511; 14300; 1.49; 0.20; 12.40; 2.70 -20000512; 14200; 1.48; 0.00; 12.80; 2.80 -20000513; 13700; 1.43; 0.00; 13.00; 2.90 -20000514; 13300; 1.38; 0.00; 14.20; 3.10 -20000515; 12500; 1.30; 0.00; 15.80; 3.30 -20000516; 11700; 1.22; 0.00; 16.50; 3.50 -20000517; 11200; 1.17; 0.30; 15.00; 3.20 -20000518; 11400; 1.19; 3.40; 14.20; 3.10 -20000519; 14300; 1.49; 0.00; 11.20; 2.60 -20000520; 11900; 1.24; 0.00; 10.60; 2.60 -20000521; 11100; 1.16; 0.00; 12.60; 2.90 -20000522; 10500; 1.09; 0.20; 14.20; 3.20 -20000523; 10200; 1.06; 0.10; 13.80; 3.10 -20000524; 9800; 1.02; 0.10; 12.80; 3.00 -20000525; 9350; 0.97; 2.40; 12.90; 3.00 -20000526; 9450; 0.98; 0.90; 12.40; 2.90 -20000527; 9050; 0.94; 0.20; 11.90; 2.80 -20000528; 9600; 1.00; 19.80; 10.80; 2.70 -20000529; 12400; 1.29; 15.20; 11.30; 2.80 -20000530; 14600; 1.52; 5.20; 11.80; 2.80 -20000531; 13900; 1.45; 4.60; 11.90; 2.90 -20000601; 13100; 1.36; 1.10; 12.40; 2.90 -20000602; 11200; 1.17; 3.30; 14.00; 3.20 -20000603; 10500; 1.09; 1.10; 13.10; 3.10 -20000604; 9700; 1.01; 0.50; 12.00; 2.90 -20000605; 8900; 0.93; 0.30; 12.20; 2.90 -20000606; 8500; 0.88; 0.70; 12.10; 2.90 -20000607; 8050; 0.84; 3.70; 11.00; 2.70 -20000608; 8350; 0.87; 0.00; 13.50; 3.20 -20000609; 7950; 0.83; 2.70; 15.40; 3.50 -20000610; 7800; 0.81; 1.00; 17.80; 3.90 -20000611; 7350; 0.77; 0.00; 15.00; 3.50 -20000612; 6900; 0.72; 0.00; 13.70; 3.20 -20000613; 6850; 0.71; 0.00; 15.40; 3.50 -20000614; 6500; 0.68; 0.10; 17.80; 4.00 -20000615; 6150; 0.64; 0.10; 17.20; 3.80 -20000616; 5750; 0.60; 0.10; 16.40; 3.70 -20000617; 5750; 0.60; 0.00; 13.50; 3.20 -20000618; 5350; 0.56; 0.00; 13.20; 3.20 -20000619; 5350; 0.56; 0.00; 15.60; 3.60 -20000620; 5350; 0.56; 0.00; 18.10; 4.00 -20000621; 4960; 0.52; 0.00; 19.20; 4.20 -20000622; 4520; 0.47; 0.00; 17.00; 3.90 -20000623; 4520; 0.47; 0.00; 17.50; 3.90 -20000624; 4140; 0.43; 0.00; 15.40; 3.50 -20000625; 4140; 0.43; 0.00; 17.40; 3.90 -20000626; 4200; 0.44; 0.00; 16.20; 3.70 -20000627; 3880; 0.40; 0.00; 17.30; 3.90 -20000628; 3880; 0.40; 0.00; 16.00; 3.60 -20000629; 3480; 0.36; 0.00; 16.50; 3.70 -20000630; 3480; 0.36; 9.70; 16.90; 3.80 -20000701; 3880; 0.40; 0.80; 13.70; 3.20 -20000702; 4320; 0.45; 13.30; 12.80; 3.10 -20000703; 5150; 0.54; 15.60; 12.70; 3.10 -20000704; 7500; 0.78; 2.30; 14.00; 3.30 -20000705; 7050; 0.73; 6.20; 13.60; 3.20 -20000706; 5800; 0.60; 6.10; 14.40; 3.30 -20000707; 6350; 0.66; 3.60; 13.70; 3.20 -20000708; 6350; 0.66; 3.10; 14.10; 3.30 -20000709; 5950; 0.62; 0.10; 13.90; 3.20 -20000710; 5500; 0.57; 6.30; 15.70; 3.50 -20000711; 5150; 0.54; 0.00; 14.50; 3.30 -20000712; 5100; 0.53; 1.50; 14.50; 3.30 -20000713; 4320; 0.45; 1.80; 14.20; 3.30 -20000714; 4260; 0.44; 0.50; 13.60; 3.10 -20000715; 3940; 0.41; 0.00; 14.20; 3.20 -20000716; 3880; 0.40; 0.10; 13.80; 3.20 -20000717; 3540; 0.37; 0.40; 14.80; 3.30 -20000718; 3430; 0.36; 0.00; 14.90; 3.30 -20000719; 3370; 0.35; 0.20; 17.00; 3.70 -20000720; 3180; 0.33; 1.00; 16.20; 3.50 -20000721; 3180; 0.33; 2.70; 16.80; 3.60 -20000722; 3540; 0.37; 6.90; 17.10; 3.70 -20000723; 4770; 0.50; 9.40; 15.80; 3.40 -20000724; 6950; 0.72; 0.50; 14.80; 3.20 -20000725; 5400; 0.56; 7.60; 15.00; 3.30 -20000726; 5150; 0.54; 0.70; 14.60; 3.20 -20000727; 4700; 0.49; 0.10; 14.70; 3.20 -20000728; 4260; 0.44; 1.20; 14.50; 3.10 -20000729; 3880; 0.40; 0.20; 12.80; 2.90 -20000730; 3480; 0.36; 0.00; 13.10; 2.90 -20000731; 3370; 0.35; 0.00; 14.00; 3.00 -20000801; 3310; 0.34; 0.00; 16.90; 3.40 -20000802; 3180; 0.33; 0.00; 16.30; 3.40 -20000803; 3180; 0.33; 0.00; 15.20; 3.20 -20000804; 3000; 0.31; 0.00; 14.20; 3.00 -20000805; 3000; 0.31; 0.00; 16.90; 3.40 -20000806; 2890; 0.30; 0.00; 20.20; 3.90 -20000807; 2780; 0.29; 0.00; 21.40; 4.00 -20000808; 2780; 0.29; 2.90; 16.80; 3.30 -20000809; 2690; 0.28; 0.00; 17.10; 3.30 -20000810; 2780; 0.29; 0.70; 16.20; 3.20 -20000811; 2780; 0.29; 0.90; 14.60; 2.90 -20000812; 2780; 0.29; 1.10; 15.00; 3.00 -20000813; 2690; 0.28; 0.00; 14.80; 2.90 -20000814; 2670; 0.28; 0.10; 16.80; 3.20 -20000815; 2720; 0.28; 0.00; 17.20; 3.20 -20000816; 2670; 0.28; 0.00; 17.30; 3.20 -20000817; 2560; 0.27; 0.00; 17.80; 3.30 -20000818; 2430; 0.25; 4.90; 17.10; 3.20 -20000819; 2480; 0.26; 2.30; 15.30; 2.90 -20000820; 2510; 0.26; 2.30; 14.10; 2.70 -20000821; 2510; 0.26; 0.20; 13.50; 2.60 -20000822; 2390; 0.25; 0.00; 14.00; 2.60 -20000823; 2340; 0.24; 1.90; 14.40; 2.70 -20000824; 2390; 0.25; 1.30; 13.80; 2.60 -20000825; 2510; 0.26; 0.20; 13.60; 2.50 -20000826; 2370; 0.25; 1.00; 15.40; 2.80 -20000827; 2390; 0.25; 0.70; 17.90; 3.10 -20000828; 2560; 0.27; 7.10; 14.00; 2.50 -20000829; 2720; 0.28; 1.40; 12.50; 2.30 -20000830; 2670; 0.28; 5.20; 14.40; 2.50 -20000831; 2720; 0.28; 26.20; 15.40; 2.60 -20000901; 6700; 0.70; 18.10; 15.10; 2.60 -20000902; 12500; 1.30; 21.60; 13.10; 2.30 -20000903; 10700; 1.11; 1.30; 14.50; 2.50 -20000904; 11100; 1.16; 4.70; 14.90; 2.50 -20000905; 6650; 0.69; 0.60; 17.40; 2.80 -20000906; 5850; 0.61; 0.20; 19.10; 2.90 -20000907; 4640; 0.48; 0.00; 21.30; 3.20 -20000908; 3820; 0.40; 0.00; 17.40; 2.70 -20000909; 3310; 0.34; 0.00; 14.80; 2.40 -20000910; 3120; 0.32; 0.00; 15.30; 2.40 -20000911; 3000; 0.31; 0.50; 13.80; 2.20 -20000912; 3000; 0.31; 0.10; 12.80; 2.00 -20000913; 2830; 0.29; 1.80; 11.80; 1.90 -20000914; 2810; 0.29; 0.20; 11.50; 1.90 -20000915; 2720; 0.28; 0.00; 12.00; 1.90 -20000916; 2810; 0.29; 0.00; 12.10; 1.90 -20000917; 2760; 0.29; 0.00; 14.20; 2.10 -20000918; 2780; 0.29; 0.00; 14.40; 2.10 -20000919; 2780; 0.29; 0.00; 13.80; 2.00 -20000920; 2670; 0.28; 0.00; 13.70; 2.00 -20000921; 2670; 0.28; 0.60; 13.40; 1.90 -20000922; 2690; 0.28; 7.30; 12.60; 1.80 -20000923; 2780; 0.29; 1.60; 13.60; 1.90 -20000924; 2830; 0.29; 0.30; 14.00; 1.90 -20000925; 2780; 0.29; 0.70; 15.00; 2.00 -20000926; 2720; 0.28; 0.00; 15.20; 2.00 -20000927; 2830; 0.29; 6.30; 14.30; 1.90 -20000928; 2950; 0.31; 0.40; 13.30; 1.70 -20000929; 2950; 0.31; 1.40; 9.90; 1.40 -20000930; 2890; 0.30; 0.00; 9.80; 1.40 -20001001; 2890; 0.30; 0.00; 10.90; 1.50 -20001002; 2720; 0.28; 0.00; 10.70; 1.40 -20001003; 2720; 0.28; 0.00; 11.70; 1.50 -20001004; 2610; 0.27; 5.50; 11.70; 1.50 -20001005; 2720; 0.28; 3.70; 12.10; 1.50 -20001006; 3010; 0.31; 11.50; 12.30; 1.50 -20001007; 4550; 0.47; 2.30; 10.30; 1.30 -20001008; 3920; 0.41; 18.50; 11.00; 1.30 -20001009; 9800; 1.02; 11.90; 12.00; 1.40 -20001010; 13500; 1.41; 5.10; 9.70; 1.20 -20001011; 10600; 1.10; 21.40; 10.00; 1.20 -20001012; 18800; 1.96; 0.50; 9.00; 1.10 -20001013; 12800; 1.33; 1.80; 10.30; 1.20 -20001014; 9150; 0.95; 0.10; 13.90; 1.50 -20001015; 6950; 0.72; 0.10; 14.60; 1.50 -20001016; 5750; 0.60; 0.00; 14.90; 1.50 -20001017; 5350; 0.56; 0.20; 14.80; 1.50 -20001018; 4970; 0.52; 0.80; 15.10; 1.50 -20001019; 4580; 0.48; 1.30; 13.00; 1.30 -20001020; 4580; 0.48; 0.00; 11.90; 1.20 -20001021; 4260; 0.44; 0.00; 12.90; 1.20 -20001022; 4190; 0.44; 0.50; 12.00; 1.10 -20001023; 4580; 0.48; 4.10; 13.50; 1.30 -20001024; 4900; 0.51; 0.10; 13.90; 1.20 -20001025; 4900; 0.51; 0.00; 14.60; 1.30 -20001026; 5150; 0.54; 1.20; 15.60; 1.30 -20001027; 4830; 0.50; 2.50; 13.50; 1.20 -20001028; 5600; 0.58; 0.00; 12.50; 1.10 -20001029; 5350; 0.56; 0.10; 13.10; 1.10 -20001030; 4900; 0.51; 0.00; 7.10; 0.70 -20001031; 4830; 0.50; 0.00; 5.20; 0.60 -20001101; 4450; 0.46; 0.00; 5.20; 0.60 -20001102; 4450; 0.46; 0.00; 6.70; 0.70 -20001103; 4380; 0.46; 0.00; 5.00; 0.60 -20001104; 4220; 0.44; 0.00; 3.30; 0.50 -20001105; 4220; 0.44; 0.00; 6.90; 0.70 -20001106; 4220; 0.44; 0.00; 8.20; 0.70 -20001107; 4060; 0.42; 0.00; 7.90; 0.70 -20001108; 4000; 0.42; 0.80; 11.40; 0.80 -20001109; 4000; 0.42; 0.10; 14.10; 1.00 -20001110; 4030; 0.42; 0.20; 14.20; 1.00 -20001111; 4030; 0.42; 0.00; 12.60; 0.90 -20001112; 4030; 0.42; 0.00; 12.50; 0.90 -20001113; 4000; 0.42; 0.00; 8.90; 0.70 -20001114; 3840; 0.40; 0.00; 6.40; 0.60 -20001115; 4000; 0.42; 0.00; 6.00; 0.50 -20001116; 4000; 0.42; 0.30; 6.30; 0.50 -20001117; 4060; 0.42; 6.30; 11.30; 0.70 -20001118; 4640; 0.48; 0.50; 10.70; 0.70 -20001119; 4640; 0.48; 1.00; 8.40; 0.60 -20001120; 4610; 0.48; 3.30; 6.40; 0.50 -20001121; 4220; 0.44; 0.70; 2.20; 0.30 -20001122; 4220; 0.44; 0.00; 1.50; 0.30 -20001123; 4000; 0.42; 0.00; 2.30; 0.30 -20001124; 3660; 0.38; 0.00; 3.20; 0.30 -20001125; 3660; 0.38; 0.00; 2.90; 0.30 -20001126; 3660; 0.38; 0.00; 1.30; 0.30 -20001127; 3660; 0.38; 0.00; 2.90; 0.30 -20001128; 3660; 0.38; 10.10; 7.60; 0.50 -20001129; 4260; 0.44; 8.50; 12.40; 0.70 -20001130; 7500; 0.78; 2.10; 10.10; 0.60 -20001201; 8600; 0.90; 1.20; 7.40; 0.50 -20001202; 6750; 0.70; 10.30; 7.30; 0.50 -20001203; 7350; 0.77; 12.90; 9.90; 0.60 -20001204; 13000; 1.35; 6.30; 11.70; 0.60 -20001205; 14400; 1.50; 10.30; 10.20; 0.60 -20001206; 14600; 1.52; 4.90; 5.80; 0.40 -20001207; 12400; 1.29; 0.00; 5.90; 0.40 -20001208; 9550; 0.99; 0.10; 7.20; 0.40 -20001209; 7650; 0.80; 0.90; 8.90; 0.50 -20001210; 7350; 0.77; 0.10; 8.80; 0.50 -20001211; 6950; 0.72; 0.00; 8.00; 0.50 -20001212; 6550; 0.68; 0.00; 8.90; 0.50 -20001213; 6150; 0.64; 0.10; 7.90; 0.50 -20001214; 6150; 0.64; 0.10; 9.00; 0.50 -20001215; 6100; 0.63; 0.00; 7.10; 0.40 -20001216; 5800; 0.60; 0.00; 5.20; 0.30 -20001217; 5750; 0.60; 0.10; 5.10; 0.30 -20001218; 5750; 0.60; 0.40; 6.50; 0.40 -20001219; 5750; 0.60; 1.70; 9.60; 0.50 -20001220; 5750; 0.60; 3.90; 7.00; 0.40 -20001221; 6150; 0.64; 0.10; 9.40; 0.50 -20001222; 6550; 0.68; 0.90; 8.90; 0.50 -20001223; 6250; 0.65; 0.70; 10.40; 0.50 -20001224; 6300; 0.66; 1.10; 10.50; 0.60 -20001225; 6400; 0.67; 0.40; 10.10; 0.50 -20001226; 6150; 0.64; 0.00; 11.70; 0.60 -20001227; 6100; 0.63; 0.00; 11.20; 0.60 -20001228; 5700; 0.59; 0.10; 7.40; 0.40 -20001229; 5600; 0.58; 0.10; 5.30; 0.40 -20001230; 5550; 0.58; 0.10; 3.20; 0.30 -20001231; 5700; 0.59; 0.20; 1.40; 0.20 -20010101; 5300; 0.55; 0.00; 2.10; 0.30 -20010102; 5200; 0.54; 0.00; 1.40; 0.20 -20010103; 5550; 0.58; 8.40; 2.00; 0.20 -20010104; 6950; 0.72; 2.40; 7.60; 0.50 -20010105; 7900; 0.82; 12.70; 8.20; 0.50 -20010106; 10600; 1.10; 2.10; 8.10; 0.50 -20010107; 11600; 1.21; 0.00; 7.60; 0.50 -20010108; 8600; 0.90; 1.70; 7.90; 0.50 -20010109; 7650; 0.80; 3.20; 8.10; 0.50 -20010110; 7850; 0.82; 0.30; 7.20; 0.50 -20010111; 7350; 0.77; 3.20; 6.00; 0.40 -20010112; 7450; 0.78; 4.80; 8.30; 0.50 -20010113; 9650; 1.00; 2.50; 8.60; 0.50 -20010114; 8200; 0.85; 0.10; 8.20; 0.50 -20010115; 7850; 0.82; 0.00; 6.60; 0.50 -20010116; 7350; 0.77; 0.00; 4.90; 0.40 -20010117; 6950; 0.72; 2.30; 6.70; 0.50 -20010118; 6950; 0.72; 0.80; 8.80; 0.60 -20010119; 7450; 0.78; 0.10; 5.70; 0.40 -20010120; 7450; 0.78; 3.10; 4.60; 0.40 -20010121; 7450; 0.78; 3.10; 7.60; 0.50 -20010122; 8000; 0.83; 0.10; 6.00; 0.50 -20010123; 7450; 0.78; 0.00; 5.90; 0.50 -20010124; 7350; 0.77; 0.10; 1.10; 0.30 -20010125; 6950; 0.72; 0.00; 3.70; 0.40 -20010126; 6950; 0.72; 0.00; 6.70; 0.50 -20010127; 6850; 0.71; 0.10; 9.20; 0.70 -20010128; 6650; 0.69; 1.40; 9.40; 0.70 -20010129; 6650; 0.69; 0.10; 6.60; 0.60 -20010130; 6550; 0.68; 0.10; 3.60; 0.40 -20010131; 6200; 0.65; 0.00; 0.50; 0.30 -20010201; 6200; 0.65; 0.00; 1.50; 0.30 -20010202; 6200; 0.65; 0.00; 4.60; 0.50 -20010203; 6200; 0.65; 0.00; 4.10; 0.50 -20010204; 6150; 0.64; 0.30; 5.80; 0.60 -20010205; 6150; 0.64; 0.30; 10.40; 0.80 -20010206; 6150; 0.64; 0.10; 9.80; 0.80 -20010207; 6150; 0.64; 0.00; 7.10; 0.70 -20010208; 5950; 0.62; 0.00; 7.10; 0.70 -20010209; 5800; 0.60; 0.90; 8.10; 0.80 -20010210; 5800; 0.60; 0.10; 7.10; 0.70 -20010211; 5800; 0.60; 0.00; 6.30; 0.70 -20010212; 5800; 0.60; 1.10; 8.10; 0.80 -20010213; 5450; 0.57; 2.20; 6.90; 0.70 -20010214; 5450; 0.57; 0.00; 7.40; 0.80 -20010215; 5450; 0.57; 1.50; 8.50; 0.90 -20010216; 5450; 0.57; 3.00; 7.10; 0.80 -20010217; 5850; 0.61; 10.10; 9.20; 0.90 -20010218; 7750; 0.81; 3.90; 11.30; 1.10 -20010219; 9450; 0.98; 7.00; 11.20; 1.10 -20010220; 10600; 1.10; 6.50; 8.60; 0.90 -20010221; 10400; 1.08; 1.90; 5.70; 0.70 -20010222; 10900; 1.13; 7.20; 6.70; 0.80 -20010223; 12500; 1.30; 18.90; 5.10; 0.70 -20010224; 18100; 1.88; 16.70; 5.40; 0.80 -20010225; 33700; 3.51; 12.80; 5.10; 0.70 -20010226; 30100; 3.13; 9.70; 3.60; 0.60 -20010227; 24900; 2.59; 7.40; 5.40; 0.80 -20010228; 22100; 2.30; 4.20; 5.30; 0.80 -20010301; 21200; 2.21; 3.70; 6.90; 0.90 -20010302; 19300; 2.01; 14.00; 9.50; 1.20 -20010303; 25900; 2.70; 3.00; 9.10; 1.10 -20010304; 20900; 2.18; 0.50; 10.80; 1.30 -20010305; 18500; 1.93; 0.20; 9.80; 1.20 -20010306; 17200; 1.79; 6.10; 10.40; 1.30 -20010307; 18900; 1.97; 1.50; 6.90; 1.00 -20010308; 18400; 1.92; 0.30; 6.30; 1.00 -20010309; 16300; 1.70; 0.50; 9.80; 1.30 -20010310; 15500; 1.61; 0.70; 10.60; 1.40 -20010311; 15000; 1.56; 0.50; 9.30; 1.30 -20010312; 14600; 1.52; 7.20; 8.10; 1.20 -20010313; 16300; 1.70; 1.10; 6.90; 1.10 -20010314; 15100; 1.57; 17.40; 7.60; 1.20 -20010315; 23900; 2.49; 14.60; 10.60; 1.50 -20010316; 31500; 3.28; 4.10; 8.70; 1.30 -20010317; 29400; 3.06; 0.90; 4.50; 0.90 -20010318; 21100; 2.20; 1.30; 5.10; 1.00 -20010319; 19000; 1.98; 7.80; 8.70; 1.40 -20010320; 23200; 2.42; 2.50; 7.20; 1.20 -20010321; 21400; 2.23; 1.90; 8.50; 1.40 -20010322; 19700; 2.05; 1.30; 9.00; 1.50 -20010323; 18500; 1.93; 0.70; 6.10; 1.20 -20010324; 17700; 1.84; 0.80; 10.50; 1.70 -20010325; 17300; 1.80; 1.10; 10.60; 1.70 -20010326; 16900; 1.76; 0.00; 10.60; 1.70 -20010327; 16400; 1.71; 0.00; 12.10; 1.90 -20010328; 15700; 1.63; 0.00; 12.20; 1.90 -20010329; 15300; 1.59; 0.00; 9.20; 1.60 -20010330; 14900; 1.55; 0.00; 9.70; 1.70 -20010331; 14400; 1.50; 2.50; 12.60; 2.00 -20010401; 15400; 1.60; 3.50; 10.30; 1.80 -20010402; 16500; 1.72; 0.10; 7.40; 1.50 -20010403; 15400; 1.60; 0.70; 6.30; 1.30 -20010404; 14200; 1.48; 6.40; 3.80; 1.00 -20010405; 14800; 1.54; 1.90; 4.10; 1.10 -20010406; 16700; 1.74; 0.20; 6.10; 1.40 -20010407; 15600; 1.62; 0.50; 7.00; 1.50 -20010408; 14400; 1.50; 0.00; 7.80; 1.60 -20010409; 13600; 1.42; 8.50; 8.30; 1.70 -20010410; 15600; 1.62; 6.70; 9.00; 1.80 -20010411; 23100; 2.40; 22.70; 9.90; 1.90 -20010412; 33800; 3.52; 4.60; 7.30; 1.60 -20010413; 24900; 2.59; 1.50; 6.70; 1.50 -20010414; 19800; 2.06; 2.00; 6.70; 1.50 -20010415; 18300; 1.90; 17.70; 7.70; 1.70 -20010416; 31200; 3.25; 8.80; 8.60; 1.80 -20010417; 29800; 3.10; 0.30; 7.80; 1.70 -20010418; 24700; 2.57; 0.10; 8.30; 1.80 -20010419; 21800; 2.27; 0.00; 8.00; 1.80 -20010420; 20100; 2.09; 0.10; 7.70; 1.70 -20010421; 18900; 1.97; 0.00; 7.00; 1.70 -20010422; 18400; 1.92; 0.00; 7.60; 1.80 -20010423; 18100; 1.88; 2.40; 8.10; 1.90 -20010424; 17700; 1.84; 0.70; 7.60; 1.80 -20010425; 17400; 1.81; 0.10; 5.40; 1.50 -20010426; 16700; 1.74; 5.80; 6.40; 1.60 -20010427; 16200; 1.69; 2.70; 7.10; 1.80 -20010428; 16400; 1.71; 2.30; 8.80; 2.00 -20010429; 16700; 1.74; 2.30; 9.30; 2.10 -20010430; 16200; 1.69; 3.50; 8.20; 2.00 -20010501; 16400; 1.71; 1.00; 12.10; 2.60 -20010502; 16200; 1.69; 0.10; 13.30; 2.80 -20010503; 15600; 1.62; 0.00; 15.40; 3.10 -20010504; 14700; 1.53; 0.00; 17.90; 3.50 -20010505; 13700; 1.43; 0.00; 19.30; 3.70 -20010506; 13300; 1.38; 0.00; 17.90; 3.50 -20010507; 12600; 1.31; 0.00; 11.90; 2.60 -20010508; 12100; 1.26; 0.00; 13.30; 2.80 -20010509; 11800; 1.23; 0.00; 14.50; 3.10 -20010510; 11300; 1.18; 11.10; 12.10; 2.70 -20010511; 15400; 1.60; 1.90; 11.20; 2.60 -20010512; 15900; 1.66; 0.30; 10.40; 2.40 -20010513; 12900; 1.34; 0.20; 9.70; 2.30 -20010514; 12000; 1.25; 0.00; 12.30; 2.80 -20010515; 11300; 1.18; 0.00; 12.60; 2.80 -20010516; 10700; 1.11; 0.00; 13.60; 3.00 -20010517; 10100; 1.05; 0.00; 15.90; 3.40 -20010518; 9750; 1.01; 0.00; 17.10; 3.60 -20010519; 9050; 0.94; 0.00; 18.90; 3.90 -20010520; 8650; 0.90; 0.60; 20.60; 4.20 -20010521; 8650; 0.90; 8.70; 18.10; 3.80 -20010522; 11300; 1.18; 1.10; 19.00; 4.00 -20010523; 9100; 0.95; 0.50; 19.20; 4.00 -20010524; 8700; 0.91; 0.00; 20.60; 4.30 -20010525; 8250; 0.86; 5.00; 19.00; 4.00 -20010526; 8950; 0.93; 0.00; 15.00; 3.30 -20010527; 8100; 0.84; 0.00; 12.70; 3.00 -20010528; 7500; 0.78; 0.00; 15.90; 3.50 -20010529; 6950; 0.72; 0.00; 16.10; 3.60 -20010530; 6800; 0.71; 0.00; 12.60; 3.00 -20010531; 6100; 0.63; 0.00; 11.10; 2.70 -20010601; 5750; 0.60; 3.50; 10.70; 2.70 -20010602; 6150; 0.64; 0.50; 9.70; 2.50 -20010603; 6150; 0.64; 6.00; 10.50; 2.70 -20010604; 6900; 0.72; 0.20; 12.30; 3.00 -20010605; 7000; 0.73; 0.90; 11.80; 2.90 -20010606; 6150; 0.64; 0.70; 11.10; 2.80 -20010607; 5750; 0.60; 2.10; 11.30; 2.80 -20010608; 5400; 0.56; 0.10; 10.50; 2.70 -20010609; 5150; 0.54; 5.20; 11.80; 2.90 -20010610; 4990; 0.52; 0.40; 15.20; 3.50 -20010611; 5200; 0.54; 1.10; 16.10; 3.60 -20010612; 5150; 0.54; 0.00; 20.00; 4.30 -20010613; 4610; 0.48; 0.10; 16.90; 3.80 -20010614; 4220; 0.44; 0.00; 17.30; 3.90 -20010615; 3840; 0.40; 0.00; 20.70; 4.50 -20010616; 3330; 0.35; 0.00; 21.50; 4.60 -20010617; 3150; 0.33; 0.00; 19.80; 4.30 -20010618; 3150; 0.33; 0.00; 19.40; 4.20 -20010619; 2970; 0.31; 0.00; 19.60; 4.30 -20010620; 2860; 0.30; 0.00; 23.10; 4.90 -20010621; 2840; 0.30; 0.00; 19.80; 4.30 -20010622; 2700; 0.28; 0.00; 17.20; 3.90 -20010623; 2620; 0.27; 0.00; 18.00; 4.00 -20010624; 2620; 0.27; 0.00; 17.80; 4.00 -20010625; 2560; 0.27; 0.00; 17.10; 3.80 -20010626; 2430; 0.25; 10.90; 16.30; 3.70 -20010627; 2560; 0.27; 1.70; 14.60; 3.40 -20010628; 2860; 0.30; 6.50; 13.60; 3.20 -20010629; 2810; 0.29; 3.40; 15.00; 3.50 -20010630; 2960; 0.31; 0.10; 16.40; 3.70 -20010701; 2930; 0.31; 0.10; 15.60; 3.60 -20010702; 2930; 0.31; 0.00; 16.50; 3.70 -20010703; 2760; 0.29; 0.00; 16.30; 3.70 -20010704; 2600; 0.27; 0.00; 18.10; 4.00 -20010705; 2440; 0.25; 4.50; 16.10; 3.60 -20010706; 2530; 0.26; 8.90; 18.60; 4.10 -20010707; 2810; 0.29; 2.50; 17.00; 3.80 -20010708; 2790; 0.29; 1.20; 16.40; 3.70 -20010709; 2670; 0.28; 0.00; 17.60; 3.90 -20010710; 2600; 0.27; 0.00; 17.10; 3.80 -20010711; 2440; 0.25; 0.00; 17.60; 3.80 -20010712; 2280; 0.24; 0.00; 16.80; 3.70 -20010713; 2260; 0.24; 0.00; 18.40; 4.00 -20010714; 2150; 0.22; 0.00; 17.90; 3.90 -20010715; 2040; 0.21; 0.00; 18.60; 4.00 -20010716; 1920; 0.20; 0.00; 20.90; 4.30 -20010717; 1880; 0.20; 0.00; 21.60; 4.50 -20010718; 1730; 0.18; 0.00; 21.60; 4.40 -20010719; 1640; 0.17; 0.00; 21.00; 4.30 -20010720; 1590; 0.17; 0.00; 23.40; 4.70 -20010721; 1460; 0.15; 0.20; 23.10; 4.60 -20010722; 1460; 0.15; 0.60; 20.80; 4.30 -20010723; 1590; 0.17; 1.90; 20.80; 4.20 -20010724; 1460; 0.15; 0.40; 20.50; 4.20 -20010725; 1530; 0.16; 0.00; 20.50; 4.10 -20010726; 1420; 0.15; 0.10; 18.60; 3.80 -20010727; 1420; 0.15; 0.00; 17.20; 3.60 -20010728; 1420; 0.15; 0.00; 17.20; 3.60 -20010729; 1420; 0.15; 0.00; 17.70; 3.60 -20010730; 1330; 0.14; 1.20; 17.50; 3.60 -20010731; 1350; 0.14; 0.00; 16.80; 3.50 -20010801; 1330; 0.14; 0.00; 16.30; 3.40 -20010802; 1330; 0.14; 0.00; 17.30; 3.50 -20010803; 1330; 0.14; 0.00; 18.00; 3.60 -20010804; 1290; 0.13; 0.00; 19.10; 3.80 -20010805; 1290; 0.13; 0.00; 19.50; 3.80 -20010806; 1310; 0.14; 0.00; 19.00; 3.70 -20010807; 1210; 0.13; 4.20; 17.50; 3.40 -20010808; 1240; 0.13; 0.00; 18.00; 3.50 -20010809; 1240; 0.13; 3.00; 17.90; 3.50 -20010810; 1240; 0.13; 0.80; 18.40; 3.50 -20010811; 1260; 0.13; 2.50; 16.90; 3.30 -20010812; 1320; 0.14; 0.40; 16.60; 3.20 -20010813; 1320; 0.14; 1.40; 17.00; 3.30 -20010814; 1390; 0.14; 5.90; 18.60; 3.50 -20010815; 1460; 0.15; 3.00; 18.70; 3.50 -20010816; 1540; 0.16; 4.10; 17.00; 3.20 -20010817; 1610; 0.17; 0.00; 16.50; 3.10 -20010818; 1480; 0.15; 0.00; 17.10; 3.20 -20010819; 1370; 0.14; 0.00; 19.40; 3.50 -20010820; 1260; 0.13; 0.00; 18.40; 3.30 -20010821; 1260; 0.13; 0.20; 18.20; 3.20 -20010822; 1240; 0.13; 0.00; 17.30; 3.10 -20010823; 1130; 0.12; 0.00; 16.50; 3.00 -20010824; 1050; 0.11; 0.00; 17.40; 3.10 -20010825; 1130; 0.12; 0.10; 16.90; 3.00 -20010826; 1090; 0.11; 0.80; 17.50; 3.00 -20010827; 1200; 0.12; 0.30; 15.60; 2.80 -20010828; 1190; 0.12; 0.00; 14.90; 2.60 -20010829; 1130; 0.12; 0.00; 15.40; 2.70 -20010830; 1070; 0.11; 0.00; 17.30; 2.90 -20010831; 1050; 0.11; 0.10; 15.40; 2.60 -20010901; 1070; 0.11; 0.00; 14.60; 2.50 -20010902; 1050; 0.11; 0.00; 14.00; 2.40 -20010903; 1050; 0.11; 0.00; 14.10; 2.40 -20010904; 1030; 0.11; 0.00; 13.50; 2.30 -20010905; 960; 0.10; 0.00; 14.90; 2.50 -20010906; 895; 0.09; 0.00; 16.10; 2.60 -20010907; 920; 0.10; 0.00; 17.60; 2.70 -20010908; 875; 0.09; 0.00; 17.80; 2.70 -20010909; 875; 0.09; 0.00; 17.20; 2.60 -20010910; 890; 0.09; 0.20; 17.30; 2.60 -20010911; 955; 0.10; 1.20; 16.70; 2.50 -20010912; 935; 0.10; 0.80; 14.90; 2.30 -20010913; 985; 0.10; 0.20; 15.10; 2.30 -20010914; 1010; 0.11; 1.40; 15.70; 2.30 -20010915; 1010; 0.11; 3.20; 17.40; 2.50 -20010916; 1070; 0.11; 0.10; 18.20; 2.60 -20010917; 1070; 0.11; 0.00; 17.60; 2.50 -20010918; 1030; 0.11; 3.10; 17.00; 2.40 -20010919; 985; 0.10; 0.10; 15.00; 2.10 -20010920; 895; 0.09; 0.10; 15.70; 2.20 -20010921; 875; 0.09; 0.40; 17.40; 2.30 -20010922; 870; 0.09; 0.20; 14.10; 2.00 -20010923; 725; 0.08; 1.80; 13.60; 1.90 -20010924; 800; 0.08; 0.00; 14.60; 2.00 -20010925; 800; 0.08; 0.00; 15.60; 2.10 -20010926; 785; 0.08; 0.00; 15.60; 2.00 -20010927; 800; 0.08; 0.10; 14.40; 1.90 -20010928; 800; 0.08; 0.00; 14.10; 1.80 -20010929; 775; 0.08; 0.00; 12.80; 1.70 -20010930; 800; 0.08; 0.00; 13.80; 1.70 -20011001; 775; 0.08; 0.00; 15.70; 1.90 -20011002; 755; 0.08; 0.00; 12.80; 1.60 -20011003; 760; 0.08; 0.00; 11.80; 1.50 -20011004; 760; 0.08; 0.10; 12.60; 1.50 -20011005; 760; 0.08; 0.70; 12.00; 1.50 -20011006; 815; 0.08; 0.80; 11.90; 1.50 -20011007; 815; 0.08; 0.90; 13.70; 1.60 -20011008; 850; 0.09; 0.10; 12.70; 1.50 -20011009; 870; 0.09; 1.00; 11.40; 1.30 -20011010; 855; 0.09; 0.80; 12.50; 1.40 -20011011; 855; 0.09; 0.10; 12.30; 1.40 -20011012; 880; 0.09; 0.40; 11.50; 1.30 -20011013; 880; 0.09; 0.40; 11.90; 1.30 -20011014; 865; 0.09; 0.10; 10.90; 1.20 -20011015; 870; 0.09; 0.00; 11.20; 1.20 -20011016; 870; 0.09; 0.00; 11.20; 1.20 -20011017; 815; 0.08; 0.10; 12.20; 1.30 -20011018; 815; 0.08; 0.50; 14.10; 1.40 -20011019; 870; 0.09; 15.20; 14.60; 1.40 -20011020; 1090; 0.11; 10.40; 13.60; 1.30 -20011021; 1540; 0.16; 6.90; 15.00; 1.40 -20011022; 1910; 0.20; 5.40; 14.00; 1.30 -20011023; 1610; 0.17; 5.10; 14.80; 1.30 -20011024; 1480; 0.15; 0.10; 12.00; 1.10 -20011025; 1370; 0.14; 0.00; 11.30; 1.10 -20011026; 1260; 0.13; 0.10; 13.50; 1.20 -20011027; 1260; 0.13; 10.20; 14.30; 1.20 -20011028; 1500; 0.16; 1.50; 12.10; 1.10 -20011029; 1700; 0.18; 8.70; 12.90; 1.10 -20011030; 1860; 0.19; 9.60; 15.40; 1.20 -20011031; 2530; 0.26; 3.80; 14.30; 1.20 -20011101; 2630; 0.27; 5.40; 11.70; 1.00 -20011102; 2530; 0.26; 10.90; 10.40; 0.90 -20011103; 3150; 0.33; 5.30; 8.50; 0.80 -20011104; 2800; 0.29; 9.20; 9.00; 0.80 -20011105; 2920; 0.30; 3.60; 7.20; 0.70 -20011106; 2740; 0.29; 5.00; 7.10; 0.60 -20011107; 2610; 0.27; 7.10; 10.20; 0.80 -20011108; 2690; 0.28; 2.60; 9.50; 0.80 -20011109; 2970; 0.31; 10.00; 8.60; 0.70 -20011110; 3080; 0.32; 1.80; 12.20; 0.90 -20011111; 3510; 0.37; 0.00; 12.10; 0.90 -20011112; 2970; 0.31; 0.00; 12.20; 0.90 -20011113; 2530; 0.26; 0.00; 13.00; 0.90 -20011114; 2310; 0.24; 0.00; 9.40; 0.70 -20011115; 2160; 0.22; 0.00; 6.70; 0.60 -20011116; 2020; 0.21; 0.10; 5.30; 0.50 -20011117; 1970; 0.21; 3.60; 8.50; 0.60 -20011118; 2210; 0.23; 0.10; 11.20; 0.70 -20011119; 2420; 0.25; 11.70; 11.90; 0.80 -20011120; 2420; 0.25; 0.30; 11.30; 0.70 -20011121; 2810; 0.29; 0.60; 10.40; 0.70 -20011122; 2480; 0.26; 0.10; 9.10; 0.60 -20011123; 2360; 0.25; 0.00; 4.30; 0.40 -20011124; 2210; 0.23; 0.00; 3.00; 0.30 -20011125; 2190; 0.23; 0.00; 1.90; 0.30 -20011126; 2110; 0.22; 0.00; 0.60; 0.20 -20011127; 2030; 0.21; 0.00; 1.90; 0.30 -20011128; 1910; 0.20; 0.00; 2.10; 0.30 -20011129; 1890; 0.20; 0.00; 2.10; 0.30 -20011130; 1890; 0.20; 0.00; 4.50; 0.40 -20011201; 1890; 0.20; 0.00; 5.40; 0.40 -20011202; 1890; 0.20; 0.00; 5.20; 0.40 -20011203; 1820; 0.19; 0.00; 3.30; 0.30 -20011204; 1730; 0.18; 0.00; 2.60; 0.30 -20011205; 1820; 0.19; 0.00; 2.20; 0.30 -20011206; 1860; 0.19; 0.00; 1.70; 0.30 -20011207; 1980; 0.21; 0.00; 3.50; 0.30 -20011208; 1960; 0.20; 0.00; 2.50; 0.30 -20011209; 1960; 0.20; 0.00; 1.70; 0.20 -20011210; 1960; 0.20; 0.00; 1.00; 0.20 -20011211; 2010; 0.21; 8.00; 0.60; 0.20 -20011212; 2160; 0.22; 15.30; 7.90; 0.50 -20011213; 4410; 0.46; 10.90; 11.50; 0.60 -20011214; 6550; 0.68; 10.00; 11.50; 0.60 -20011215; 8900; 0.93; 32.70; 11.10; 0.60 -20011216; 23600; 2.46; 9.10; 12.40; 0.60 -20011217; 17600; 1.83; 9.10; 10.50; 0.60 -20011218; 13800; 1.44; 6.20; 9.70; 0.50 -20011219; 14600; 1.52; 48.00; 9.20; 0.50 -20011220; 48700; 5.07; 18.30; 12.80; 0.60 -20011221; 54500; 5.67; 9.10; 11.90; 0.60 -20011222; 32300; 3.36; 1.30; 7.60; 0.40 -20011223; 25400; 2.64; 0.00; 8.90; 0.50 -20011224; 18900; 1.97; 15.50; 11.00; 0.60 -20011225; 23900; 2.49; 3.30; 8.50; 0.50 -20011226; 20900; 2.18; 0.00; 6.40; 0.40 -20011227; 17100; 1.78; 0.00; 7.10; 0.40 -20011228; 15400; 1.60; 0.00; 5.80; 0.40 -20011229; 14100; 1.47; 0.00; 2.00; 0.30 -20011230; 13500; 1.41; 0.00; 2.30; 0.30 -20011231; 12700; 1.32; 3.20; 2.20; 0.20 -20020101; 11800; 1.23; 2.30; 5.60; 0.40 -20020102; 11700; 1.22; 0.00; 6.40; 0.40 -20020103; 11100; 1.16; 0.10; 5.10; 0.40 -20020104; 10500; 1.09; 0.20; 5.20; 0.40 -20020105; 10000; 1.04; 3.50; 9.20; 0.50 -20020106; 11400; 1.19; 12.50; 10.40; 0.60 -20020107; 17900; 1.86; 1.70; 6.60; 0.40 -20020108; 14200; 1.48; 1.30; 8.60; 0.50 -20020109; 12100; 1.26; 0.30; 7.80; 0.50 -20020110; 10800; 1.12; 0.10; 7.60; 0.50 -20020111; 10400; 1.08; 0.10; 6.30; 0.40 -20020112; 10100; 1.05; 5.50; 6.10; 0.40 -20020113; 11800; 1.23; 1.20; 5.90; 0.40 -20020114; 12100; 1.26; 2.00; 6.90; 0.50 -20020115; 11800; 1.23; 0.30; 8.80; 0.60 -20020116; 10600; 1.10; 1.40; 9.80; 0.60 -20020117; 9950; 1.04; 0.30; 7.20; 0.50 -20020118; 9700; 1.01; 0.10; 4.30; 0.40 -20020119; 9350; 0.97; 0.30; 7.70; 0.50 -20020120; 9100; 0.95; 1.70; 10.30; 0.70 -20020121; 9100; 0.95; 11.30; 10.60; 0.70 -20020122; 13600; 1.42; 5.90; 11.20; 0.70 -20020123; 22100; 2.30; 33.50; 10.50; 0.70 -20020124; 50500; 5.26; 12.20; 8.70; 0.60 -20020125; 42200; 4.39; 9.00; 9.00; 0.70 -20020126; 36500; 3.80; 8.70; 5.00; 0.50 -20020127; 37800; 3.93; 12.90; 7.40; 0.60 -20020128; 43400; 4.52; 1.70; 6.20; 0.50 -20020129; 38900; 4.05; 19.80; 8.10; 0.60 -20020130; 55000; 5.73; 29.10; 9.20; 0.70 -20020131; 73000; 7.60; 9.10; 7.70; 0.60 -20020201; 87000; 9.06; 33.30; 6.80; 0.60 -20020202; 126000; 13.12; 10.10; 7.00; 0.60 -20020203; 89500; 9.32; 4.60; 8.30; 0.70 -20020204; 69500; 7.23; 0.20; 9.60; 0.80 -20020205; 52000; 5.41; 0.10; 9.60; 0.80 -20020206; 46000; 4.79; 32.70; 10.10; 0.80 -20020207; 76000; 7.91; 6.00; 11.80; 0.90 -20020208; 90000; 9.37; 0.40; 8.00; 0.70 -20020209; 54000; 5.62; 20.40; 6.60; 0.70 -20020210; 62500; 6.51; 7.60; 8.40; 0.80 -20020211; 69000; 7.18; 21.80; 5.70; 0.60 -20020212; 88000; 9.16; 11.70; 5.00; 0.60 -20020213; 79000; 8.22; 35.00; 10.10; 0.90 -20020214; 127000; 13.22; 17.50; 10.90; 1.00 -20020215; 146000; 15.20; 11.30; 8.70; 0.90 -20020216; 104000; 10.83; 6.30; 10.60; 1.00 -20020217; 95000; 9.89; 12.20; 10.40; 1.00 -20020218; 81500; 8.48; 3.10; 10.10; 1.00 -20020219; 75500; 7.86; 1.70; 10.70; 1.10 -20020220; 62000; 6.45; 1.90; 12.50; 1.20 -20020221; 56000; 5.83; 0.10; 10.10; 1.10 -20020222; 49400; 5.14; 0.00; 10.00; 1.10 -20020223; 44500; 4.63; 0.00; 11.20; 1.20 -20020224; 40900; 4.26; 0.80; 10.60; 1.10 -20020225; 38900; 4.05; 5.50; 9.20; 1.10 -20020226; 39200; 4.08; 5.20; 10.60; 1.20 -20020227; 37900; 3.95; 3.30; 9.40; 1.10 -20020228; 35600; 3.71; 4.30; 9.90; 1.20 -20020301; 34900; 3.63; 3.30; 4.70; 0.70 -20020302; 32300; 3.36; 0.00; 3.60; 0.70 -20020303; 28400; 2.96; 0.00; 3.70; 0.70 -20020304; 26000; 2.71; 0.00; 4.40; 0.80 -20020305; 24700; 2.57; 0.00; 5.20; 0.80 -20020306; 23700; 2.47; 0.00; 5.30; 0.80 -20020307; 23100; 2.40; 0.00; 7.20; 1.00 -20020308; 22500; 2.34; 0.00; 8.80; 1.20 -20020309; 21400; 2.23; 1.60; 10.30; 1.30 -20020310; 21000; 2.19; 0.10; 10.10; 1.40 -20020311; 20600; 2.14; 0.20; 10.30; 1.40 -20020312; 19800; 2.06; 0.60; 9.50; 1.30 -20020313; 19000; 1.98; 1.00; 9.20; 1.30 -20020314; 18400; 1.92; 0.10; 6.50; 1.10 -20020315; 17600; 1.83; 0.00; 7.40; 1.20 -20020316; 17100; 1.78; 0.00; 10.30; 1.50 -20020317; 16500; 1.72; 0.00; 12.40; 1.70 -20020318; 15900; 1.66; 0.10; 11.60; 1.60 -20020319; 15800; 1.64; 0.20; 11.80; 1.70 -20020320; 15800; 1.64; 0.20; 12.30; 1.80 -20020321; 15200; 1.58; 1.30; 11.40; 1.70 -20020322; 15200; 1.58; 1.40; 8.10; 1.40 -20020323; 15100; 1.57; 0.00; 7.10; 1.30 -20020324; 14600; 1.52; 0.60; 8.10; 1.40 -20020325; 14200; 1.48; 0.20; 5.70; 1.20 -20020326; 13500; 1.41; 0.00; 4.70; 1.10 -20020327; 12900; 1.34; 0.20; 4.30; 1.00 -20020328; 12400; 1.29; 0.10; 6.80; 1.30 -20020329; 12200; 1.27; 0.00; 6.80; 1.30 -20020330; 11800; 1.23; 0.00; 8.10; 1.50 -20020331; 11700; 1.22; 0.00; 12.20; 2.00 -20020401; 11200; 1.17; 0.00; 11.90; 2.00 -20020402; 11100; 1.16; 7.40; 10.60; 1.80 -20020403; 12600; 1.31; 0.50; 5.30; 1.20 -20020404; 12300; 1.28; 0.20; 3.40; 1.00 -20020405; 11200; 1.17; 0.00; 3.80; 1.10 -20020406; 10800; 1.12; 1.90; 6.00; 1.30 -20020407; 10600; 1.10; 0.00; 8.30; 1.60 -20020408; 9950; 1.04; 0.00; 7.00; 1.50 -20020409; 9400; 0.98; 0.00; 6.20; 1.40 -20020410; 9350; 0.97; 0.80; 9.40; 1.80 -20020411; 8850; 0.92; 0.10; 11.20; 2.10 -20020412; 8500; 0.88; 2.00; 10.50; 2.00 -20020413; 9250; 0.96; 11.00; 7.60; 1.70 -20020414; 11900; 1.24; 12.60; 6.70; 1.50 -20020415; 14300; 1.49; 1.90; 7.50; 1.70 -20020416; 13600; 1.42; 2.00; 6.60; 1.50 -20020417; 11100; 1.16; 2.90; 7.00; 1.60 -20020418; 10100; 1.05; 5.20; 7.80; 1.80 -20020419; 10200; 1.06; 10.70; 7.60; 1.70 -20020420; 12200; 1.27; 4.10; 6.90; 1.60 -20020421; 14100; 1.47; 0.50; 8.80; 1.90 -20020422; 12000; 1.25; 1.60; 9.20; 2.00 -20020423; 10400; 1.08; 0.10; 10.30; 2.20 -20020424; 9750; 1.01; 0.00; 10.80; 2.30 -20020425; 8650; 0.90; 0.00; 10.90; 2.30 -20020426; 8050; 0.84; 1.00; 9.90; 2.20 -20020427; 7550; 0.79; 1.90; 10.30; 2.20 -20020428; 7600; 0.79; 0.00; 11.30; 2.40 -20020429; 7200; 0.75; 0.00; 11.80; 2.50 -20020430; 6550; 0.68; 0.00; 16.50; 3.20 -20020501; 6450; 0.67; 0.00; 18.60; 3.50 -20020502; 6000; 0.62; 0.00; 19.20; 3.60 -20020503; 5700; 0.59; 0.00; 19.70; 3.70 -20020504; 5500; 0.57; 0.00; 18.90; 3.60 -20020505; 5200; 0.54; 2.00; 17.70; 3.50 -20020506; 5200; 0.54; 1.50; 17.60; 3.50 -20020507; 5550; 0.58; 0.90; 14.70; 3.00 -20020508; 5600; 0.58; 0.00; 12.30; 2.70 -20020509; 5150; 0.54; 0.00; 11.40; 2.60 -20020510; 4960; 0.52; 1.40; 11.40; 2.60 -20020511; 4960; 0.52; 0.00; 12.90; 2.80 -20020512; 4720; 0.49; 0.00; 12.90; 2.80 -20020513; 4490; 0.47; 0.00; 15.60; 3.30 -20020514; 4570; 0.48; 0.00; 14.70; 3.20 -20020515; 4360; 0.45; 3.70; 14.30; 3.10 -20020516; 4480; 0.47; 0.10; 14.40; 3.10 -20020517; 4480; 0.47; 21.30; 13.70; 3.00 -20020518; 7050; 0.73; 4.30; 13.40; 3.00 -20020519; 9950; 1.04; 0.40; 15.20; 3.30 -20020520; 7300; 0.76; 15.10; 13.40; 3.00 -20020521; 8400; 0.87; 3.40; 12.00; 2.80 -20020522; 7450; 0.78; 1.60; 13.50; 3.10 -20020523; 5950; 0.62; 0.00; 13.80; 3.10 -20020524; 5250; 0.55; 0.00; 13.60; 3.10 -20020525; 4720; 0.49; 0.00; 12.90; 3.00 -20020526; 4400; 0.46; 0.00; 14.20; 3.20 -20020527; 4070; 0.42; 0.00; 14.50; 3.30 -20020528; 3860; 0.40; 0.00; 14.80; 3.30 -20020529; 3820; 0.40; 1.20; 13.80; 3.20 -20020530; 3860; 0.40; 0.30; 14.50; 3.30 -20020531; 3820; 0.40; 0.00; 17.10; 3.80 -20020601; 3590; 0.37; 0.00; 15.90; 3.60 -20020602; 3460; 0.36; 0.50; 14.10; 3.30 -20020603; 3590; 0.37; 1.80; 12.60; 3.00 -20020604; 3490; 0.36; 0.40; 12.50; 3.00 -20020605; 3450; 0.36; 3.70; 12.80; 3.10 -20020606; 3490; 0.36; 9.00; 12.50; 3.00 -20020607; 3790; 0.39; 2.70; 12.00; 2.90 -20020608; 3940; 0.41; 0.70; 12.20; 3.00 -20020609; 3670; 0.38; 0.10; 13.40; 3.20 -20020610; 3490; 0.36; 0.00; 14.10; 3.30 -20020611; 3310; 0.34; 7.30; 14.60; 3.40 -20020612; 3940; 0.41; 1.00; 12.30; 3.00 -20020613; 4830; 0.50; 0.00; 11.70; 2.90 -20020614; 3590; 0.37; 0.00; 12.30; 3.00 -20020615; 3330; 0.35; 0.00; 14.70; 3.40 -20020616; 3150; 0.33; 1.30; 16.30; 3.70 -20020617; 3060; 0.32; 2.40; 14.80; 3.40 -20020618; 3350; 0.35; 14.00; 13.90; 3.30 -20020619; 4720; 0.49; 1.40; 14.60; 3.40 -20020620; 4220; 0.44; 15.50; 12.90; 3.10 -20020621; 7500; 0.78; 18.50; 12.90; 3.10 -20020622; 10700; 1.11; 2.20; 12.20; 3.00 -20020623; 6350; 0.66; 0.00; 12.90; 3.10 -20020624; 4950; 0.52; 0.60; 13.40; 3.20 -20020625; 4320; 0.45; 2.70; 17.20; 3.90 -20020626; 4140; 0.43; 0.00; 18.40; 4.10 -20020627; 3900; 0.41; 0.00; 14.90; 3.40 -20020628; 3670; 0.38; 0.90; 14.00; 3.30 -20020629; 3410; 0.35; 5.00; 16.10; 3.60 -20020630; 3490; 0.36; 5.90; 14.30; 3.30 -20020701; 3750; 0.39; 1.60; 13.80; 3.30 -20020702; 3940; 0.41; 12.00; 11.80; 2.90 -20020703; 5200; 0.54; 0.90; 12.70; 3.10 -20020704; 5100; 0.53; 12.40; 13.20; 3.10 -20020705; 6500; 0.68; 1.90; 13.50; 3.20 -20020706; 5550; 0.58; 0.40; 14.10; 3.30 -20020707; 4300; 0.45; 2.30; 15.40; 3.50 -20020708; 3950; 0.41; 0.80; 15.50; 3.50 -20020709; 3850; 0.40; 0.00; 13.70; 3.20 -20020710; 3620; 0.38; 0.00; 13.80; 3.20 -20020711; 3210; 0.33; 0.00; 15.80; 3.60 -20020712; 3040; 0.32; 0.00; 19.40; 4.10 -20020713; 2830; 0.29; 0.00; 21.80; 4.50 -20020714; 2640; 0.27; 0.00; 22.60; 4.70 -20020715; 2610; 0.27; 0.00; 19.20; 4.10 -20020716; 2460; 0.26; 0.00; 17.80; 3.80 -20020717; 2370; 0.25; 0.00; 19.00; 4.00 -20020718; 2220; 0.23; 0.00; 20.20; 4.20 -20020719; 2010; 0.21; 0.00; 20.00; 4.20 -20020720; 1910; 0.20; 0.00; 22.00; 4.50 -20020721; 1750; 0.18; 0.00; 24.10; 4.80 -20020722; 1670; 0.17; 0.00; 23.70; 4.70 -20020723; 1790; 0.19; 1.60; 23.80; 4.70 -20020724; 1910; 0.20; 0.00; 22.90; 4.60 -20020725; 1940; 0.20; 0.00; 21.90; 4.40 -20020726; 1710; 0.18; 0.30; 21.10; 4.20 -20020727; 1560; 0.16; 0.20; 18.80; 3.90 -20020728; 1600; 0.17; 0.10; 17.80; 3.70 -20020729; 1630; 0.17; 0.00; 18.60; 3.80 -20020730; 1570; 0.16; 0.00; 19.20; 3.90 -20020731; 1480; 0.15; 0.00; 21.10; 4.20 -20020801; 1560; 0.16; 0.00; 23.40; 4.50 -20020802; 1430; 0.15; 0.00; 26.10; 4.90 -20020803; 1350; 0.14; 0.00; 26.20; 4.90 -20020804; 1300; 0.14; 0.00; 25.30; 4.70 -20020805; 1220; 0.13; 0.00; 18.80; 3.70 -20020806; 1310; 0.14; 0.00; 16.30; 3.30 -20020807; 1280; 0.13; 0.00; 16.00; 3.20 -20020808; 1160; 0.12; 0.00; 16.10; 3.20 -20020809; 1160; 0.12; 0.00; 17.00; 3.30 -20020810; 1190; 0.12; 0.00; 19.40; 3.70 -20020811; 1140; 0.12; 0.00; 19.70; 3.70 -20020812; 1090; 0.11; 0.00; 18.90; 3.60 -20020813; 1090; 0.11; 0.20; 17.80; 3.40 -20020814; 1120; 0.12; 3.30; 17.60; 3.30 -20020815; 1120; 0.12; 3.40; 18.00; 3.40 -20020816; 1360; 0.14; 0.90; 15.20; 2.90 -20020817; 1490; 0.16; 0.60; 14.40; 2.80 -20020818; 1460; 0.15; 1.40; 16.90; 3.10 -20020819; 1620; 0.17; 1.00; 17.90; 3.30 -20020820; 1650; 0.17; 0.00; 16.70; 3.10 -20020821; 1690; 0.18; 0.00; 17.10; 3.10 -20020822; 1460; 0.15; 0.00; 18.30; 3.20 -20020823; 1380; 0.14; 0.00; 20.50; 3.50 -20020824; 1240; 0.13; 0.10; 20.30; 3.50 -20020825; 1150; 0.12; 0.00; 18.00; 3.10 -20020826; 1150; 0.12; 0.00; 17.50; 3.00 -20020827; 1160; 0.12; 0.00; 17.90; 3.00 -20020828; 1060; 0.11; 0.00; 18.50; 3.10 -20020829; 1050; 0.11; 2.70; 15.30; 2.70 -20020830; 960; 0.10; 0.10; 14.10; 2.50 -20020831; 890; 0.09; 0.30; 13.80; 2.50 -20020901; 945; 0.10; 0.00; 16.20; 2.70 -20020902; 970; 0.10; 0.00; 17.70; 2.90 -20020903; 970; 0.10; 0.00; 17.30; 2.80 -20020904; 1010; 0.11; 0.00; 14.20; 2.40 -20020905; 815; 0.08; 1.90; 13.40; 2.30 -20020906; 840; 0.09; 0.10; 14.40; 2.40 -20020907; 945; 0.10; 0.10; 13.40; 2.20 -20020908; 920; 0.10; 0.00; 12.60; 2.10 -20020909; 945; 0.10; 0.00; 13.90; 2.20 -20020910; 935; 0.10; 0.00; 15.00; 2.30 -20020911; 880; 0.09; 0.00; 15.20; 2.30 -20020912; 830; 0.09; 0.00; 15.20; 2.30 -20020913; 710; 0.07; 0.00; 16.20; 2.40 -20020914; 665; 0.07; 0.00; 17.90; 2.60 -20020915; 610; 0.06; 0.00; 17.50; 2.50 -20020916; 640; 0.07; 0.00; 15.80; 2.30 -20020917; 675; 0.07; 0.00; 14.30; 2.10 -20020918; 590; 0.06; 0.00; 13.30; 2.00 -20020919; 575; 0.06; 0.90; 12.00; 1.80 -20020920; 530; 0.06; 1.90; 12.70; 1.90 -20020921; 640; 0.07; 4.90; 15.30; 2.10 -20020922; 650; 0.07; 1.80; 15.40; 2.10 -20020923; 750; 0.08; 1.90; 12.30; 1.80 -20020924; 760; 0.08; 2.70; 10.80; 1.60 -20020925; 790; 0.08; 0.00; 11.30; 1.60 -20020926; 810; 0.08; 0.00; 13.70; 1.80 -20020927; 880; 0.09; 0.00; 13.00; 1.80 -20020928; 755; 0.08; 0.50; 13.60; 1.80 -20020929; 935; 0.10; 10.70; 15.90; 2.00 -20020930; 1180; 0.12; 5.70; 16.10; 2.00 -20021001; 1310; 0.14; 0.10; 14.10; 1.80 -20021002; 1180; 0.12; 4.60; 14.90; 1.80 -20021003; 1220; 0.13; 5.70; 13.30; 1.60 -20021004; 1470; 0.15; 0.00; 10.50; 1.40 -20021005; 1340; 0.14; 0.00; 12.80; 1.60 -20021006; 1270; 0.13; 1.50; 13.20; 1.60 -20021007; 1240; 0.13; 0.40; 10.50; 1.30 -20021008; 1240; 0.13; 0.00; 8.80; 1.20 -20021009; 1120; 0.12; 0.00; 8.00; 1.10 -20021010; 1050; 0.11; 0.00; 8.50; 1.10 -20021011; 1070; 0.11; 0.00; 11.60; 1.30 -20021012; 1050; 0.11; 0.00; 15.60; 1.60 -20021013; 1010; 0.11; 0.40; 16.40; 1.70 -20021014; 1070; 0.11; 3.40; 15.90; 1.60 -20021015; 1140; 0.12; 3.70; 15.10; 1.50 -20021016; 1190; 0.12; 0.80; 13.70; 1.40 -20021017; 1220; 0.13; 4.50; 14.80; 1.40 -20021018; 1170; 0.12; 0.90; 13.70; 1.40 -20021019; 1220; 0.13; 0.50; 12.70; 1.30 -20021020; 1270; 0.13; 0.10; 11.50; 1.20 -20021021; 1330; 0.14; 8.40; 11.20; 1.10 -20021022; 1310; 0.14; 3.70; 12.50; 1.20 -20021023; 1490; 0.16; 9.00; 13.80; 1.30 -20021024; 1890; 0.20; 7.70; 10.80; 1.00 -20021025; 2900; 0.30; 20.30; 11.30; 1.10 -20021026; 6000; 0.62; 9.60; 9.50; 0.90 -20021027; 5000; 0.52; 29.30; 11.20; 1.00 -20021028; 9200; 0.96; 11.50; 11.90; 1.10 -20021029; 9950; 1.04; 16.40; 9.90; 0.90 -20021030; 10800; 1.12; 3.40; 9.40; 0.90 -20021031; 6650; 0.69; 3.80; 9.50; 0.90 -20021101; 5450; 0.57; 6.40; 8.20; 0.80 -20021102; 5000; 0.52; 4.20; 7.40; 0.70 -20021103; 4490; 0.47; 0.50; 6.50; 0.60 -20021104; 4010; 0.42; 0.50; 5.70; 0.60 -20021105; 3570; 0.37; 0.00; 6.50; 0.60 -20021106; 2980; 0.31; 0.00; 5.10; 0.50 -20021107; 2680; 0.28; 0.00; 5.10; 0.50 -20021108; 2430; 0.25; 5.80; 6.30; 0.60 -20021109; 2750; 0.29; 5.90; 10.60; 0.80 -20021110; 3390; 0.35; 0.40; 11.90; 0.90 -20021111; 4210; 0.44; 5.70; 11.40; 0.80 -20021112; 3880; 0.40; 2.50; 13.10; 0.90 -20021113; 3920; 0.41; 6.30; 12.80; 0.90 -20021114; 4250; 0.44; 1.20; 11.30; 0.80 -20021115; 4750; 0.49; 1.00; 10.80; 0.80 -20021116; 3970; 0.41; 0.60; 12.40; 0.80 -20021117; 3510; 0.37; 1.60; 12.70; 0.80 -20021118; 3390; 0.35; 2.20; 11.00; 0.70 -20021119; 3300; 0.34; 7.80; 9.60; 0.70 -20021120; 4120; 0.43; 2.00; 7.80; 0.60 -20021121; 4500; 0.47; 1.20; 4.40; 0.40 -20021122; 3830; 0.40; 0.90; 3.80; 0.40 -20021123; 3830; 0.40; 16.30; 4.70; 0.40 -20021124; 7100; 0.74; 3.40; 4.80; 0.40 -20021125; 8050; 0.84; 2.90; 3.40; 0.30 -20021126; 6600; 0.69; 9.90; 5.10; 0.40 -20021127; 7100; 0.74; 2.90; 5.20; 0.40 -20021128; 7950; 0.83; 1.10; 4.60; 0.40 -20021129; 6750; 0.70; 0.40; 3.80; 0.30 -20021130; 5600; 0.58; 0.00; 6.60; 0.50 -20021201; 5100; 0.53; 0.00; 5.30; 0.40 -20021202; 4750; 0.49; 0.00; 3.00; 0.30 -20021203; 4390; 0.46; 0.00; 4.30; 0.40 -20021204; 4300; 0.45; 0.00; 6.00; 0.40 -20021205; 4110; 0.43; 0.00; 4.20; 0.30 -20021206; 4010; 0.42; 0.00; 1.60; 0.30 -20021207; 3920; 0.41; 4.70; 1.50; 0.20 -20021208; 4390; 0.46; 6.30; 0.40; 0.20 -20021209; 5650; 0.59; 7.40; -0.50; 0.20 -20021210; 5500; 0.57; 2.60; 4.00; 0.30 -20021211; 7550; 0.79; 0.20; 6.80; 0.40 -20021212; 6850; 0.71; 0.10; 8.10; 0.50 -20021213; 5450; 0.57; 0.00; 4.70; 0.40 -20021214; 4800; 0.50; 0.10; 2.30; 0.30 -20021215; 4600; 0.48; 0.40; 0.80; 0.20 -20021216; 4490; 0.47; 0.20; 2.90; 0.30 -20021217; 4390; 0.46; 0.00; -1.00; 0.10 -20021218; 4110; 0.43; 0.10; -0.70; 0.10 -20021219; 3920; 0.41; 0.00; 1.30; 0.20 -20021220; 3920; 0.41; 0.20; 4.20; 0.30 -20021221; 3920; 0.41; 1.10; 8.80; 0.50 -20021222; 3920; 0.41; 0.10; 8.60; 0.50 -20021223; 3920; 0.41; 6.40; 8.50; 0.50 -20021224; 5000; 0.52; 7.50; 7.10; 0.40 -20021225; 13100; 1.36; 16.60; 7.30; 0.40 -20021226; 23300; 2.43; 19.70; 9.20; 0.50 -20021227; 27000; 2.81; 2.30; 6.50; 0.40 -20021228; 16600; 1.73; 15.20; 8.70; 0.50 -20021229; 24100; 2.51; 9.90; 10.00; 0.50 -20021230; 26800; 2.79; 3.00; 6.40; 0.40 -20021231; 18600; 1.94; 4.90; 6.20; 0.40 -20030101; 14500; 1.51; 26.40; 8.20; 0.50 -20030102; 35200; 3.66; 11.70; 10.80; 0.60 -20030103; 45900; 4.78; 8.90; 8.20; 0.50 -20030104; 38600; 4.02; 13.80; 4.90; 0.40 -20030105; 39000; 4.06; 4.90; 8.50; 0.50 -20030106; 40100; 4.17; 3.20; 7.60; 0.50 -20030107; 30300; 3.15; 8.10; 8.00; 0.50 -20030108; 33300; 3.47; 26.20; 8.30; 0.50 -20030109; 60100; 6.26; 31.50; 9.30; 0.50 -20030110; 83500; 8.69; 7.40; 9.00; 0.50 -20030111; 72200; 7.52; 1.80; 6.90; 0.50 -20030112; 47400; 4.93; 1.60; 4.40; 0.40 -20030113; 37700; 3.92; 0.10; 2.00; 0.30 -20030114; 33000; 3.44; 0.00; 0.70; 0.20 -20030115; 29400; 3.06; 0.40; -0.50; 0.20 -20030116; 27400; 2.85; 20.60; 3.80; 0.40 -20030117; 43000; 4.48; 0.20; 7.80; 0.50 -20030118; 38100; 3.97; 18.60; 7.20; 0.50 -20030119; 47100; 4.90; 0.10; 5.00; 0.40 -20030120; 36500; 3.80; 0.10; 4.30; 0.40 -20030121; 30300; 3.15; 0.00; 4.90; 0.40 -20030122; 28500; 2.97; 0.40; 3.80; 0.40 -20030123; 26800; 2.79; 0.00; 2.10; 0.30 -20030124; 25000; 2.60; 0.00; 1.00; 0.30 -20030125; 23700; 2.47; 0.00; -0.80; 0.20 -20030126; 22300; 2.32; 0.00; 0.00; 0.20 -20030127; 21200; 2.21; 0.00; -0.60; 0.20 -20030128; 20300; 2.11; 0.00; -2.90; 0.10 -20030129; 19700; 2.05; 0.70; -1.90; 0.10 -20030130; 19300; 2.01; 0.30; 2.50; 0.40 -20030131; 18800; 1.96; 0.60; 2.70; 0.40 -20030201; 18300; 1.90; 0.00; 1.60; 0.30 -20030202; 17300; 1.80; 0.00; -0.20; 0.20 -20030203; 16800; 1.75; 0.00; 0.90; 0.30 -20030204; 15900; 1.66; 0.00; 2.50; 0.40 -20030205; 15300; 1.59; 0.00; -0.70; 0.20 -20030206; 14300; 1.49; 0.00; -2.80; 0.10 -20030207; 13900; 1.45; 1.70; -7.40; 0.00 -20030208; 13000; 1.35; 1.40; -4.60; 0.00 -20030209; 12500; 1.30; 4.30; -4.10; 0.10 -20030210; 12500; 1.30; 1.90; -2.70; 0.10 -20030211; 12400; 1.29; 0.80; -0.50; 0.30 -20030212; 12400; 1.29; 7.00; 1.30; 0.40 -20030213; 14800; 1.54; 0.30; 1.20; 0.40 -20030214; 15700; 1.63; 2.00; 1.40; 0.40 -20030215; 16300; 1.70; 7.60; 7.60; 0.80 -20030216; 20700; 2.15; 5.20; 7.70; 0.80 -20030217; 18800; 1.96; 0.60; 2.20; 0.50 -20030218; 15700; 1.63; 0.10; 0.90; 0.40 -20030219; 13300; 1.38; 0.10; 3.30; 0.60 -20030220; 12300; 1.28; 0.60; 3.20; 0.60 -20030221; 12400; 1.29; 6.80; 6.50; 0.80 -20030222; 16400; 1.71; 11.90; 7.60; 0.90 -20030223; 22200; 2.31; 0.60; 9.40; 1.00 -20030224; 17100; 1.78; 0.40; 8.90; 1.00 -20030225; 14100; 1.47; 0.80; 10.30; 1.10 -20030226; 13000; 1.35; 1.40; 8.20; 1.00 -20030227; 12700; 1.32; 1.50; 6.20; 0.90 -20030228; 12500; 1.30; 0.00; 4.90; 0.80 -20030301; 11900; 1.24; 0.00; 4.50; 0.80 -20030302; 11500; 1.20; 2.20; 4.70; 0.80 -20030303; 11500; 1.20; 1.00; 8.00; 1.10 -20030304; 11500; 1.20; 4.40; 9.70; 1.20 -20030305; 13300; 1.38; 3.40; 8.80; 1.20 -20030306; 15500; 1.61; 5.20; 9.40; 1.20 -20030307; 17300; 1.80; 19.00; 9.90; 1.30 -20030308; 31000; 3.23; 16.40; 8.00; 1.10 -20030309; 42000; 4.37; 5.70; 9.40; 1.30 -20030310; 28300; 2.95; 1.60; 10.20; 1.40 -20030311; 23500; 2.45; 5.90; 10.40; 1.40 -20030312; 24700; 2.57; 1.40; 11.40; 1.50 -20030313; 22600; 2.35; 0.20; 11.50; 1.50 -20030314; 20000; 2.08; 0.10; 8.40; 1.30 -20030315; 19800; 2.06; 10.10; 9.50; 1.40 -20030316; 25600; 2.66; 16.90; 9.60; 1.40 -20030317; 37300; 3.88; 2.10; 8.40; 1.30 -20030318; 32000; 3.33; 12.30; 8.20; 1.30 -20030319; 35000; 3.64; 3.80; 11.20; 1.60 -20030320; 34900; 3.63; 3.90; 10.40; 1.60 -20030321; 33300; 3.47; 5.60; 9.30; 1.50 -20030322; 30600; 3.19; 1.00; 7.00; 1.20 -20030323; 26900; 2.80; 0.60; 4.70; 1.00 -20030324; 24800; 2.58; 0.00; 6.10; 1.20 -20030325; 23100; 2.40; 0.00; 6.60; 1.30 -20030326; 22100; 2.30; 0.00; 6.50; 1.30 -20030327; 21100; 2.20; 0.00; 8.10; 1.40 -20030328; 19900; 2.07; 0.00; 8.50; 1.50 -20030329; 18700; 1.95; 0.00; 6.90; 1.30 -20030330; 18100; 1.88; 0.00; 5.70; 1.20 -20030331; 17400; 1.81; 0.00; 7.10; 1.40 -20030401; 17000; 1.77; 0.00; 7.40; 1.50 -20030402; 16500; 1.72; 6.60; 8.30; 1.60 -20030403; 17700; 1.84; 8.80; 7.30; 1.50 -20030404; 22100; 2.30; 13.80; 7.60; 1.50 -20030405; 26200; 2.73; 2.00; 6.20; 1.40 -20030406; 20200; 2.10; 6.70; 7.00; 1.50 -20030407; 21300; 2.22; 0.00; 9.40; 1.80 -20030408; 18300; 1.90; 0.00; 9.80; 1.80 -20030409; 16100; 1.68; 0.00; 9.90; 1.90 -20030410; 15300; 1.59; 0.00; 11.60; 2.10 -20030411; 14600; 1.52; 0.20; 9.70; 1.90 -20030412; 14300; 1.49; 1.70; 8.80; 1.80 -20030413; 14300; 1.49; 0.00; 12.00; 2.20 -20030414; 13600; 1.42; 0.00; 8.10; 1.70 -20030415; 13200; 1.37; 0.00; 11.00; 2.10 -20030416; 12700; 1.32; 0.00; 9.70; 2.00 -20030417; 12100; 1.26; 0.00; 5.30; 1.40 -20030418; 11600; 1.21; 2.10; 4.80; 1.30 -20030419; 11400; 1.19; 2.20; 5.20; 1.40 -20030420; 11600; 1.21; 0.10; 4.10; 1.30 -20030421; 11300; 1.18; 1.30; 4.50; 1.30 -20030422; 11300; 1.18; 0.00; 6.80; 1.60 -20030423; 11000; 1.15; 0.00; 6.50; 1.60 -20030424; 11000; 1.15; 5.70; 6.60; 1.70 -20030425; 11700; 1.22; 1.90; 5.70; 1.50 -20030426; 11600; 1.21; 0.70; 7.20; 1.80 -20030427; 11300; 1.18; 0.00; 8.60; 2.00 -20030428; 10600; 1.10; 0.20; 9.50; 2.10 -20030429; 10500; 1.09; 6.40; 10.10; 2.20 -20030430; 11100; 1.16; 8.70; 10.60; 2.30 -20030501; 12100; 1.26; 2.10; 7.40; 1.80 -20030502; 12200; 1.27; 0.00; 8.70; 2.10 -20030503; 10800; 1.12; 3.80; 8.10; 2.00 -20030504; 10300; 1.07; 1.30; 7.50; 1.90 -20030505; 10500; 1.09; 0.20; 6.70; 1.80 -20030506; 9870; 1.03; 0.80; 8.40; 2.10 -20030507; 9710; 1.01; 5.80; 7.50; 1.90 -20030508; 10700; 1.11; 0.10; 8.10; 2.00 -20030509; 10000; 1.04; 0.00; 9.50; 2.30 -20030510; 9290; 0.97; 0.00; 9.50; 2.30 -20030511; 9010; 0.94; 0.00; 10.40; 2.40 -20030512; 8640; 0.90; 0.10; 13.10; 2.90 -20030513; 8200; 0.85; 0.00; 12.40; 2.80 -20030514; 8080; 0.84; 0.20; 11.20; 2.60 -20030515; 7770; 0.81; 0.00; 10.20; 2.40 -20030516; 7550; 0.79; 0.00; 10.20; 2.50 -20030517; 7340; 0.76; 0.00; 10.10; 2.40 -20030518; 7080; 0.74; 0.00; 10.30; 2.50 -20030519; 6810; 0.71; 0.50; 10.90; 2.60 -20030520; 6550; 0.68; 0.00; 14.00; 3.10 -20030521; 6450; 0.67; 0.00; 15.20; 3.30 -20030522; 6090; 0.63; 0.00; 17.10; 3.60 -20030523; 5710; 0.59; 0.00; 15.60; 3.40 -20030524; 5400; 0.56; 0.00; 14.80; 3.30 -20030525; 5110; 0.53; 0.00; 15.70; 3.40 -20030526; 4890; 0.51; 0.00; 14.80; 3.30 -20030527; 4890; 0.51; 0.00; 14.10; 3.20 -20030528; 4760; 0.50; 0.00; 13.00; 3.00 -20030529; 4490; 0.47; 0.00; 14.00; 3.20 -20030530; 4490; 0.47; 0.00; 14.10; 3.20 -20030531; 4340; 0.45; 0.00; 13.60; 3.10 -20030601; 4230; 0.44; 0.00; 11.50; 2.80 -20030602; 4130; 0.43; 0.00; 11.90; 2.90 -20030603; 4080; 0.42; 0.00; 11.30; 2.80 -20030604; 3970; 0.41; 3.50; 10.80; 2.70 -20030605; 4410; 0.46; 18.60; 11.20; 2.80 -20030606; 6840; 0.71; 16.70; 12.10; 2.90 -20030607; 9250; 0.96; 3.10; 13.60; 3.20 -20030608; 9630; 1.00; 3.00; 11.60; 2.80 -20030609; 7420; 0.77; 2.70; 13.70; 3.20 -20030610; 6410; 0.67; 0.20; 12.90; 3.10 -20030611; 5590; 0.58; 4.50; 12.30; 3.00 -20030612; 5360; 0.56; 1.10; 13.80; 3.30 -20030613; 5410; 0.56; 3.70; 12.60; 3.00 -20030614; 5260; 0.55; 0.40; 13.10; 3.10 -20030615; 5030; 0.52; 1.30; 12.40; 3.00 -20030616; 4930; 0.51; 4.00; 10.70; 2.70 -20030617; 5080; 0.53; 5.40; 10.80; 2.80 -20030618; 5620; 0.59; 2.40; 11.00; 2.80 -20030619; 5570; 0.58; 13.40; 11.60; 2.90 -20030620; 7380; 0.77; 8.60; 13.30; 3.20 -20030621; 11000; 1.15; 12.10; 14.50; 3.40 -20030622; 14700; 1.53; 0.60; 14.20; 3.30 -20030623; 8800; 0.92; 5.60; 14.40; 3.40 -20030624; 7740; 0.81; 4.60; 15.10; 3.50 -20030625; 8300; 0.86; 2.60; 15.50; 3.60 -20030626; 7470; 0.78; 6.30; 13.50; 3.20 -20030627; 7180; 0.75; 1.00; 12.90; 3.10 -20030628; 7330; 0.76; 0.00; 13.40; 3.20 -20030629; 6560; 0.68; 0.00; 13.30; 3.20 -20030630; 5920; 0.62; 0.10; 15.80; 3.60 -20030701; 5580; 0.58; 0.50; 15.20; 3.50 -20030702; 5180; 0.54; 1.70; 13.80; 3.30 -20030703; 5200; 0.54; 2.30; 15.40; 3.50 -20030704; 5250; 0.55; 8.30; 20.50; 4.40 -20030705; 5720; 0.60; 33.30; 17.20; 3.80 -20030706; 16700; 1.74; 39.80; 14.70; 3.40 -20030707; 37700; 3.92; 13.70; 15.40; 3.50 -20030708; 48100; 5.01; 4.50; 15.50; 3.50 -20030709; 34400; 3.58; 0.00; 15.90; 3.60 -20030710; 21200; 2.21; 0.00; 19.50; 4.20 -20030711; 17800; 1.85; 0.60; 15.20; 3.40 -20030712; 16300; 1.70; 0.40; 15.20; 3.40 -20030713; 14800; 1.54; 4.60; 15.20; 3.40 -20030714; 14800; 1.54; 0.50; 14.70; 3.30 -20030715; 13600; 1.42; 0.20; 15.30; 3.40 -20030716; 12300; 1.28; 0.00; 15.20; 3.40 -20030717; 11500; 1.20; 0.10; 15.90; 3.50 -20030718; 10900; 1.13; 3.30; 15.30; 3.40 -20030719; 11000; 1.15; 0.00; 14.60; 3.30 -20030720; 10500; 1.09; 0.00; 15.20; 3.40 -20030721; 9690; 1.01; 0.00; 16.10; 3.50 -20030722; 8880; 0.92; 0.10; 19.50; 4.00 -20030723; 8160; 0.85; 2.10; 16.60; 3.60 -20030724; 7990; 0.83; 3.50; 14.40; 3.20 -20030725; 7920; 0.82; 1.00; 15.10; 3.30 -20030726; 8090; 0.84; 0.00; 17.30; 3.60 -20030727; 7570; 0.79; 0.00; 17.20; 3.60 -20030728; 7100; 0.74; 0.20; 20.70; 4.10 -20030729; 6600; 0.69; 3.60; 18.50; 3.80 -20030730; 6390; 0.67; 8.50; 16.10; 3.40 -20030731; 7080; 0.74; 0.70; 17.00; 3.50 -20030801; 6910; 0.72; 0.00; 17.00; 3.50 -20030802; 6410; 0.67; 1.10; 17.20; 3.50 -20030803; 6110; 0.64; 0.00; 19.00; 3.80 -20030804; 5850; 0.61; 0.00; 19.30; 3.80 -20030805; 5590; 0.58; 0.00; 18.30; 3.60 -20030806; 5530; 0.58; 0.40; 17.00; 3.40 -20030807; 5380; 0.56; 1.50; 15.70; 3.20 -20030808; 5270; 0.55; 0.00; 16.00; 3.20 -20030809; 4890; 0.51; 0.00; 17.10; 3.40 -20030810; 4580; 0.48; 0.00; 18.80; 3.60 -20030811; 4400; 0.46; 0.00; 17.40; 3.30 -20030812; 4170; 0.43; 0.00; 17.20; 3.30 -20030813; 4420; 0.46; 0.00; 18.50; 3.50 -20030814; 4190; 0.44; 0.00; 18.40; 3.40 -20030815; 4020; 0.42; 0.10; 17.40; 3.30 -20030816; 3790; 0.39; 0.20; 16.60; 3.10 -20030817; 3790; 0.39; 0.00; 15.70; 3.00 -20030818; 3900; 0.41; 0.00; 15.40; 2.90 -20030819; 3580; 0.37; 0.00; 15.60; 2.90 -20030820; 3330; 0.35; 0.00; 17.10; 3.10 -20030821; 3180; 0.33; 0.40; 18.50; 3.30 -20030822; 3180; 0.33; 9.80; 16.20; 2.90 -20030823; 3380; 0.35; 1.30; 15.80; 2.90 -20030824; 3610; 0.38; 0.00; 16.80; 3.00 -20030825; 3610; 0.38; 0.00; 18.90; 3.30 -20030826; 3330; 0.35; 0.00; 19.60; 3.30 -20030827; 3090; 0.32; 0.00; 19.80; 3.30 -20030828; 2790; 0.29; 0.00; 19.40; 3.20 -20030829; 2590; 0.27; 0.00; 18.50; 3.10 -20030830; 2590; 0.27; 0.20; 20.10; 3.30 -20030831; 2420; 0.25; 0.00; 18.00; 3.00 -20030901; 2460; 0.26; 0.00; 17.40; 2.90 -20030902; 2590; 0.27; 0.30; 17.60; 2.90 -20030903; 2690; 0.28; 0.10; 19.10; 3.00 -20030904; 2560; 0.27; 0.00; 22.00; 3.40 -20030905; 2420; 0.25; 0.00; 20.70; 3.20 -20030906; 2160; 0.22; 0.00; 18.30; 2.80 -20030907; 2040; 0.21; 0.00; 14.80; 2.40 -20030908; 2080; 0.22; 0.00; 15.30; 2.50 -20030909; 2080; 0.22; 0.10; 16.80; 2.60 -20030910; 2120; 0.22; 0.00; 17.80; 2.70 -20030911; 2240; 0.23; 0.00; 17.90; 2.70 -20030912; 1830; 0.19; 0.50; 18.20; 2.70 -20030913; 2270; 0.24; 0.10; 18.00; 2.60 -20030914; 2320; 0.24; 0.20; 18.00; 2.60 -20030915; 2290; 0.24; 0.60; 18.00; 2.60 -20030916; 2250; 0.23; 1.40; 17.60; 2.50 -20030917; 2240; 0.23; 0.30; 15.20; 2.20 -20030918; 2100; 0.22; 0.60; 15.80; 2.20 -20030919; 2140; 0.22; 0.00; 13.90; 2.00 -20030920; 2140; 0.22; 0.00; 16.10; 2.20 -20030921; 2100; 0.22; 1.30; 18.10; 2.40 -20030922; 2030; 0.21; 1.80; 15.60; 2.10 -20030923; 2100; 0.22; 2.40; 16.00; 2.10 -20030924; 2170; 0.23; 10.20; 17.20; 2.20 -20030925; 2420; 0.25; 2.10; 13.20; 1.80 -20030926; 2650; 0.28; 1.20; 10.60; 1.50 -20030927; 2480; 0.26; 27.50; 10.30; 1.50 -20030928; 4630; 0.48; 6.70; 12.60; 1.70 -20030929; 8940; 0.93; 3.60; 12.70; 1.70 -20030930; 4880; 0.51; 3.10; 12.10; 1.60 -20031001; 4050; 0.42; 0.00; 12.80; 1.60 -20031002; 3440; 0.36; 0.00; 11.60; 1.50 -20031003; 3030; 0.32; 1.30; 12.40; 1.50 -20031004; 2880; 0.30; 0.90; 12.40; 1.60 -20031005; 2880; 0.30; 1.90; 10.30; 1.30 -20031006; 2780; 0.29; 0.00; 9.00; 1.20 -20031007; 2590; 0.27; 4.50; 10.80; 1.30 -20031008; 2780; 0.29; 1.70; 9.30; 1.20 -20031009; 2780; 0.29; 3.20; 9.60; 1.20 -20031010; 2780; 0.29; 24.80; 12.90; 1.40 -20031011; 11500; 1.20; 5.10; 14.10; 1.50 -20031012; 9880; 1.03; 23.00; 12.60; 1.40 -20031013; 17300; 1.80; 20.60; 12.50; 1.40 -20031014; 27800; 2.89; 12.00; 12.50; 1.30 -20031015; 16300; 1.70; 0.50; 12.90; 1.40 -20031016; 11000; 1.15; 4.10; 11.60; 1.20 -20031017; 8950; 0.93; 1.30; 10.00; 1.10 -20031018; 7450; 0.78; 1.70; 7.60; 0.90 -20031019; 6450; 0.67; 0.30; 5.70; 0.70 -20031020; 5780; 0.60; 1.50; 6.00; 0.80 -20031021; 5430; 0.57; 2.60; 7.50; 0.80 -20031022; 5940; 0.62; 0.00; 6.80; 0.80 -20031023; 5780; 0.60; 0.00; 7.70; 0.80 -20031024; 5380; 0.56; 0.00; 9.20; 0.90 -20031025; 5380; 0.56; 0.00; 8.90; 0.90 -20031026; 5230; 0.54; 0.50; 7.70; 0.80 -20031027; 5230; 0.54; 8.00; 7.90; 0.80 -20031028; 6100; 0.63; 0.40; 9.80; 0.90 -20031029; 6790; 0.71; 22.00; 10.10; 0.90 -20031030; 17300; 1.80; 0.90; 9.40; 0.90 -20031031; 12000; 1.25; 10.00; 13.30; 1.10 -20031101; 11500; 1.20; 7.20; 13.00; 1.10 -20031102; 15700; 1.63; 6.70; 11.60; 1.00 -20031103; 12500; 1.30; 12.70; 9.80; 0.80 -20031104; 16800; 1.75; 3.10; 7.70; 0.70 -20031105; 16800; 1.75; 3.00; 5.50; 0.60 -20031106; 13600; 1.42; 0.70; 6.50; 0.60 -20031107; 11500; 1.20; 0.80; 10.10; 0.80 -20031108; 10900; 1.13; 3.20; 10.50; 0.80 -20031109; 10800; 1.12; 0.80; 6.30; 0.60 -20031110; 10600; 1.10; 3.60; 6.60; 0.60 -20031111; 10800; 1.12; 15.60; 8.80; 0.70 -20031112; 20700; 2.15; 16.20; 6.20; 0.60 -20031113; 27300; 2.84; 7.90; 5.90; 0.50 -20031114; 22200; 2.31; 1.40; 6.40; 0.50 -20031115; 18400; 1.92; 1.60; 5.50; 0.50 -20031116; 15900; 1.66; 1.60; 5.90; 0.50 -20031117; 17200; 1.79; 7.70; 7.10; 0.60 -20031118; 17800; 1.85; 8.00; 9.20; 0.60 -20031119; 18700; 1.95; 6.10; 7.10; 0.50 -20031120; 20400; 2.12; 0.30; 5.80; 0.50 -20031121; 16700; 1.74; 0.10; 4.90; 0.40 -20031122; 16800; 1.75; 0.10; 6.20; 0.50 -20031123; 15500; 1.61; 0.20; 7.90; 0.60 -20031124; 15100; 1.57; 2.10; 5.90; 0.40 -20031125; 15900; 1.66; 7.90; 8.30; 0.60 -20031126; 18900; 1.97; 0.30; 8.80; 0.60 -20031127; 16000; 1.67; 0.20; 7.10; 0.50 -20031128; 16400; 1.71; 0.10; 8.00; 0.50 -20031129; 15400; 1.60; 0.00; 8.00; 0.50 -20031130; 15100; 1.57; 3.30; 8.80; 0.50 -20031201; 15200; 1.58; 0.10; 7.90; 0.50 -20031202; 14500; 1.51; 0.00; 6.50; 0.40 -20031203; 13700; 1.43; 0.00; 2.30; 0.30 -20031204; 12900; 1.34; 0.00; 1.30; 0.20 -20031205; 12500; 1.30; 0.00; 0.60; 0.20 -20031206; 12400; 1.29; 0.00; 2.20; 0.30 -20031207; 11900; 1.24; 0.00; 1.30; 0.20 -20031208; 11500; 1.20; 0.00; 1.20; 0.20 -20031209; 11200; 1.17; 0.00; 0.60; 0.20 -20031210; 10900; 1.13; 0.00; -1.40; 0.10 -20031211; 10300; 1.07; 0.00; -1.80; 0.10 -20031212; 10300; 1.07; 0.00; -0.30; 0.20 -20031213; 10200; 1.06; 0.00; 0.70; 0.20 -20031214; 10200; 1.06; 0.00; 1.80; 0.20 -20031215; 10200; 1.06; 1.10; 4.90; 0.30 -20031216; 10200; 1.06; 1.20; 9.90; 0.50 -20031217; 10000; 1.04; 3.00; 9.80; 0.50 -20031218; 10100; 1.05; 1.30; 9.00; 0.50 -20031219; 10700; 1.11; 15.70; 9.50; 0.50 -20031220; 17600; 1.83; 4.50; 6.90; 0.40 -20031221; 16100; 1.68; 2.80; 10.50; 0.50 -20031222; 16000; 1.67; 0.40; 11.00; 0.60 -20031223; 13800; 1.44; 0.20; 9.20; 0.50 -20031224; 12000; 1.25; 0.00; 6.20; 0.40 -20031225; 10900; 1.13; 0.00; 2.50; 0.30 -20031226; 10100; 1.05; 0.40; 2.70; 0.30 -20031227; 9980; 1.04; 0.00; 6.30; 0.40 -20031228; 9920; 1.03; 0.00; 1.50; 0.20 -20031229; 9690; 1.01; 0.00; 2.00; 0.30 -20031230; 9360; 0.97; 0.10; 2.00; 0.30 -20031231; 9290; 0.97; 0.00; 0.40; 0.20 -20040101; 8850; 0.92; 0.00; 4.40; 0.30 -20040102; 8850; 0.92; 0.00; 5.20; 0.40 -20040103; 8800; 0.92; 0.00; 8.50; 0.50 -20040104; 9000; 0.94; 0.00; 10.60; 0.60 -20040105; 9000; 0.94; 0.00; 9.40; 0.50 -20040106; 8700; 0.91; 0.00; 5.90; 0.40 -20040107; 8550; 0.89; 3.80; 6.40; 0.40 -20040108; 9800; 1.02; 15.50; 10.10; 0.60 -20040109; 14200; 1.48; 4.00; 6.30; 0.40 -20040110; 13000; 1.35; 1.00; 5.40; 0.40 -20040111; 10600; 1.10; 0.00; 4.50; 0.40 -20040112; 9500; 0.99; 0.00; 4.00; 0.40 -20040113; 8700; 0.91; 0.00; 3.30; 0.30 -20040114; 8150; 0.85; 0.00; 2.40; 0.30 -20040115; 7950; 0.83; 0.00; 1.40; 0.30 -20040116; 7850; 0.82; 0.00; 2.90; 0.30 -20040117; 7800; 0.81; 0.00; 5.10; 0.40 -20040118; 7700; 0.80; 0.00; 3.70; 0.40 -20040119; 7600; 0.79; 0.00; 3.50; 0.40 -20040120; 7500; 0.78; 0.10; 5.60; 0.50 -20040121; 7500; 0.78; 0.00; 2.00; 0.30 -20040122; 7250; 0.75; 0.00; -2.60; 0.10 -20040123; 7150; 0.74; 0.00; -3.10; 0.10 -20040124; 7000; 0.73; 0.00; -2.10; 0.10 -20040125; 6850; 0.71; 4.60; 2.10; 0.30 -20040126; 7300; 0.76; 0.10; 4.80; 0.40 -20040127; 7800; 0.81; 0.30; 3.30; 0.40 -20040128; 7600; 0.79; 0.00; -0.10; 0.20 -20040129; 7250; 0.75; 0.00; -1.70; 0.20 -20040130; 7150; 0.74; 0.00; 2.90; 0.40 -20040131; 7000; 0.73; 0.00; 4.20; 0.50 -20040201; 6950; 0.72; 0.00; 4.10; 0.50 -20040202; 6950; 0.72; 0.00; 3.80; 0.50 -20040203; 6650; 0.69; 0.00; 5.50; 0.50 -20040204; 6700; 0.70; 0.00; 8.40; 0.70 -20040205; 6600; 0.69; 0.00; 7.70; 0.70 -20040206; 6550; 0.68; 0.00; 5.70; 0.60 -20040207; 6550; 0.68; 0.00; 2.80; 0.40 -20040208; 6550; 0.68; 5.50; 4.70; 0.50 -20040209; 7250; 0.75; 4.70; 6.90; 0.70 -20040210; 8600; 0.90; 28.10; 7.30; 0.70 -20040211; 24100; 2.51; 9.80; 10.60; 0.90 -20040212; 26700; 2.78; 13.40; 9.20; 0.90 -20040213; 32300; 3.36; 3.90; 5.70; 0.60 -20040214; 21700; 2.26; 18.60; 8.80; 0.90 -20040215; 35100; 3.65; 0.60; 7.90; 0.80 -20040216; 22700; 2.36; 1.30; 4.50; 0.60 -20040217; 17900; 1.86; 0.10; 3.40; 0.50 -20040218; 16200; 1.69; 0.00; 1.50; 0.40 -20040219; 14900; 1.55; 0.00; -1.60; 0.20 -20040220; 14100; 1.47; 0.00; -1.20; 0.30 -20040221; 13600; 1.42; 0.00; 0.50; 0.40 -20040222; 13300; 1.38; 0.00; 2.40; 0.50 -20040223; 13100; 1.36; 0.00; 5.80; 0.80 -20040224; 12700; 1.32; 0.00; 5.80; 0.80 -20040225; 12400; 1.29; 0.10; 5.10; 0.80 -20040226; 11900; 1.24; 0.00; 9.00; 1.10 -20040227; 11700; 1.22; 0.30; 8.60; 1.00 -20040228; 11500; 1.20; 0.20; 8.70; 1.10 -20040229; 11400; 1.19; 0.10; 6.80; 0.90 -20040301; 11300; 1.18; 2.60; 8.00; 1.00 -20040302; 11300; 1.18; 0.00; 5.70; 0.80 -20040303; 10800; 1.12; 0.00; 5.40; 0.80 -20040304; 10300; 1.07; 0.00; 7.30; 1.00 -20040305; 10000; 1.04; 0.50; 7.60; 1.10 -20040306; 9800; 1.02; 1.50; 6.20; 0.90 -20040307; 9600; 1.00; 1.40; 9.10; 1.20 -20040308; 9800; 1.02; 0.00; 6.70; 1.00 -20040309; 9400; 0.98; 0.00; 4.40; 0.80 -20040310; 9150; 0.95; 2.00; 5.90; 1.00 -20040311; 9150; 0.95; 0.70; 6.20; 1.00 -20040312; 9050; 0.94; 1.70; 9.00; 1.30 -20040313; 9600; 1.00; 1.80; 9.60; 1.40 -20040314; 9700; 1.01; 1.90; 9.70; 1.40 -20040315; 9950; 1.04; 0.00; 10.40; 1.50 -20040316; 9650; 1.00; 0.00; 9.10; 1.40 -20040317; 9200; 0.96; 0.00; 9.60; 1.40 -20040318; 8950; 0.93; 0.50; 10.50; 1.50 -20040319; 8950; 0.93; 0.10; 10.00; 1.50 -20040320; 8750; 0.91; 0.20; 10.90; 1.60 -20040321; 8650; 0.90; 0.50; 10.10; 1.50 -20040322; 8450; 0.88; 2.50; 10.20; 1.60 -20040323; 8750; 0.91; 7.20; 6.20; 1.20 -20040324; 10200; 1.06; 3.70; 5.60; 1.10 -20040325; 10900; 1.13; 4.60; 6.20; 1.20 -20040326; 10600; 1.10; 5.20; 5.50; 1.20 -20040327; 11800; 1.23; 0.30; 5.40; 1.20 -20040328; 11000; 1.15; 5.40; 5.80; 1.20 -20040329; 10900; 1.13; 9.90; 6.20; 1.30 -20040330; 16100; 1.68; 8.40; 4.60; 1.10 -20040331; 19400; 2.02; 3.40; 4.20; 1.10 -20040401; 12400; 1.29; 7.30; 5.70; 1.20 -20040402; 12200; 1.27; 0.20; 6.60; 1.40 -20040403; 11600; 1.21; 0.00; 6.00; 1.30 -20040404; 9600; 1.00; 0.00; 5.10; 1.20 -20040405; 8600; 0.90; 0.00; 5.70; 1.30 -20040406; 8450; 0.88; 11.40; 7.10; 1.50 -20040407; 11800; 1.23; 6.60; 8.00; 1.60 -20040408; 13700; 1.43; 0.80; 8.50; 1.70 -20040409; 12000; 1.25; 0.00; 10.10; 1.90 -20040410; 10100; 1.05; 0.00; 9.90; 1.90 -20040411; 9200; 0.96; 0.60; 10.00; 1.90 -20040412; 8800; 0.92; 0.90; 8.00; 1.70 -20040413; 8550; 0.89; 0.10; 7.10; 1.60 -20040414; 8300; 0.86; 8.40; 6.70; 1.60 -20040415; 9250; 0.96; 1.80; 6.90; 1.60 -20040416; 10500; 1.09; 0.30; 6.20; 1.50 -20040417; 9500; 0.99; 0.30; 9.40; 1.90 -20040418; 9150; 0.95; 0.00; 10.90; 2.20 -20040419; 8750; 0.91; 0.00; 10.60; 2.10 -20040420; 8450; 0.88; 0.00; 11.90; 2.30 -20040421; 8250; 0.86; 0.00; 10.60; 2.20 -20040422; 8000; 0.83; 3.80; 8.80; 1.90 -20040423; 8500; 0.88; 0.00; 10.00; 2.10 -20040424; 8800; 0.92; 13.60; 10.80; 2.30 -20040425; 11700; 1.22; 2.50; 11.40; 2.40 -20040426; 12600; 1.31; 10.80; 11.20; 2.30 -20040427; 18100; 1.88; 8.80; 10.70; 2.30 -20040428; 17200; 1.79; 4.20; 8.00; 1.90 -20040429; 17100; 1.78; 1.50; 7.90; 1.90 -20040430; 14200; 1.48; 4.50; 10.60; 2.30 -20040501; 12800; 1.33; 0.70; 9.70; 2.20 -20040502; 12300; 1.28; 1.40; 7.90; 1.90 -20040503; 11400; 1.19; 0.00; 9.80; 2.30 -20040504; 10100; 1.05; 0.00; 10.40; 2.40 -20040505; 9400; 0.98; 0.10; 9.70; 2.20 -20040506; 9050; 0.94; 0.00; 11.70; 2.60 -20040507; 8650; 0.90; 0.20; 11.10; 2.50 -20040508; 8450; 0.88; 0.20; 10.80; 2.50 -20040509; 8150; 0.85; 2.90; 10.10; 2.40 -20040510; 8850; 0.92; 9.70; 9.20; 2.20 -20040511; 10500; 1.09; 0.00; 9.60; 2.30 -20040512; 10300; 1.07; 0.00; 11.90; 2.70 -20040513; 8900; 0.93; 0.00; 17.60; 3.60 -20040514; 8000; 0.83; 0.90; 15.90; 3.40 -20040515; 7300; 0.76; 0.00; 14.70; 3.20 -20040516; 6850; 0.71; 0.00; 19.60; 4.00 -20040517; 6450; 0.67; 0.00; 17.80; 3.70 -20040518; 5850; 0.61; 0.00; 16.90; 3.60 -20040519; 5650; 0.59; 0.00; 17.70; 3.70 -20040520; 5150; 0.54; 0.00; 18.10; 3.80 -20040521; 4900; 0.51; 0.00; 18.80; 3.90 -20040522; 4590; 0.48; 0.00; 17.80; 3.80 -20040523; 4290; 0.45; 0.30; 16.70; 3.60 -20040524; 4260; 0.44; 0.40; 16.50; 3.60 -20040525; 3980; 0.41; 0.00; 16.00; 3.50 -20040526; 3960; 0.41; 0.20; 18.90; 4.00 -20040527; 4180; 0.44; 4.80; 18.30; 3.90 -20040528; 4210; 0.44; 5.30; 14.70; 3.30 -20040529; 4830; 0.50; 9.70; 13.60; 3.10 -20040530; 5700; 0.59; 0.30; 13.40; 3.10 -20040531; 5950; 0.62; 13.40; 14.90; 3.40 -20040601; 7050; 0.73; 10.20; 13.50; 3.10 -20040602; 11700; 1.22; 1.10; 13.40; 3.10 -20040603; 9100; 0.95; 0.30; 11.40; 2.80 -20040604; 6250; 0.65; 0.10; 11.70; 2.80 -20040605; 5100; 0.53; 1.80; 12.00; 2.90 -20040606; 4650; 0.48; 0.40; 12.50; 3.00 -20040607; 4650; 0.48; 1.30; 14.30; 3.30 -20040608; 4400; 0.46; 1.20; 14.10; 3.30 -20040609; 4210; 0.44; 7.20; 13.50; 3.20 -20040610; 4870; 0.51; 0.00; 12.90; 3.10 -20040611; 4800; 0.50; 0.00; 13.70; 3.20 -20040612; 4330; 0.45; 0.00; 15.90; 3.60 -20040613; 3840; 0.40; 0.00; 17.40; 3.90 -20040614; 3520; 0.37; 0.00; 18.80; 4.10 -20040615; 3180; 0.33; 0.00; 19.60; 4.30 -20040616; 2960; 0.31; 0.00; 16.70; 3.80 -20040617; 2760; 0.29; 0.00; 15.00; 3.50 -20040618; 2670; 0.28; 0.00; 14.20; 3.40 -20040619; 2540; 0.26; 0.70; 13.00; 3.10 -20040620; 2590; 0.27; 5.80; 12.70; 3.10 -20040621; 2850; 0.30; 0.40; 13.00; 3.10 -20040622; 2860; 0.30; 0.00; 15.70; 3.60 -20040623; 2810; 0.29; 0.00; 16.00; 3.70 -20040624; 2490; 0.26; 0.00; 15.80; 3.60 -20040625; 2290; 0.24; 0.00; 16.00; 3.70 -20040626; 2140; 0.22; 0.00; 16.40; 3.70 -20040627; 2110; 0.22; 0.00; 19.10; 4.20 -20040628; 2110; 0.22; 0.00; 21.30; 4.60 -20040629; 1940; 0.20; 7.50; 17.90; 4.00 -20040630; 2240; 0.23; 12.10; 14.80; 3.40 -20040701; 2840; 0.30; 2.10; 16.50; 3.70 -20040702; 3020; 0.31; 1.30; 16.10; 3.60 -20040703; 2690; 0.28; 12.40; 15.00; 3.50 -20040704; 3050; 0.32; 3.80; 15.40; 3.50 -20040705; 5600; 0.58; 0.20; 14.00; 3.30 -20040706; 3990; 0.42; 0.00; 16.40; 3.70 -20040707; 3350; 0.35; 0.10; 16.70; 3.70 -20040708; 2870; 0.30; 0.00; 16.90; 3.80 -20040709; 2670; 0.28; 1.30; 16.40; 3.70 -20040710; 2580; 0.27; 2.10; 14.90; 3.40 -20040711; 2610; 0.27; 2.40; 14.80; 3.40 -20040712; 2810; 0.29; 1.20; 15.10; 3.40 -20040713; 2710; 0.28; 0.10; 16.50; 3.60 -20040714; 2610; 0.27; 0.00; 16.80; 3.70 -20040715; 2560; 0.27; 0.00; 17.80; 3.80 -20040716; 2420; 0.25; 3.60; 17.40; 3.80 -20040717; 2350; 0.24; 1.40; 18.20; 3.90 -20040718; 2350; 0.24; 0.10; 17.00; 3.70 -20040719; 2350; 0.24; 0.30; 18.10; 3.80 -20040720; 2270; 0.24; 5.00; 19.30; 4.00 -20040721; 2420; 0.25; 0.00; 16.20; 3.50 -20040722; 2290; 0.24; 0.00; 15.20; 3.30 -20040723; 2090; 0.22; 0.10; 17.90; 3.80 -20040724; 1960; 0.20; 0.00; 17.10; 3.60 -20040725; 1790; 0.19; 0.00; 15.80; 3.40 -20040726; 1680; 0.17; 0.70; 16.60; 3.50 -20040727; 1590; 0.17; 0.30; 16.70; 3.50 -20040728; 1430; 0.15; 0.00; 17.10; 3.50 -20040729; 1390; 0.14; 0.00; 20.20; 4.00 -20040730; 1310; 0.14; 0.00; 20.90; 4.10 -20040731; 1230; 0.13; 0.10; 19.50; 3.90 -20040801; 1160; 0.12; 1.10; 17.30; 3.50 -20040802; 1200; 0.12; 0.80; 17.80; 3.60 -20040803; 1280; 0.13; 0.50; 17.30; 3.50 -20040804; 1230; 0.13; 0.00; 15.60; 3.20 -20040805; 1190; 0.12; 0.00; 16.80; 3.40 -20040806; 1150; 0.12; 0.00; 18.50; 3.60 -20040807; 1090; 0.11; 2.80; 20.20; 3.90 -20040808; 1200; 0.12; 4.30; 19.00; 3.70 -20040809; 1280; 0.13; 0.30; 16.70; 3.30 -20040810; 1440; 0.15; 0.20; 15.20; 3.10 -20040811; 1430; 0.15; 1.30; 15.00; 3.00 -20040812; 1460; 0.15; 1.00; 16.10; 3.10 -20040813; 1270; 0.13; 5.80; 16.80; 3.20 -20040814; 1270; 0.13; 0.40; 17.30; 3.30 -20040815; 1360; 0.14; 0.50; 16.30; 3.10 -20040816; 1310; 0.14; 9.40; 15.70; 3.00 -20040817; 1630; 0.17; 3.90; 15.20; 2.90 -20040818; 1950; 0.20; 0.00; 17.40; 3.20 -20040819; 1750; 0.18; 7.10; 17.20; 3.20 -20040820; 1960; 0.20; 1.00; 16.30; 3.00 -20040821; 1940; 0.20; 1.70; 15.60; 2.90 -20040822; 2210; 0.23; 13.30; 15.30; 2.80 -20040823; 3040; 0.32; 15.10; 14.30; 2.60 -20040824; 3830; 0.40; 2.90; 17.80; 3.10 -20040825; 4600; 0.48; 3.00; 17.70; 3.10 -20040826; 3610; 0.38; 0.50; 17.40; 3.00 -20040827; 3040; 0.32; 3.50; 17.70; 3.00 -20040828; 2510; 0.26; 0.60; 15.10; 2.70 -20040829; 2360; 0.25; 20.00; 12.60; 2.30 -20040830; 4540; 0.47; 5.90; 13.40; 2.40 -20040831; 5550; 0.58; 3.30; 11.20; 2.10 -20040901; 5400; 0.56; 19.80; 12.90; 2.30 -20040902; 10200; 1.06; 15.70; 15.30; 2.60 -20040903; 15800; 1.64; 1.60; 13.00; 2.30 -20040904; 8100; 0.84; 0.00; 11.60; 2.10 -20040905; 5400; 0.56; 2.70; 10.90; 2.00 -20040906; 4480; 0.47; 3.50; 15.30; 2.50 -20040907; 3940; 0.41; 0.90; 13.00; 2.20 -20040908; 3540; 0.37; 0.20; 11.00; 1.90 -20040909; 3150; 0.33; 0.20; 10.90; 1.90 -20040910; 2990; 0.31; 1.60; 13.40; 2.20 -20040911; 2940; 0.31; 0.00; 12.80; 2.10 -20040912; 2770; 0.29; 0.00; 11.10; 1.80 -20040913; 2400; 0.25; 0.50; 12.60; 2.00 -20040914; 2400; 0.25; 0.70; 14.20; 2.20 -20040915; 2460; 0.26; 0.00; 13.90; 2.10 -20040916; 2410; 0.25; 0.00; 16.10; 2.30 -20040917; 2300; 0.24; 4.70; 15.90; 2.30 -20040918; 2250; 0.23; 0.50; 13.20; 2.00 -20040919; 2410; 0.25; 0.10; 14.20; 2.00 -20040920; 2460; 0.26; 1.00; 14.20; 2.00 -20040921; 2820; 0.29; 13.70; 11.50; 1.70 -20040922; 3830; 0.40; 3.40; 10.50; 1.60 -20040923; 3720; 0.39; 11.10; 12.10; 1.70 -20040924; 4420; 0.46; 22.70; 13.20; 1.80 -20040925; 13700; 1.43; 10.20; 11.40; 1.60 -20040926; 15100; 1.57; 12.50; 15.20; 2.00 -20040927; 13100; 1.36; 14.50; 16.30; 2.10 -20040928; 16700; 1.74; 2.10; 14.10; 1.80 -20040929; 16900; 1.76; 10.20; 13.40; 1.70 -20040930; 14100; 1.47; 0.40; 13.00; 1.70 -20041001; 10200; 1.06; 6.10; 12.10; 1.60 -20041002; 9700; 1.01; 1.70; 12.40; 1.60 -20041003; 8800; 0.92; 2.90; 10.90; 1.40 -20041004; 7850; 0.82; 0.00; 12.60; 1.50 -20041005; 7200; 0.75; 1.10; 12.10; 1.50 -20041006; 6600; 0.69; 0.90; 10.80; 1.40 -20041007; 6350; 0.66; 0.40; 11.40; 1.40 -20041008; 6150; 0.64; 0.00; 12.50; 1.50 -20041009; 5950; 0.62; 0.50; 11.90; 1.40 -20041010; 5750; 0.60; 0.50; 10.00; 1.20 -20041011; 5350; 0.56; 0.20; 9.10; 1.10 -20041012; 5200; 0.54; 0.10; 10.60; 1.20 -20041013; 4970; 0.52; 0.00; 10.00; 1.20 -20041014; 4840; 0.50; 1.50; 8.40; 1.00 -20041015; 4840; 0.50; 0.30; 7.80; 1.00 -20041016; 4970; 0.52; 0.10; 4.60; 0.70 -20041017; 4930; 0.51; 1.10; 4.10; 0.60 -20041018; 5050; 0.53; 11.00; 6.30; 0.80 -20041019; 6300; 0.66; 11.20; 8.40; 1.00 -20041020; 11000; 1.15; 1.40; 6.60; 0.80 -20041021; 8000; 0.83; 3.40; 7.10; 0.80 -20041022; 6800; 0.71; 2.20; 7.80; 0.90 -20041023; 6600; 0.69; 2.90; 8.60; 0.90 -20041024; 6400; 0.67; 6.60; 9.10; 0.90 -20041025; 7450; 0.78; 4.00; 10.90; 1.00 -20041026; 10500; 1.09; 11.20; 7.40; 0.80 -20041027; 13600; 1.42; 8.30; 9.00; 0.90 -20041028; 13800; 1.44; 4.10; 7.60; 0.80 -20041029; 12800; 1.33; 0.00; 8.50; 0.80 -20041030; 9750; 1.01; 0.00; 6.40; 0.70 -20041031; 8250; 0.86; 0.00; 5.40; 0.60 -20041101; 7650; 0.80; 7.70; 7.30; 0.70 -20041102; 11000; 1.15; 14.70; 11.30; 0.90 -20041103; 21300; 2.22; 8.90; 11.00; 0.90 -20041104; 21500; 2.24; 0.40; 12.30; 1.00 -20041105; 14300; 1.49; 0.20; 12.50; 1.00 -20041106; 11800; 1.23; 0.20; 12.20; 0.90 -20041107; 10900; 1.13; 0.10; 9.00; 0.70 -20041108; 10700; 1.11; 0.50; 9.30; 0.80 -20041109; 10500; 1.09; 7.20; 10.30; 0.80 -20041110; 12200; 1.27; 15.00; 10.30; 0.80 -20041111; 20600; 2.14; 1.30; 10.00; 0.80 -20041112; 18800; 1.96; 13.40; 7.60; 0.60 -20041113; 20300; 2.11; 8.20; 6.50; 0.60 -20041114; 24100; 2.51; 7.90; 11.00; 0.80 -20041115; 26000; 2.71; 2.50; 8.70; 0.70 -20041116; 23800; 2.48; 8.60; 6.60; 0.50 -20041117; 24000; 2.50; 2.60; 6.20; 0.50 -20041118; 21400; 2.23; 6.40; 10.20; 0.70 -20041119; 23600; 2.46; 1.30; 9.10; 0.60 -20041120; 21400; 2.23; 22.60; 9.70; 0.70 -20041121; 37100; 3.86; 5.80; 12.70; 0.80 -20041122; 42500; 4.42; 0.60; 12.00; 0.70 -20041123; 30800; 3.21; 3.00; 12.30; 0.80 -20041124; 26100; 2.72; 10.20; 11.80; 0.70 -20041125; 41200; 4.29; 27.60; 11.20; 0.70 -20041126; 65000; 6.77; 0.60; 8.40; 0.60 -20041127; 47300; 4.92; 6.40; 9.50; 0.60 -20041128; 41800; 4.35; 5.50; 10.80; 0.60 -20041129; 39200; 4.08; 1.40; 12.70; 0.70 -20041130; 39000; 4.06; 10.20; 11.30; 0.60 -20041201; 45900; 4.78; 34.10; 9.80; 0.60 -20041202; 86000; 8.95; 13.40; 10.10; 0.60 -20041203; 118000; 12.28; 15.90; 6.30; 0.40 -20041204; 86000; 8.95; 2.30; 4.20; 0.30 -20041205; 68000; 7.08; 2.40; 3.90; 0.30 -20041206; 58000; 6.04; 26.60; 8.20; 0.50 -20041207; 96500; 10.05; 13.30; 7.10; 0.40 -20041208; 92000; 9.58; 1.60; 7.90; 0.50 -20041209; 66000; 6.87; 0.90; 7.60; 0.50 -20041210; 52500; 5.47; 0.10; 5.90; 0.40 -20041211; 45800; 4.77; 0.90; 7.50; 0.50 -20041212; 41600; 4.33; 0.30; 8.70; 0.50 -20041213; 38500; 4.01; 0.50; 7.40; 0.40 -20041214; 35200; 3.66; 0.00; 7.20; 0.40 -20041215; 32300; 3.36; 2.20; 6.80; 0.40 -20041216; 31800; 3.31; 3.20; 8.20; 0.50 -20041217; 31400; 3.27; 21.80; 6.50; 0.40 -20041218; 57000; 5.93; 27.10; 10.40; 0.60 -20041219; 122000; 12.70; 0.20; 10.40; 0.50 -20041220; 54500; 5.67; 1.20; 9.00; 0.50 -20041221; 43200; 4.50; 2.70; 9.00; 0.50 -20041222; 40000; 4.16; 0.10; 6.90; 0.40 -20041223; 36700; 3.82; 0.00; 3.10; 0.30 -20041224; 33400; 3.48; 0.00; 2.00; 0.20 -20041225; 31200; 3.25; 0.00; 3.20; 0.30 -20041226; 29300; 3.05; 0.00; 4.70; 0.30 -20041227; 27200; 2.83; 0.00; -1.20; 0.10 -20041228; 25500; 2.65; 0.00; -1.50; 0.10 -20041229; 24000; 2.50; 0.00; -1.70; 0.10 -20041230; 22900; 2.38; 0.00; 1.30; 0.20 -20041231; 22100; 2.30; 0.00; 3.50; 0.30 -20050101; 20800; 2.17; 0.00; 1.90; 0.20 -20050102; 19700; 2.05; 0.00; -3.60; 0.00 -20050103; 18600; 1.94; 4.10; -3.00; 0.10 -20050104; 19000; 1.98; 4.00; 3.70; 0.30 -20050105; 20500; 2.13; 8.20; 10.70; 0.60 -20050106; 28200; 2.94; 4.60; 11.50; 0.60 -20050107; 27300; 2.84; 3.70; 10.90; 0.60 -20050108; 26100; 2.72; 3.80; 9.00; 0.50 -20050109; 26000; 2.71; 10.30; 11.10; 0.60 -20050110; 38500; 4.01; 55.80; 11.20; 0.60 -20050111; 129000; 13.43; 29.20; 9.60; 0.60 -20050112; 135000; 14.05; 3.20; 6.90; 0.50 -20050113; 93100; 9.69; 6.00; 9.60; 0.60 -20050114; 74200; 7.72; 3.80; 9.20; 0.60 -20050115; 62200; 6.47; 1.00; 11.00; 0.70 -20050116; 52600; 5.48; 1.80; 11.10; 0.70 -20050117; 48600; 5.06; 3.60; 8.90; 0.60 -20050118; 44300; 4.61; 0.30; 6.10; 0.50 -20050119; 39400; 4.10; 0.60; 8.70; 0.60 -20050120; 36500; 3.80; 2.50; 10.60; 0.70 -20050121; 35600; 3.71; 4.20; 10.50; 0.70 -20050122; 35800; 3.73; 2.70; 11.00; 0.70 -20050123; 35100; 3.65; 2.40; 10.60; 0.70 -20050124; 33300; 3.47; 3.40; 10.10; 0.70 -20050125; 33800; 3.52; 0.10; 5.90; 0.50 -20050126; 28700; 2.99; 1.10; 6.00; 0.50 -20050127; 27100; 2.82; 0.20; 9.10; 0.70 -20050128; 26300; 2.74; 1.20; 8.60; 0.70 -20050129; 25900; 2.70; 0.10; 8.10; 0.60 -20050130; 24200; 2.52; 0.00; 6.00; 0.60 -20050131; 22800; 2.37; 0.00; 6.50; 0.60 -20050201; 22000; 2.29; 0.00; 3.50; 0.40 -20050202; 20800; 2.17; 0.00; 4.90; 0.50 -20050203; 20200; 2.10; 0.00; 3.70; 0.40 -20050204; 19800; 2.06; 0.00; 1.70; 0.30 -20050205; 19100; 1.99; 0.00; 2.60; 0.40 -20050206; 18900; 1.97; 0.10; 2.50; 0.40 -20050207; 18200; 1.89; 0.80; 6.50; 0.70 -20050208; 17800; 1.85; 0.00; 6.10; 0.60 -20050209; 17200; 1.79; 0.00; 3.40; 0.50 -20050210; 16600; 1.73; 0.00; 4.00; 0.50 -20050211; 16300; 1.70; 0.00; 4.10; 0.50 -20050212; 16000; 1.67; 0.00; 5.00; 0.60 -20050213; 15400; 1.60; 0.00; 6.80; 0.70 -20050214; 15200; 1.58; 0.00; 4.50; 0.60 -20050215; 14900; 1.55; 0.00; 5.80; 0.70 -20050216; 14200; 1.48; 0.10; 6.50; 0.70 -20050217; 14000; 1.46; 0.10; 6.90; 0.80 -20050218; 13800; 1.44; 0.00; 7.80; 0.80 -20050219; 13700; 1.43; 0.00; 7.10; 0.80 -20050220; 13200; 1.37; 0.00; 6.70; 0.80 -20050221; 12900; 1.34; 0.30; 6.90; 0.80 -20050222; 12400; 1.29; 0.00; 5.30; 0.70 -20050223; 12100; 1.26; 0.00; 3.30; 0.60 -20050224; 11800; 1.23; 0.00; 0.30; 0.40 -20050225; 11700; 1.22; 1.70; 3.00; 0.60 -20050226; 12200; 1.27; 13.00; 5.20; 0.80 -20050227; 16100; 1.68; 3.10; 2.00; 0.50 -20050228; 15700; 1.63; 3.60; -0.20; 0.40 -20050301; 14400; 1.50; 0.70; -0.10; 0.40 -20050302; 15000; 1.56; 0.00; 3.30; 0.70 -20050303; 15500; 1.61; 0.00; 3.90; 0.70 -20050304; 13700; 1.43; 0.00; 2.40; 0.60 -20050305; 12200; 1.27; 0.00; 4.00; 0.80 -20050306; 11600; 1.21; 0.00; 6.40; 1.00 -20050307; 11400; 1.19; 0.00; 6.10; 1.00 -20050308; 10800; 1.12; 0.00; 7.00; 1.10 -20050309; 10500; 1.09; 0.00; 5.40; 0.90 -20050310; 10300; 1.07; 0.00; 7.40; 1.10 -20050311; 10000; 1.04; 0.50; 8.10; 1.20 -20050312; 9830; 1.02; 0.00; 9.30; 1.30 -20050313; 9750; 1.01; 0.10; 9.50; 1.30 -20050314; 9510; 0.99; 0.00; 9.80; 1.40 -20050315; 9260; 0.96; 0.00; 9.80; 1.40 -20050316; 8790; 0.92; 0.00; 9.80; 1.40 -20050317; 8630; 0.90; 0.00; 10.60; 1.50 -20050318; 8630; 0.90; 0.00; 8.60; 1.40 -20050319; 8630; 0.90; 0.00; 8.40; 1.30 -20050320; 8380; 0.87; 0.00; 8.60; 1.40 -20050321; 8380; 0.87; 2.20; 9.30; 1.50 -20050322; 8630; 0.90; 2.80; 9.50; 1.50 -20050323; 9260; 0.96; 0.00; 5.70; 1.10 -20050324; 8540; 0.89; 0.00; 5.20; 1.10 -20050325; 8220; 0.86; 0.00; 4.80; 1.10 -20050326; 7870; 0.82; 0.00; 3.70; 1.00 -20050327; 7630; 0.79; 0.00; 4.00; 1.00 -20050328; 7480; 0.78; 2.80; 5.90; 1.20 -20050329; 7800; 0.81; 0.00; 10.00; 1.70 -20050330; 7980; 0.83; 22.70; 10.10; 1.70 -20050331; 19500; 2.03; 25.30; 9.60; 1.70 -20050401; 36600; 3.81; 3.30; 6.50; 1.30 -20050402; 23200; 2.42; 3.10; 6.60; 1.40 -20050403; 16100; 1.68; 7.40; 7.20; 1.50 -20050404; 18300; 1.90; 24.40; 7.10; 1.40 -20050405; 32300; 3.36; 5.10; 9.80; 1.80 -20050406; 35800; 3.73; 3.00; 9.90; 1.80 -20050407; 20600; 2.14; 0.80; 11.20; 2.00 -20050408; 18200; 1.89; 2.20; 10.50; 1.90 -20050409; 17000; 1.77; 2.10; 10.30; 1.90 -20050410; 17600; 1.83; 20.00; 8.90; 1.80 -20050411; 25900; 2.70; 6.00; 8.20; 1.70 -20050412; 26800; 2.79; 7.10; 6.70; 1.50 -20050413; 25500; 2.65; 3.20; 6.30; 1.50 -20050414; 23600; 2.46; 4.90; 7.30; 1.60 -20050415; 24200; 2.52; 0.00; 7.80; 1.70 -20050416; 18900; 1.97; 0.10; 8.10; 1.80 -20050417; 17900; 1.86; 1.40; 10.30; 2.10 -20050418; 17700; 1.84; 0.20; 10.50; 2.10 -20050419; 17200; 1.79; 0.00; 11.20; 2.20 -20050420; 16700; 1.74; 0.10; 13.30; 2.50 -20050421; 16200; 1.69; 4.30; 10.60; 2.20 -20050422; 17000; 1.77; 18.00; 9.60; 2.00 -20050423; 26000; 2.71; 5.30; 10.00; 2.10 -20050424; 29700; 3.09; 2.20; 8.60; 1.90 -20050425; 20700; 2.15; 1.30; 8.70; 2.00 -20050426; 17700; 1.84; 1.00; 10.70; 2.30 -20050427; 16400; 1.71; 0.30; 11.00; 2.30 -20050428; 15900; 1.66; 0.50; 12.20; 2.50 -20050429; 15300; 1.59; 0.00; 12.30; 2.50 -20050430; 14600; 1.52; 0.00; 11.50; 2.40 -20050501; 14400; 1.50; 0.00; 10.00; 2.20 -20050502; 14100; 1.47; 0.00; 9.40; 2.20 -20050503; 13300; 1.38; 0.00; 9.00; 2.10 -20050504; 12800; 1.33; 0.00; 10.10; 2.30 -20050505; 12300; 1.28; 0.00; 11.20; 2.50 -20050506; 11700; 1.22; 0.00; 10.80; 2.40 -20050507; 11300; 1.18; 0.00; 10.00; 2.30 -20050508; 11100; 1.16; 0.00; 9.50; 2.30 -20050509; 11200; 1.17; 0.00; 10.60; 2.40 -20050510; 11200; 1.17; 4.60; 13.90; 3.00 -20050511; 11600; 1.21; 5.50; 13.60; 3.00 -20050512; 12300; 1.28; 0.00; 13.70; 3.00 -20050513; 11100; 1.16; 0.90; 12.50; 2.80 -20050514; 10700; 1.11; 6.30; 9.30; 2.30 -20050515; 11700; 1.22; 2.70; 7.60; 2.00 -20050516; 11300; 1.18; 4.10; 11.80; 2.70 -20050517; 11700; 1.22; 9.30; 13.90; 3.10 -20050518; 14500; 1.51; 3.40; 9.90; 2.40 -20050519; 13000; 1.35; 1.10; 10.50; 2.50 -20050520; 11300; 1.18; 0.10; 11.00; 2.60 -20050521; 10500; 1.09; 1.30; 9.90; 2.40 -20050522; 10000; 1.04; 2.40; 12.20; 2.90 -20050523; 10100; 1.05; 0.60; 16.90; 3.70 -20050524; 9450; 0.98; 9.00; 15.50; 3.40 -20050525; 10200; 1.06; 14.90; 15.40; 3.40 -20050526; 15600; 1.62; 1.20; 14.80; 3.30 -20050527; 12500; 1.30; 1.00; 13.40; 3.10 -20050528; 10000; 1.04; 0.10; 13.60; 3.10 -20050529; 9060; 0.94; 2.80; 13.80; 3.20 -20050530; 9060; 0.94; 3.40; 13.00; 3.10 -20050531; 9060; 0.94; 0.10; 13.40; 3.10 -20050601; 8770; 0.91; 9.70; 14.80; 3.40 -20050602; 9060; 0.94; 2.60; 12.40; 3.00 -20050603; 10500; 1.09; 0.00; 13.20; 3.10 -20050604; 8990; 0.94; 0.00; 14.70; 3.40 -20050605; 8100; 0.84; 0.00; 15.80; 3.60 -20050606; 7460; 0.78; 0.00; 17.80; 3.90 -20050607; 6960; 0.72; 0.00; 18.80; 4.10 -20050608; 6570; 0.68; 6.90; 19.80; 4.30 -20050609; 7610; 0.79; 0.30; 19.90; 4.30 -20050610; 7410; 0.77; 42.00; 14.90; 3.40 -20050611; 27100; 2.82; 3.10; 12.00; 2.90 -20050612; 27800; 2.89; 5.70; 11.10; 2.80 -20050613; 17600; 1.83; 7.00; 13.50; 3.20 -20050614; 13500; 1.41; 2.70; 13.40; 3.20 -20050615; 14100; 1.47; 0.00; 15.00; 3.50 -20050616; 11900; 1.24; 0.00; 13.00; 3.10 -20050617; 10300; 1.07; 0.00; 15.10; 3.50 -20050618; 9400; 0.98; 0.30; 14.20; 3.40 -20050619; 9080; 0.95; 0.00; 15.90; 3.60 -20050620; 8650; 0.90; 0.00; 14.70; 3.40 -20050621; 7790; 0.81; 0.00; 15.30; 3.50 -20050622; 7040; 0.73; 0.00; 14.50; 3.40 -20050623; 6880; 0.72; 0.00; 14.60; 3.40 -20050624; 6690; 0.70; 0.00; 15.20; 3.50 -20050625; 6640; 0.69; 0.00; 16.30; 3.70 -20050626; 6330; 0.66; 0.00; 16.80; 3.80 -20050627; 6290; 0.65; 0.00; 18.50; 4.10 -20050628; 6100; 0.63; 0.00; 18.40; 4.00 -20050629; 5880; 0.61; 0.00; 18.10; 4.00 -20050630; 5740; 0.60; 2.70; 16.90; 3.80 -20050701; 5840; 0.61; 4.30; 15.10; 3.50 -20050702; 6330; 0.66; 0.00; 17.30; 3.80 -20050703; 5980; 0.62; 0.00; 18.10; 4.00 -20050704; 5610; 0.58; 0.00; 18.30; 4.00 -20050705; 5270; 0.55; 0.00; 15.90; 3.60 -20050706; 4980; 0.52; 0.00; 14.60; 3.40 -20050707; 4810; 0.50; 0.00; 15.80; 3.60 -20050708; 4530; 0.47; 0.00; 15.70; 3.50 -20050709; 4420; 0.46; 1.30; 12.60; 3.00 -20050710; 4690; 0.49; 3.50; 12.50; 3.00 -20050711; 4740; 0.49; 0.90; 12.70; 3.00 -20050712; 4620; 0.48; 2.80; 13.60; 3.20 -20050713; 4740; 0.49; 4.00; 14.00; 3.20 -20050714; 4490; 0.47; 1.00; 16.40; 3.60 -20050715; 4530; 0.47; 2.70; 16.50; 3.60 -20050716; 4490; 0.47; 1.50; 17.50; 3.80 -20050717; 4490; 0.47; 0.50; 16.50; 3.60 -20050718; 4210; 0.44; 4.00; 15.10; 3.40 -20050719; 4210; 0.44; 4.10; 14.60; 3.20 -20050720; 4290; 0.45; 1.10; 15.50; 3.40 -20050721; 4350; 0.45; 1.20; 14.80; 3.30 -20050722; 3970; 0.41; 0.80; 15.90; 3.40 -20050723; 4010; 0.42; 0.00; 17.70; 3.70 -20050724; 3970; 0.41; 0.20; 15.20; 3.30 -20050725; 3850; 0.40; 0.60; 13.90; 3.10 -20050726; 3580; 0.37; 2.30; 14.50; 3.20 -20050727; 3540; 0.37; 3.90; 15.70; 3.40 -20050728; 3890; 0.40; 0.00; 16.70; 3.50 -20050729; 3850; 0.40; 3.90; 16.50; 3.40 -20050730; 3810; 0.40; 1.50; 15.70; 3.30 -20050731; 3930; 0.41; 0.00; 14.30; 3.10 -20050801; 3770; 0.39; 0.00; 15.30; 3.20 -20050802; 3500; 0.36; 1.80; 14.30; 3.10 -20050803; 3570; 0.37; 0.80; 14.70; 3.10 -20050804; 3460; 0.36; 2.50; 15.40; 3.20 -20050805; 3610; 0.38; 0.10; 15.60; 3.20 -20050806; 3460; 0.36; 0.00; 15.50; 3.20 -20050807; 3270; 0.34; 0.00; 16.40; 3.30 -20050808; 3200; 0.33; 0.10; 15.40; 3.10 -20050809; 2980; 0.31; 1.50; 16.50; 3.30 -20050810; 3120; 0.32; 1.00; 16.00; 3.20 -20050811; 3080; 0.32; 0.90; 16.80; 3.30 -20050812; 3080; 0.32; 2.10; 16.50; 3.20 -20050813; 3050; 0.32; 0.00; 14.70; 2.90 -20050814; 2770; 0.29; 1.90; 16.50; 3.10 -20050815; 2770; 0.29; 0.00; 15.30; 3.00 -20050816; 2440; 0.25; 0.00; 15.80; 3.00 -20050817; 2310; 0.24; 0.00; 18.20; 3.30 -20050818; 2100; 0.22; 0.00; 19.70; 3.50 -20050819; 2000; 0.21; 0.00; 19.50; 3.50 -20050820; 1820; 0.19; 0.00; 20.60; 3.60 -20050821; 1820; 0.19; 0.00; 21.50; 3.70 -20050822; 1850; 0.19; 0.40; 16.40; 3.00 -20050823; 1880; 0.20; 0.40; 13.90; 2.60 -20050824; 1820; 0.19; 0.00; 13.40; 2.50 -20050825; 1820; 0.19; 0.00; 12.20; 2.30 -20050826; 1730; 0.18; 0.00; 12.20; 2.30 -20050827; 1730; 0.18; 0.10; 13.40; 2.50 -20050828; 1730; 0.18; 0.00; 12.30; 2.30 -20050829; 1730; 0.18; 0.00; 13.40; 2.40 -20050830; 1730; 0.18; 0.00; 15.10; 2.60 -20050831; 1700; 0.18; 0.00; 15.90; 2.70 -20050901; 1590; 0.17; 0.00; 15.20; 2.60 -20050902; 1450; 0.15; 0.00; 16.80; 2.80 -20050903; 1390; 0.14; 0.00; 15.50; 2.60 -20050904; 1420; 0.15; 0.00; 13.80; 2.30 -20050905; 1420; 0.15; 0.00; 13.50; 2.30 -20050906; 1540; 0.16; 3.80; 15.40; 2.50 -20050907; 1600; 0.17; 27.00; 16.70; 2.60 -20050908; 4690; 0.49; 5.90; 16.50; 2.60 -20050909; 4830; 0.50; 7.70; 14.80; 2.30 -20050910; 4790; 0.50; 11.90; 13.80; 2.20 -20050911; 5430; 0.57; 4.70; 14.40; 2.30 -20050912; 7220; 0.75; 69.80; 12.20; 2.00 -20050913; 36200; 3.77; 14.60; 12.40; 2.00 -20050914; 26200; 2.73; 16.80; 13.50; 2.10 -20050915; 20900; 2.18; 7.60; 12.20; 1.90 -20050916; 21000; 2.19; 2.10; 11.30; 1.80 -20050917; 11500; 1.20; 0.20; 11.00; 1.70 -20050918; 7750; 0.81; 0.00; 13.30; 2.00 -20050919; 6300; 0.66; 3.50; 13.60; 2.00 -20050920; 6580; 0.68; 11.60; 14.20; 2.00 -20050921; 9300; 0.97; 2.00; 13.50; 1.90 -20050922; 8120; 0.85; 2.30; 11.80; 1.70 -20050923; 7490; 0.78; 0.30; 11.80; 1.70 -20050924; 6480; 0.67; 0.20; 11.50; 1.70 -20050925; 5860; 0.61; 1.80; 11.70; 1.60 -20050926; 5550; 0.58; 4.10; 10.50; 1.50 -20050927; 5550; 0.58; 1.00; 10.00; 1.40 -20050928; 5810; 0.60; 0.10; 10.50; 1.50 -20050929; 5900; 0.61; 16.30; 10.20; 1.40 -20050930; 11500; 1.20; 16.80; 8.90; 1.30 -20051001; 22400; 2.33; 11.90; 9.90; 1.40 -20051002; 20300; 2.11; 5.30; 11.30; 1.50 -20051003; 15400; 1.60; 4.90; 12.40; 1.60 -20051004; 14300; 1.49; 5.80; 12.60; 1.50 -20051005; 13700; 1.43; 14.40; 12.40; 1.50 -20051006; 22400; 2.33; 8.10; 11.40; 1.40 -20051007; 23200; 2.42; 3.40; 9.30; 1.20 -20051008; 18400; 1.92; 11.60; 10.60; 1.30 -20051009; 20200; 2.10; 0.90; 10.10; 1.20 -20051010; 17800; 1.85; 10.60; 11.90; 1.40 -20051011; 22000; 2.29; 11.60; 13.10; 1.50 -20051012; 33100; 3.45; 26.40; 13.00; 1.40 -20051013; 56300; 5.86; 22.10; 12.60; 1.40 -20051014; 61500; 6.40; 4.60; 9.90; 1.10 -20051015; 53600; 5.58; 0.00; 9.00; 1.10 -20051016; 38400; 4.00; 0.00; 7.70; 0.90 -20051017; 30000; 3.12; 0.00; 7.60; 0.90 -20051018; 25500; 2.65; 0.00; 6.70; 0.80 -20051019; 23400; 2.44; 0.00; 7.30; 0.90 -20051020; 21800; 2.27; 1.00; 6.10; 0.80 -20051021; 20300; 2.11; 0.00; 6.50; 0.80 -20051022; 18800; 1.96; 0.10; 7.70; 0.90 -20051023; 18200; 1.89; 0.00; 8.80; 0.90 -20051024; 16900; 1.76; 0.00; 8.90; 0.90 -20051025; 15600; 1.62; 0.00; 7.40; 0.80 -20051026; 14700; 1.53; 0.00; 8.90; 0.90 -20051027; 14200; 1.48; 0.00; 8.50; 0.90 -20051028; 13900; 1.45; 0.00; 7.90; 0.80 -20051029; 13500; 1.41; 0.00; 8.70; 0.80 -20051030; 13000; 1.35; 0.00; 6.00; 0.70 -20051031; 12600; 1.31; 0.10; 5.60; 0.60 -20051101; 12400; 1.29; 2.00; 6.90; 0.70 -20051102; 12400; 1.29; 4.40; 9.60; 0.80 -20051103; 12600; 1.31; 0.00; 12.10; 1.00 -20051104; 12300; 1.28; 0.30; 12.40; 1.00 -20051105; 11700; 1.22; 0.00; 11.10; 0.90 -20051106; 11500; 1.20; 0.00; 9.70; 0.80 -20051107; 11100; 1.16; 0.00; 9.00; 0.70 -20051108; 10700; 1.11; 0.00; 9.30; 0.70 -20051109; 10600; 1.10; 21.20; 9.10; 0.70 -20051110; 16900; 1.76; 3.40; 8.90; 0.70 -20051111; 18300; 1.90; 1.20; 6.30; 0.60 -20051112; 13700; 1.43; 3.30; 6.40; 0.60 -20051113; 13400; 1.39; 9.70; 11.10; 0.80 -20051114; 17900; 1.86; 0.20; 7.70; 0.60 -20051115; 14200; 1.48; 0.00; 3.70; 0.40 -20051116; 12200; 1.27; 0.00; 3.30; 0.40 -20051117; 11600; 1.21; 0.00; 1.60; 0.30 -20051118; 11100; 1.16; 0.00; 0.70; 0.20 -20051119; 10700; 1.11; 0.00; -0.40; 0.20 -20051120; 10500; 1.09; 0.00; 0.30; 0.20 -20051121; 10300; 1.07; 5.60; 1.20; 0.30 -20051122; 10700; 1.11; 0.90; -0.20; 0.20 -20051123; 10900; 1.13; 0.10; -0.50; 0.20 -20051124; 10600; 1.10; 0.60; 1.60; 0.30 -20051125; 10900; 1.13; 0.50; 1.80; 0.30 -20051126; 10600; 1.10; 0.00; 1.60; 0.30 -20051127; 10100; 1.05; 0.00; 0.60; 0.20 -20051128; 10100; 1.05; 0.60; -1.40; 0.10 -20051129; 10400; 1.08; 14.10; 3.20; 0.30 -20051130; 17900; 1.86; 4.60; 6.10; 0.40 -20051201; 16000; 1.67; 1.70; 6.40; 0.40 -20051202; 13300; 1.38; 0.40; 9.80; 0.60 -20051203; 12100; 1.26; 3.70; 10.00; 0.60 -20051204; 12200; 1.27; 0.40; 8.10; 0.50 -20051205; 12900; 1.34; 0.00; 3.50; 0.30 -20051206; 11600; 1.21; 8.90; 5.90; 0.40 -20051207; 14200; 1.48; 5.70; 9.10; 0.50 -20051208; 19100; 1.99; 3.40; 10.90; 0.60 -20051209; 17700; 1.84; 1.40; 9.40; 0.50 -20051210; 15300; 1.59; 9.20; 8.60; 0.50 -20051211; 20000; 2.08; 4.10; 5.70; 0.40 -20051212; 17900; 1.86; 6.50; 9.10; 0.50 -20051213; 20200; 2.10; 3.30; 8.00; 0.50 -20051214; 18900; 1.97; 10.50; 4.90; 0.40 -20051215; 23200; 2.42; 7.40; 5.80; 0.40 -20051216; 28100; 2.93; 1.60; 6.50; 0.40 -20051217; 21000; 2.19; 3.50; 9.60; 0.50 -20051218; 22000; 2.29; 16.80; 11.40; 0.60 -20051219; 38600; 4.02; 10.80; 12.20; 0.60 -20051220; 45500; 4.74; 16.60; 11.10; 0.60 -20051221; 55500; 5.78; 3.20; 6.30; 0.40 -20051222; 44100; 4.59; 10.30; 7.30; 0.40 -20051223; 46400; 4.83; 11.00; 6.20; 0.40 -20051224; 47000; 4.89; 9.20; 4.40; 0.30 -20051225; 44900; 4.67; 4.10; 6.60; 0.40 -20051226; 45600; 4.75; 0.00; 3.20; 0.30 -20051227; 37300; 3.88; 9.80; 2.30; 0.30 -20051228; 39700; 4.13; 4.30; 8.20; 0.50 -20051229; 41400; 4.31; 2.20; 10.50; 0.60 -20051230; 38200; 3.98; 15.40; 10.80; 0.60 -20051231; 52200; 5.43; 3.90; 7.10; 0.40 -20060101; 47400; 4.93; 27.60; 6.90; 0.40 -20060102; 83100; 8.65; 10.50; 9.80; 0.50 -20060103; 77100; 8.03; 7.90; 8.20; 0.50 -20060104; 71700; 7.46; 19.80; 7.60; 0.50 -20060105; 84600; 8.81; 8.40; 7.10; 0.50 -20060106; 85300; 8.88; 2.40; 2.20; 0.30 -20060107; 68200; 7.10; 0.50; 2.30; 0.30 -20060108; 56100; 5.84; 11.40; 5.60; 0.40 -20060109; 70200; 7.31; 20.50; 8.40; 0.50 -20060110; 98800; 10.28; 2.80; 7.50; 0.50 -20060111; 76100; 7.92; 13.20; 7.50; 0.50 -20060112; 78100; 8.13; 15.50; 11.00; 0.60 -20060113; 102000; 10.62; 2.40; 9.20; 0.60 -20060114; 76400; 7.95; 8.00; 6.60; 0.50 -20060115; 69700; 7.26; 6.30; 5.10; 0.40 -20060116; 71800; 7.47; 1.70; 4.10; 0.40 -20060117; 58200; 6.06; 0.50; 1.90; 0.30 -20060118; 50400; 5.25; 6.00; 3.00; 0.30 -20060119; 50200; 5.23; 3.30; 5.30; 0.40 -20060120; 48900; 5.09; 1.60; 5.50; 0.40 -20060121; 43300; 4.51; 0.50; 7.40; 0.50 -20060122; 39500; 4.11; 1.80; 8.40; 0.60 -20060123; 37100; 3.86; 3.70; 9.80; 0.70 -20060124; 37800; 3.93; 4.00; 10.30; 0.70 -20060125; 39500; 4.11; 2.60; 9.60; 0.70 -20060126; 37200; 3.87; 2.10; 8.30; 0.60 -20060127; 33300; 3.47; 4.70; 9.50; 0.70 -20060128; 35600; 3.71; 0.00; 6.10; 0.50 -20060129; 30300; 3.15; 0.00; 6.90; 0.60 -20060130; 27600; 2.87; 0.80; 8.10; 0.70 -20060131; 26300; 2.74; 0.90; 5.70; 0.50 -20060201; 26200; 2.73; 11.40; 8.10; 0.70 -20060202; 32800; 3.41; 24.40; 6.30; 0.60 -20060203; 59500; 6.19; 9.50; 7.80; 0.70 -20060204; 66800; 6.95; 1.90; 5.40; 0.60 -20060205; 44700; 4.65; 1.50; 4.80; 0.50 -20060206; 37100; 3.86; 8.40; 6.30; 0.60 -20060207; 45000; 4.68; 0.90; 4.60; 0.50 -20060208; 38000; 3.96; 11.40; 5.50; 0.60 -20060209; 43600; 4.54; 8.30; 9.10; 0.80 -20060210; 48500; 5.05; 8.20; 6.40; 0.70 -20060211; 45200; 4.71; 6.30; 9.80; 0.90 -20060212; 46600; 4.85; 0.20; 5.60; 0.60 -20060213; 39500; 4.11; 0.00; 1.00; 0.40 -20060214; 35200; 3.66; 1.20; -2.40; 0.20 -20060215; 33600; 3.50; 1.80; 0.10; 0.30 -20060216; 32400; 3.37; 0.10; 4.00; 0.60 -20060217; 29900; 3.11; 8.30; 6.00; 0.70 -20060218; 35000; 3.64; 0.60; 8.10; 0.90 -20060219; 31700; 3.30; 15.90; 5.30; 0.70 -20060220; 45800; 4.77; 8.30; 6.90; 0.80 -20060221; 47300; 4.92; 3.70; 5.40; 0.70 -20060222; 38700; 4.03; 4.30; 9.00; 1.00 -20060223; 36500; 3.80; 16.50; 7.80; 0.90 -20060224; 50300; 5.24; 1.30; 8.80; 1.00 -20060225; 42900; 4.47; 1.60; 9.90; 1.10 -20060226; 36100; 3.76; 0.40; 10.10; 1.10 -20060227; 34000; 3.54; 13.50; 8.70; 1.10 -20060228; 45900; 4.78; 0.30; 8.40; 1.00 -20060301; 38200; 3.98; 7.20; 7.50; 1.00 -20060302; 35900; 3.74; 2.00; 9.00; 1.10 -20060303; 34600; 3.60; 0.40; 8.20; 1.10 -20060304; 30700; 3.20; 2.50; 7.20; 1.00 -20060305; 31300; 3.26; 2.30; 8.00; 1.10 -20060306; 30700; 3.20; 0.00; 6.20; 0.90 -20060307; 27600; 2.87; 0.00; 8.40; 1.10 -20060308; 26300; 2.74; 0.00; 9.30; 1.30 -20060309; 25000; 2.60; 0.20; 9.20; 1.30 -20060310; 23300; 2.43; 0.00; 7.40; 1.10 -20060311; 21900; 2.28; 0.00; 5.70; 1.00 -20060312; 21500; 2.24; 4.90; 6.80; 1.10 -20060313; 22600; 2.35; 0.90; 9.80; 1.40 -20060314; 22000; 2.29; 0.40; 9.80; 1.40 -20060315; 20500; 2.13; 0.90; 8.60; 1.30 -20060316; 19600; 2.04; 0.00; 6.70; 1.10 -20060317; 18700; 1.95; 0.60; 7.70; 1.20 -20060318; 18700; 1.95; 5.90; 8.60; 1.40 -20060319; 20700; 2.15; 6.00; 9.50; 1.40 -20060320; 22000; 2.29; 4.30; 10.30; 1.60 -20060321; 21600; 2.25; 0.10; 8.20; 1.40 -20060322; 19600; 2.04; 1.90; 8.10; 1.40 -20060323; 18600; 1.94; 0.80; 10.20; 1.60 -20060324; 18300; 1.90; 0.60; 10.20; 1.60 -20060325; 17500; 1.82; 1.00; 9.30; 1.50 -20060326; 17200; 1.79; 0.00; 7.40; 1.40 -20060327; 16200; 1.69; 2.20; 7.70; 1.40 -20060328; 16100; 1.68; 2.30; 10.20; 1.70 -20060329; 16900; 1.76; 0.00; 10.50; 1.80 -20060330; 16100; 1.68; 14.70; 10.00; 1.70 -20060331; 21700; 2.26; 22.20; 9.40; 1.70 -20060401; 36700; 3.82; 9.00; 6.40; 1.30 -20060402; 41500; 4.32; 5.30; 4.70; 1.10 -20060403; 32300; 3.36; 19.50; 7.40; 1.50 -20060404; 42700; 4.44; 6.20; 7.60; 1.50 -20060405; 38800; 4.04; 6.70; 6.30; 1.40 -20060406; 33900; 3.53; 13.50; 8.00; 1.60 -20060407; 43300; 4.51; 3.40; 8.10; 1.60 -20060408; 38400; 4.00; 20.70; 6.40; 1.40 -20060409; 53600; 5.58; 7.30; 5.90; 1.40 -20060410; 49400; 5.14; 0.60; 6.30; 1.40 -20060411; 40700; 4.24; 0.00; 6.60; 1.50 -20060412; 33700; 3.51; 0.70; 6.80; 1.50 -20060413; 31300; 3.26; 0.50; 5.50; 1.40 -20060414; 29800; 3.10; 0.80; 4.70; 1.30 -20060415; 28000; 2.91; 2.60; 4.80; 1.30 -20060416; 27100; 2.82; 1.80; 6.40; 1.50 -20060417; 27000; 2.81; 0.00; 7.20; 1.60 -20060418; 24700; 2.57; 0.00; 5.60; 1.40 -20060419; 23100; 2.40; 0.00; 6.40; 1.60 -20060420; 22300; 2.32; 0.00; 6.90; 1.60 -20060421; 21500; 2.24; 0.00; 8.50; 1.90 -20060422; 20100; 2.09; 0.50; 10.70; 2.20 -20060423; 19200; 2.00; 1.40; 10.30; 2.20 -20060424; 18800; 1.96; 1.40; 8.90; 2.00 -20060425; 18100; 1.88; 12.80; 8.60; 2.00 -20060426; 22100; 2.30; 2.40; 11.30; 2.40 -20060427; 21500; 2.24; 0.10; 12.80; 2.60 -20060428; 17900; 1.86; 0.00; 14.70; 2.90 -20060429; 15800; 1.64; 0.00; 17.20; 3.30 -20060430; 14600; 1.52; 0.00; 14.40; 2.90 -20060501; 13600; 1.42; 0.00; 14.60; 2.90 -20060502; 13100; 1.36; 0.00; 14.90; 3.00 -20060503; 12400; 1.29; 1.40; 12.00; 2.60 -20060504; 11900; 1.24; 1.60; 10.10; 2.30 -20060505; 11700; 1.22; 2.20; 11.20; 2.50 -20060506; 12000; 1.25; 2.40; 11.30; 2.50 -20060507; 12100; 1.26; 1.20; 10.20; 2.40 -20060508; 11600; 1.21; 0.20; 9.20; 2.20 -20060509; 11000; 1.15; 0.40; 11.20; 2.50 -20060510; 10800; 1.12; 0.50; 11.00; 2.50 -20060511; 11100; 1.16; 12.60; 9.90; 2.40 -20060512; 13800; 1.44; 0.50; 11.80; 2.70 -20060513; 12600; 1.31; 13.80; 14.80; 3.20 -20060514; 16100; 1.68; 0.10; 12.90; 2.90 -20060515; 14800; 1.54; 0.10; 13.20; 2.90 -20060516; 13600; 1.42; 52.00; 11.50; 2.70 -20060517; 56100; 5.84; 8.50; 10.30; 2.50 -20060518; 61500; 6.40; 0.40; 9.40; 2.30 -20060519; 33600; 3.50; 8.70; 10.30; 2.50 -20060520; 25700; 2.68; 21.00; 11.40; 2.70 -20060521; 38800; 4.04; 4.50; 11.70; 2.80 -20060522; 38500; 4.01; 4.50; 12.60; 2.90 -20060523; 33100; 3.45; 11.40; 13.30; 3.00 -20060524; 31500; 3.28; 4.60; 12.40; 2.90 -20060525; 34600; 3.60; 15.70; 11.60; 2.80 -20060526; 39900; 4.15; 2.00; 12.20; 2.90 -20060527; 37800; 3.93; 0.20; 11.40; 2.80 -20060528; 29600; 3.08; 3.30; 11.20; 2.70 -20060529; 26700; 2.78; 0.30; 11.20; 2.70 -20060530; 23600; 2.46; 0.00; 11.70; 2.80 -20060531; 21300; 2.22; 0.00; 15.00; 3.40 -20060601; 19700; 2.05; 6.30; 17.20; 3.80 -20060602; 20400; 2.12; 5.80; 13.50; 3.20 -20060603; 22700; 2.36; 8.40; 11.90; 2.90 -20060604; 26200; 2.73; 12.50; 11.30; 2.80 -20060605; 33500; 3.49; 0.30; 12.20; 2.90 -20060606; 24700; 2.57; 0.10; 13.90; 3.20 -20060607; 20400; 2.12; 0.00; 16.10; 3.60 -20060608; 17900; 1.86; 0.00; 12.00; 2.90 -20060609; 16500; 1.72; 0.00; 12.40; 3.00 -20060610; 15500; 1.61; 0.00; 12.10; 2.90 -20060611; 15200; 1.58; 0.00; 12.10; 3.00 -20060612; 14200; 1.48; 0.00; 13.00; 3.10 -20060613; 13700; 1.43; 0.00; 14.20; 3.30 -20060614; 13000; 1.35; 0.00; 15.90; 3.60 -20060615; 12400; 1.29; 0.00; 16.80; 3.80 -20060616; 11600; 1.21; 0.00; 16.00; 3.70 -20060617; 10800; 1.12; 0.00; 17.00; 3.80 -20060618; 10400; 1.08; 0.00; 17.20; 3.90 -20060619; 10000; 1.04; 0.00; 15.30; 3.50 -20060620; 9460; 0.98; 0.00; 14.70; 3.40 -20060621; 9460; 0.98; 1.80; 15.40; 3.60 -20060622; 9510; 0.99; 0.30; 16.60; 3.80 -20060623; 9760; 1.02; 0.00; 20.60; 4.50 -20060624; 9140; 0.95; 1.40; 18.30; 4.10 -20060625; 8790; 0.92; 0.20; 14.80; 3.50 -20060626; 8480; 0.88; 0.00; 14.70; 3.40 -20060627; 7990; 0.83; 0.00; 16.60; 3.80 -20060628; 7320; 0.76; 0.00; 19.60; 4.30 -20060629; 6720; 0.70; 0.00; 15.80; 3.60 -20060630; 6530; 0.68; 0.00; 17.80; 3.90 -20060701; 6230; 0.65; 0.00; 19.30; 4.20 -20060702; 5940; 0.62; 0.00; 16.50; 3.70 -20060703; 5720; 0.60; 3.00; 16.30; 3.70 -20060704; 5750; 0.60; 0.20; 15.80; 3.60 -20060705; 5890; 0.61; 0.60; 15.40; 3.50 -20060706; 5880; 0.61; 2.30; 14.70; 3.40 -20060707; 5920; 0.62; 5.60; 14.20; 3.30 -20060708; 6470; 0.67; 0.00; 13.70; 3.20 -20060709; 6140; 0.64; 0.00; 14.30; 3.30 -20060710; 5600; 0.58; 0.00; 17.10; 3.80 -20060711; 5270; 0.55; 0.00; 20.40; 4.30 -20060712; 4780; 0.50; 0.00; 19.30; 4.10 -20060713; 4400; 0.46; 0.00; 17.10; 3.80 -20060714; 4230; 0.44; 0.00; 16.70; 3.70 -20060715; 4110; 0.43; 0.00; 17.60; 3.80 -20060716; 4010; 0.42; 1.10; 19.90; 4.20 -20060717; 4100; 0.43; 0.70; 21.00; 4.40 -20060718; 4210; 0.44; 6.50; 19.40; 4.10 -20060719; 4120; 0.43; 0.00; 17.50; 3.70 -20060720; 3920; 0.41; 0.00; 17.60; 3.80 -20060721; 3720; 0.39; 0.00; 18.90; 4.00 -20060722; 3550; 0.37; 0.20; 18.10; 3.80 -20060723; 3210; 0.33; 1.50; 21.10; 4.30 -20060724; 3180; 0.33; 0.00; 20.10; 4.10 -20060725; 3720; 0.39; 0.00; 17.10; 3.60 -20060726; 3000; 0.31; 0.00; 18.60; 3.80 -20060727; 2770; 0.29; 0.00; 19.40; 4.00 -20060728; 2530; 0.26; 0.00; 16.70; 3.50 -20060729; 2490; 0.26; 0.00; 17.90; 3.70 -20060730; 2410; 0.25; 0.00; 19.70; 3.90 -20060731; 2410; 0.25; 0.70; 17.80; 3.60 -20060801; 2490; 0.26; 4.80; 17.30; 3.50 -20060802; 2410; 0.25; 1.40; 18.60; 3.70 -20060803; 2570; 0.27; 0.30; 21.70; 4.20 -20060804; 2450; 0.26; 0.20; 19.40; 3.80 -20060805; 2100; 0.22; 0.00; 18.60; 3.70 -20060806; 1900; 0.20; 0.00; 17.50; 3.50 -20060807; 1780; 0.19; 0.00; 19.50; 3.80 -20060808; 1920; 0.20; 0.10; 21.70; 4.00 -20060809; 2370; 0.25; 28.30; 19.00; 3.60 -20060810; 4750; 0.49; 6.00; 15.80; 3.10 -20060811; 4720; 0.49; 0.00; 16.20; 3.20 -20060812; 3540; 0.37; 0.00; 16.20; 3.20 -20060813; 3280; 0.34; 0.00; 14.10; 2.80 -20060814; 3060; 0.32; 0.00; 14.50; 2.90 -20060815; 2870; 0.30; 0.00; 16.60; 3.20 -20060816; 2750; 0.29; 0.00; 16.10; 3.10 -20060817; 2600; 0.27; 2.70; 15.00; 2.90 -20060818; 2590; 0.27; 0.70; 15.70; 3.00 -20060819; 2600; 0.27; 1.30; 16.60; 3.10 -20060820; 2620; 0.27; 0.00; 15.90; 2.90 -20060821; 2530; 0.26; 0.00; 18.00; 3.20 -20060822; 2350; 0.24; 1.20; 18.70; 3.30 -20060823; 2230; 0.23; 1.70; 17.10; 3.10 -20060824; 2170; 0.23; 6.40; 14.60; 2.70 -20060825; 2530; 0.26; 4.00; 15.80; 2.80 -20060826; 2730; 0.28; 2.30; 16.30; 2.90 -20060827; 2890; 0.30; 2.60; 15.50; 2.70 -20060828; 3030; 0.32; 0.00; 13.00; 2.40 -20060829; 2890; 0.30; 0.00; 13.10; 2.40 -20060830; 2660; 0.28; 3.10; 15.90; 2.70 -20060831; 2670; 0.28; 5.10; 15.60; 2.70 -20060901; 3180; 0.33; 0.30; 15.20; 2.60 -20060902; 2910; 0.30; 0.20; 15.70; 2.60 -20060903; 2790; 0.29; 0.40; 15.90; 2.60 -20060904; 2740; 0.29; 1.80; 16.00; 2.60 -20060905; 2630; 0.27; 3.80; 15.50; 2.50 -20060906; 2760; 0.29; 9.30; 14.30; 2.40 -20060907; 3170; 0.33; 13.60; 14.20; 2.30 -20060908; 4940; 0.51; 5.70; 12.00; 2.00 -20060909; 4490; 0.47; 0.40; 13.40; 2.20 -20060910; 3470; 0.36; 0.50; 14.10; 2.20 -20060911; 2800; 0.29; 4.60; 15.60; 2.40 -20060912; 2860; 0.30; 0.60; 13.80; 2.20 -20060913; 2770; 0.29; 11.10; 12.30; 2.00 -20060914; 3550; 0.37; 5.20; 10.40; 1.70 -20060915; 4030; 0.42; 2.30; 10.80; 1.80 -20060916; 3730; 0.39; 0.40; 10.90; 1.70 -20060917; 3370; 0.35; 0.00; 9.90; 1.60 -20060918; 2970; 0.31; 10.10; 10.10; 1.60 -20060919; 3660; 0.38; 5.00; 12.30; 1.80 -20060920; 5840; 0.61; 0.90; 11.90; 1.80 -20060921; 4810; 0.50; 0.50; 11.70; 1.70 -20060922; 3990; 0.42; 6.60; 13.80; 1.90 -20060923; 4210; 0.44; 9.00; 14.50; 2.00 -20060924; 6040; 0.63; 29.50; 14.10; 1.90 -20060925; 18800; 1.96; 26.90; 14.10; 1.90 -20060926; 22100; 2.30; 0.20; 14.90; 2.00 -20060927; 13000; 1.35; 0.00; 13.90; 1.80 -20060928; 8360; 0.87; 0.00; 12.60; 1.70 -20060929; 6330; 0.66; 0.00; 11.90; 1.60 -20060930; 5220; 0.54; 0.00; 13.20; 1.70 -20061001; 4610; 0.48; 0.00; 11.50; 1.50 -20061002; 4200; 0.44; 1.50; 12.30; 1.60 -20061003; 4070; 0.42; 0.20; 12.00; 1.50 -20061004; 4040; 0.42; 0.00; 6.60; 1.00 -20061005; 3440; 0.36; 0.00; 6.40; 1.00 -20061006; 3330; 0.35; 0.00; 8.50; 1.20 -20061007; 3270; 0.34; 0.00; 8.80; 1.20 -20061008; 3220; 0.34; 0.00; 9.70; 1.20 -20061009; 3130; 0.33; 0.00; 11.30; 1.40 -20061010; 3100; 0.32; 0.00; 13.30; 1.50 -20061011; 2970; 0.31; 0.00; 14.90; 1.60 -20061012; 2860; 0.30; 0.00; 16.10; 1.60 -20061013; 2770; 0.29; 0.00; 15.10; 1.60 -20061014; 2710; 0.28; 0.00; 14.30; 1.50 -20061015; 2780; 0.29; 0.30; 15.10; 1.50 -20061016; 3070; 0.32; 0.00; 15.80; 1.60 -20061017; 3040; 0.32; 0.00; 10.90; 1.20 -20061018; 2820; 0.29; 22.20; 8.40; 1.00 -20061019; 6930; 0.72; 3.10; 12.60; 1.30 -20061020; 9310; 0.97; 10.20; 11.90; 1.20 -20061021; 8090; 0.84; 12.80; 13.30; 1.30 -20061022; 13400; 1.39; 10.00; 14.10; 1.30 -20061023; 13500; 1.41; 4.80; 11.40; 1.10 -20061024; 11600; 1.21; 11.00; 10.60; 1.00 -20061025; 11400; 1.19; 8.50; 9.70; 0.90 -20061026; 13900; 1.45; 4.00; 8.40; 0.90 -20061027; 12800; 1.33; 2.20; 8.00; 0.80 -20061028; 9940; 1.03; 12.90; 8.40; 0.80 -20061029; 12900; 1.34; 9.40; 12.50; 1.10 -20061030; 22700; 2.36; 22.20; 13.90; 1.10 -20061031; 36800; 3.83; 5.10; 11.60; 1.00 -20061101; 34100; 3.55; 0.00; 9.20; 0.80 -20061102; 19000; 1.98; 6.60; 10.10; 0.90 -20061103; 18500; 1.93; 6.60; 13.40; 1.00 -20061104; 20800; 2.17; 0.70; 10.30; 0.90 -20061105; 16100; 1.68; 0.40; 8.40; 0.70 -20061106; 13800; 1.44; 6.10; 9.70; 0.80 -20061107; 14600; 1.52; 4.70; 11.90; 0.90 -20061108; 17800; 1.85; 14.40; 12.80; 0.90 -20061109; 31800; 3.31; 11.10; 11.80; 0.90 -20061110; 33200; 3.46; 0.40; 11.10; 0.80 -20061111; 22100; 2.30; 16.00; 11.30; 0.80 -20061112; 31000; 3.23; 1.30; 11.80; 0.80 -20061113; 30600; 3.19; 1.70; 11.90; 0.80 -20061114; 24100; 2.51; 18.20; 13.60; 0.90 -20061115; 40600; 4.23; 0.50; 11.20; 0.80 -20061116; 34000; 3.54; 1.50; 8.70; 0.60 -20061117; 26100; 2.72; 6.40; 9.10; 0.60 -20061118; 26100; 2.72; 1.30; 12.90; 0.80 -20061119; 26800; 2.79; 0.70; 13.00; 0.80 -20061120; 23000; 2.39; 1.10; 13.50; 0.80 -20061121; 21000; 2.19; 0.20; 13.10; 0.80 -20061122; 19700; 2.05; 0.00; 12.60; 0.80 -20061123; 18300; 1.90; 0.00; 10.20; 0.60 -20061124; 16900; 1.76; 0.00; 10.40; 0.70 -20061125; 15900; 1.66; 0.00; 9.40; 0.60 -20061126; 15100; 1.57; 0.00; 7.60; 0.50 -20061127; 14400; 1.50; 0.90; 8.50; 0.60 -20061128; 14100; 1.47; 0.00; 9.10; 0.60 -20061129; 14000; 1.46; 0.00; 7.50; 0.50 -20061130; 13500; 1.41; 0.00; 9.00; 0.50 -20061201; 13200; 1.37; 0.10; 9.70; 0.60 -20061202; 12800; 1.33; 3.50; 10.20; 0.60 -20061203; 13700; 1.43; 12.10; 11.90; 0.70 -20061204; 21600; 2.25; 8.80; 11.90; 0.60 -20061205; 28900; 3.01; 6.00; 8.70; 0.50 -20061206; 24700; 2.57; 15.30; 9.20; 0.50 -20061207; 28900; 3.01; 6.30; 9.80; 0.60 -20061208; 34700; 3.61; 19.70; 11.40; 0.60 -20061209; 49900; 5.19; 6.50; 9.00; 0.50 -20061210; 41500; 4.32; 1.30; 11.50; 0.60 -20061211; 29200; 3.04; 0.10; 12.80; 0.70 -20061212; 25000; 2.60; 0.00; 12.20; 0.60 -20061213; 22900; 2.38; 0.80; 10.70; 0.60 -20061214; 21800; 2.27; 0.30; 9.20; 0.50 -20061215; 20500; 2.13; 1.30; 8.00; 0.50 -20061216; 19800; 2.06; 0.70; 9.90; 0.50 -20061217; 19300; 2.01; 10.80; 9.60; 0.50 -20061218; 24500; 2.55; 3.70; 8.00; 0.50 -20061219; 28400; 2.96; 3.90; 5.80; 0.40 -20061220; 23000; 2.39; 12.40; 5.90; 0.40 -20061221; 29600; 3.08; 3.10; 6.30; 0.40 -20061222; 31900; 3.32; 0.00; 3.10; 0.30 -20061223; 20900; 2.18; 0.00; 0.60; 0.20 -20061224; 19000; 1.98; 0.00; -0.30; 0.20 -20061225; 18100; 1.88; 5.00; 1.50; 0.20 -20061226; 20300; 2.11; 10.20; 9.60; 0.50 -20061227; 33200; 3.46; 37.30; 11.70; 0.60 -20061228; 81000; 8.43; 41.20; 12.20; 0.60 -20061229; 125000; 13.01; 10.40; 9.80; 0.50 -20061230; 119000; 12.39; 5.20; 6.50; 0.40 -20061231; 76600; 7.97; 2.90; 5.40; 0.40 -20070101; 59600; 6.20; 3.00; 3.20; 0.30 -20070102; 50900; 5.30; 0.00; 3.10; 0.30 -20070103; 45400; 4.73; 5.10; 0.90; 0.20 -20070104; 45100; 4.69; 16.30; 4.30; 0.30 -20070105; 56700; 5.90; 7.00; 4.60; 0.40 -20070106; 51800; 5.39; 1.80; 5.60; 0.40 -20070107; 42800; 4.46; 0.70; 4.80; 0.40 -20070108; 37800; 3.93; 1.60; 8.60; 0.50 -20070109; 36100; 3.76; 0.00; 7.30; 0.50 -20070110; 33400; 3.48; 3.50; 9.00; 0.50 -20070111; 32800; 3.41; 1.40; 8.90; 0.50 -20070112; 31900; 3.32; 0.10; 3.00; 0.30 -20070113; 28200; 2.94; 0.00; 2.90; 0.30 -20070114; 26900; 2.80; 0.00; 6.50; 0.50 -20070115; 25700; 2.68; 0.00; 7.00; 0.50 -20070116; 24700; 2.57; 17.80; 9.20; 0.60 -20070117; 39400; 4.10; 23.10; 8.90; 0.60 -20070118; 75900; 7.90; 7.00; 4.70; 0.40 -20070119; 65000; 6.77; 37.80; 7.70; 0.50 -20070120; 123000; 12.80; 5.90; 5.80; 0.50 -20070121; 82400; 8.58; 56.00; 8.70; 0.60 -20070122; 224000; 23.32; 24.20; 10.80; 0.70 -20070123; 238000; 24.77; 3.30; 6.40; 0.50 -20070124; 126000; 13.12; 42.10; 6.90; 0.50 -20070125; 179000; 18.63; 39.70; 11.80; 0.80 -20070126; 278000; 28.94; 7.80; 7.00; 0.60 -20070127; 200000; 20.82; 32.60; 7.80; 0.60 -20070128; 232000; 24.15; 5.80; 9.10; 0.70 -20070129; 152000; 15.82; 3.80; 10.10; 0.70 -20070130; 116000; 12.08; 0.40; 8.50; 0.70 -20070131; 92100; 9.59; 4.00; 10.20; 0.80 -20070201; 83200; 8.66; 12.80; 10.20; 0.80 -20070202; 86700; 9.03; 0.00; 7.20; 0.60 -20070203; 69500; 7.23; 5.10; 9.80; 0.80 -20070204; 62400; 6.50; 1.30; 11.50; 0.90 -20070205; 57100; 5.94; 0.40; 9.70; 0.80 -20070206; 50800; 5.29; 1.00; 8.10; 0.70 -20070207; 47800; 4.98; 10.30; 9.60; 0.80 -20070208; 53000; 5.52; 2.90; 9.60; 0.80 -20070209; 51400; 5.35; 10.10; 8.40; 0.80 -20070210; 58000; 6.04; 16.50; 8.60; 0.80 -20070211; 78600; 8.18; 19.80; 9.80; 0.90 -20070212; 95100; 9.90; 4.00; 8.40; 0.80 -20070213; 68500; 7.13; 12.10; 8.30; 0.80 -20070214; 80500; 8.38; 21.10; 9.60; 0.90 -20070215; 97800; 10.18; 6.10; 10.10; 1.00 -20070216; 88600; 9.22; 12.10; 8.90; 0.90 -20070217; 87900; 9.15; 2.80; 6.50; 0.70 -20070218; 71100; 7.40; 8.50; 7.20; 0.80 -20070219; 73000; 7.60; 19.30; 10.00; 1.00 -20070220; 100000; 10.41; 5.20; 9.90; 1.00 -20070221; 79000; 8.22; 0.50; 6.00; 0.80 -20070222; 63400; 6.60; 9.20; 4.90; 0.70 -20070223; 71200; 7.41; 10.90; 5.60; 0.80 -20070224; 73100; 7.61; 13.40; 10.30; 1.10 -20070225; 73400; 7.64; 3.40; 8.10; 1.00 -20070226; 64000; 6.66; 4.20; 3.20; 0.60 -20070227; 57500; 5.99; 1.20; 5.60; 0.80 -20070228; 51200; 5.33; 5.20; 9.40; 1.10 -20070301; 51500; 5.36; 8.50; 7.10; 0.90 -20070302; 57000; 5.93; 16.10; 5.10; 0.80 -20070303; 76200; 7.93; 3.10; 3.30; 0.70 -20070304; 54400; 5.66; 3.90; 4.80; 0.80 -20070305; 49200; 5.12; 6.80; 6.20; 0.90 -20070306; 48700; 5.07; 3.20; 3.60; 0.70 -20070307; 47500; 4.94; 16.70; 4.10; 0.80 -20070308; 63300; 6.59; 1.40; 3.90; 0.80 -20070309; 50300; 5.24; 0.10; 6.10; 1.00 -20070310; 41800; 4.35; 0.30; 8.80; 1.20 -20070311; 38800; 4.04; 0.80; 9.20; 1.30 -20070312; 36700; 3.82; 0.00; 9.00; 1.30 -20070313; 34700; 3.61; 0.00; 7.60; 1.20 -20070314; 32400; 3.37; 1.60; 8.00; 1.20 -20070315; 30900; 3.22; 3.20; 5.30; 1.00 -20070316; 30300; 3.15; 5.80; 6.50; 1.10 -20070317; 32600; 3.39; 4.20; 9.80; 1.50 -20070318; 34600; 3.60; 21.40; 8.70; 1.40 -20070319; 53300; 5.55; 0.90; 6.90; 1.20 -20070320; 37100; 3.86; 0.00; 4.50; 1.00 -20070321; 29000; 3.02; 0.00; 4.50; 1.00 -20070322; 26900; 2.80; 0.00; 6.80; 1.20 -20070323; 26000; 2.71; 0.00; 9.00; 1.50 -20070324; 25000; 2.60; 0.00; 8.70; 1.50 -20070325; 24200; 2.52; 0.00; 9.20; 1.50 -20070326; 23500; 2.45; 0.70; 9.30; 1.60 -20070327; 22700; 2.36; 0.60; 7.30; 1.40 -20070328; 22100; 2.30; 8.90; 6.70; 1.30 -20070329; 25600; 2.66; 0.00; 6.30; 1.30 -20070330; 21900; 2.28; 0.00; 5.20; 1.10 -20070331; 20200; 2.10; 0.00; 8.00; 1.50 -20070401; 19500; 2.03; 0.00; 10.50; 1.80 -20070402; 19000; 1.98; 0.00; 10.10; 1.80 -20070403; 18500; 1.93; 0.00; 11.90; 2.00 -20070404; 18000; 1.87; 0.00; 8.90; 1.70 -20070405; 17300; 1.80; 0.00; 9.10; 1.70 -20070406; 16800; 1.75; 0.00; 10.70; 1.90 -20070407; 16300; 1.70; 0.00; 11.80; 2.10 -20070408; 15700; 1.63; 0.00; 10.00; 1.90 -20070409; 15100; 1.57; 0.00; 7.50; 1.60 -20070410; 14600; 1.52; 0.00; 8.00; 1.70 -20070411; 14100; 1.47; 0.00; 10.10; 1.90 -20070412; 13500; 1.41; 0.00; 10.70; 2.00 -20070413; 13000; 1.35; 0.00; 8.70; 1.80 -20070414; 12600; 1.31; 0.00; 9.30; 1.90 -20070415; 12200; 1.27; 0.00; 9.00; 1.90 -20070416; 12200; 1.27; 0.20; 9.00; 1.90 -20070417; 12000; 1.25; 1.90; 9.20; 1.90 -20070418; 12400; 1.29; 4.50; 8.00; 1.80 -20070419; 13700; 1.43; 2.00; 3.40; 1.20 -20070420; 12900; 1.34; 5.00; 3.90; 1.20 -20070421; 12800; 1.33; 9.30; 6.70; 1.60 -20070422; 13600; 1.42; 3.30; 4.30; 1.30 -20070423; 15500; 1.61; 2.60; 6.50; 1.60 -20070424; 13300; 1.38; 1.20; 7.10; 1.70 -20070425; 12500; 1.30; 3.20; 7.90; 1.90 -20070426; 12500; 1.30; 0.00; 10.00; 2.20 -20070427; 12200; 1.27; 0.00; 9.10; 2.10 -20070428; 11500; 1.20; 6.70; 10.20; 2.20 -20070429; 12200; 1.27; 1.40; 11.70; 2.50 -20070430; 13500; 1.41; 0.00; 11.50; 2.50 -20070501; 11200; 1.17; 0.00; 13.40; 2.70 -20070502; 10400; 1.08; 0.00; 15.50; 3.10 -20070503; 9600; 1.00; 0.00; 17.90; 3.50 -20070504; 9240; 0.96; 0.00; 18.50; 3.60 -20070505; 8790; 0.92; 0.00; 20.10; 3.90 -20070506; 8240; 0.86; 0.00; 20.10; 3.90 -20070507; 7890; 0.82; 0.40; 19.30; 3.80 -20070508; 7760; 0.81; 0.00; 13.20; 2.80 -20070509; 7100; 0.74; 0.60; 10.60; 2.40 -20070510; 6600; 0.69; 0.20; 12.00; 2.70 -20070511; 6610; 0.69; 2.90; 10.80; 2.50 -20070512; 6590; 0.69; 1.20; 6.80; 1.90 -20070513; 6590; 0.69; 0.00; 7.00; 1.90 -20070514; 6390; 0.67; 0.00; 7.60; 2.00 -20070515; 6130; 0.64; 6.70; 9.40; 2.30 -20070516; 9300; 0.97; 21.40; 11.80; 2.70 -20070517; 15500; 1.61; 5.80; 10.60; 2.50 -20070518; 10800; 1.12; 0.10; 9.30; 2.30 -20070519; 8950; 0.93; 0.00; 9.20; 2.30 -20070520; 7510; 0.78; 0.00; 9.40; 2.40 -20070521; 6940; 0.72; 0.00; 10.60; 2.60 -20070522; 6670; 0.69; 0.00; 14.80; 3.30 -20070523; 5990; 0.62; 1.70; 16.60; 3.60 -20070524; 5780; 0.60; 5.40; 12.70; 2.90 -20070525; 6200; 0.65; 0.70; 12.70; 2.90 -20070526; 6160; 0.64; 6.70; 13.00; 3.00 -20070527; 6470; 0.67; 7.10; 14.60; 3.30 -20070528; 7000; 0.73; 2.90; 14.40; 3.30 -20070529; 8510; 0.89; 4.80; 12.80; 3.00 -20070530; 7240; 0.75; 1.10; 11.50; 2.80 -20070531; 6780; 0.71; 0.30; 12.40; 3.00 -20070601; 6310; 0.66; 3.30; 11.50; 2.80 -20070602; 6150; 0.64; 1.10; 13.20; 3.10 -20070603; 6070; 0.63; 3.00; 12.80; 3.00 -20070604; 6180; 0.64; 0.10; 12.80; 3.00 -20070605; 5830; 0.61; 0.00; 11.70; 2.90 -20070606; 5280; 0.55; 0.00; 13.30; 3.10 -20070607; 4720; 0.49; 0.00; 13.40; 3.20 -20070608; 4720; 0.49; 0.00; 11.90; 2.90 -20070609; 4360; 0.45; 0.00; 11.20; 2.80 -20070610; 4190; 0.44; 0.30; 12.00; 2.90 -20070611; 4270; 0.44; 0.50; 12.70; 3.10 -20070612; 4310; 0.45; 0.00; 12.50; 3.00 -20070613; 4160; 0.43; 0.00; 10.90; 2.80 -20070614; 3960; 0.41; 0.00; 11.40; 2.80 -20070615; 3920; 0.41; 0.00; 13.70; 3.20 -20070616; 3810; 0.40; 0.00; 14.00; 3.30 -20070617; 3600; 0.37; 9.80; 13.00; 3.10 -20070618; 4180; 0.44; 0.10; 14.90; 3.50 -20070619; 4250; 0.44; 0.00; 15.50; 3.60 -20070620; 3960; 0.41; 0.10; 17.50; 3.90 -20070621; 3720; 0.39; 0.00; 17.50; 3.90 -20070622; 3460; 0.36; 0.00; 15.90; 3.60 -20070623; 3050; 0.32; 0.00; 14.90; 3.50 -20070624; 2940; 0.31; 0.00; 14.30; 3.40 -20070625; 2850; 0.30; 0.00; 15.70; 3.60 -20070626; 2740; 0.29; 0.00; 19.10; 4.20 -20070627; 2830; 0.29; 0.00; 19.10; 4.20 -20070628; 2560; 0.27; 0.00; 21.60; 4.60 -20070629; 2430; 0.25; 0.00; 24.10; 5.00 -20070630; 2350; 0.24; 0.00; 22.20; 4.70 -20070701; 2210; 0.23; 20.70; 19.60; 4.30 -20070702; 7280; 0.76; 15.40; 17.20; 3.80 -20070703; 8690; 0.90; 1.20; 14.70; 3.40 -20070704; 6620; 0.69; 0.00; 14.80; 3.40 -20070705; 4220; 0.44; 0.00; 15.00; 3.40 -20070706; 3640; 0.38; 0.00; 15.50; 3.50 -20070707; 3390; 0.35; 0.00; 17.60; 3.90 -20070708; 3080; 0.32; 0.00; 21.10; 4.50 -20070709; 2760; 0.29; 0.10; 22.80; 4.80 -20070710; 2740; 0.29; 2.90; 18.80; 4.10 -20070711; 2820; 0.29; 2.10; 17.70; 3.80 -20070712; 2910; 0.30; 1.00; 16.40; 3.60 -20070713; 2800; 0.29; 2.30; 17.30; 3.80 -20070714; 2760; 0.29; 1.80; 17.00; 3.70 -20070715; 2690; 0.28; 0.20; 17.40; 3.80 -20070716; 2510; 0.26; 2.50; 16.70; 3.60 -20070717; 2470; 0.26; 2.20; 17.50; 3.80 -20070718; 2490; 0.26; 0.00; 17.70; 3.80 -20070719; 2500; 0.26; 0.00; 21.40; 4.40 -20070720; 2320; 0.24; 0.00; 24.40; 4.90 -20070721; 2120; 0.22; 0.00; 18.70; 3.90 -20070722; 1950; 0.20; 0.00; 15.70; 3.40 -20070723; 1880; 0.20; 0.00; 16.20; 3.50 -20070724; 1790; 0.19; 0.00; 19.90; 4.10 -20070725; 1830; 0.19; 1.40; 22.90; 4.60 -20070726; 1680; 0.17; 16.80; 18.00; 3.70 -20070727; 2620; 0.27; 1.50; 17.50; 3.70 -20070728; 3030; 0.32; 0.00; 19.80; 4.00 -20070729; 2640; 0.27; 0.00; 20.90; 4.10 -20070730; 2310; 0.24; 0.20; 20.90; 4.10 -20070731; 2060; 0.21; 0.80; 21.40; 4.20 -20070801; 2100; 0.22; 2.80; 21.80; 4.20 -20070802; 2170; 0.23; 7.60; 19.50; 3.90 -20070803; 2620; 0.27; 1.50; 20.70; 4.00 -20070804; 2420; 0.25; 0.80; 20.40; 4.00 -20070805; 2180; 0.23; 13.10; 16.50; 3.30 -20070806; 3180; 0.33; 21.00; 16.80; 3.40 -20070807; 6590; 0.69; 0.60; 16.50; 3.30 -20070808; 4930; 0.51; 0.00; 16.20; 3.20 -20070809; 3150; 0.33; 0.00; 17.10; 3.40 -20070810; 2540; 0.26; 0.00; 21.00; 3.90 -20070811; 2150; 0.22; 0.00; 21.70; 4.00 -20070812; 1960; 0.20; 0.80; 19.20; 3.60 -20070813; 1910; 0.20; 0.00; 17.40; 3.30 -20070814; 1810; 0.19; 0.00; 16.50; 3.20 -20070815; 1680; 0.17; 0.00; 17.90; 3.30 -20070816; 1550; 0.16; 0.00; 19.40; 3.50 -20070817; 1660; 0.17; 0.00; 20.50; 3.70 -20070818; 1610; 0.17; 0.00; 20.50; 3.70 -20070819; 1600; 0.17; 0.00; 20.70; 3.70 -20070820; 1540; 0.16; 0.00; 21.40; 3.70 -20070821; 1490; 0.16; 0.00; 20.70; 3.60 -20070822; 1340; 0.14; 0.00; 20.60; 3.50 -20070823; 1170; 0.12; 0.30; 17.30; 3.10 -20070824; 1080; 0.11; 0.50; 18.00; 3.10 -20070825; 1120; 0.12; 0.20; 18.70; 3.20 -20070826; 1210; 0.13; 1.60; 18.20; 3.10 -20070827; 1150; 0.12; 0.00; 16.80; 2.90 -20070828; 1200; 0.12; 0.00; 13.60; 2.50 -20070829; 1190; 0.12; 0.10; 15.30; 2.70 -20070830; 1160; 0.12; 0.10; 15.10; 2.60 -20070831; 1030; 0.11; 0.00; 15.20; 2.60 -20070901; 1070; 0.11; 0.00; 16.30; 2.70 -20070902; 1020; 0.11; 1.10; 15.00; 2.50 -20070903; 1010; 0.11; 0.50; 12.60; 2.20 -20070904; 1210; 0.13; 0.00; 14.10; 2.40 -20070905; 1320; 0.14; 0.30; 13.70; 2.30 -20070906; 1560; 0.16; 49.50; 14.50; 2.40 -20070907; 8640; 0.90; 31.90; 15.30; 2.40 -20070908; 17100; 1.78; 3.30; 15.40; 2.40 -20070909; 7380; 0.77; 9.20; 15.00; 2.40 -20070910; 5160; 0.54; 10.30; 15.00; 2.30 -20070911; 8910; 0.93; 3.50; 13.30; 2.10 -20070912; 6270; 0.65; 3.60; 12.40; 2.00 -20070913; 5060; 0.53; 7.10; 13.30; 2.10 -20070914; 4730; 0.49; 14.40; 14.40; 2.20 -20070915; 9430; 0.98; 1.60; 14.20; 2.10 -20070916; 8470; 0.88; 4.60; 13.70; 2.10 -20070917; 7110; 0.74; 6.80; 14.30; 2.10 -20070918; 5940; 0.62; 14.30; 14.10; 2.10 -20070919; 14100; 1.47; 0.10; 15.40; 2.20 -20070920; 8610; 0.90; 0.00; 13.00; 1.90 -20070921; 5830; 0.61; 0.00; 13.10; 1.90 -20070922; 4640; 0.48; 0.00; 13.50; 1.90 -20070923; 4280; 0.45; 1.30; 13.50; 1.90 -20070924; 4090; 0.43; 4.80; 12.30; 1.70 -20070925; 4260; 0.44; 0.10; 11.70; 1.60 -20070926; 4020; 0.42; 10.50; 14.30; 1.90 -20070927; 4880; 0.51; 2.20; 13.50; 1.80 -20070928; 6040; 0.63; 0.00; 9.50; 1.40 -20070929; 4600; 0.48; 9.40; 9.40; 1.30 -20070930; 5090; 0.53; 1.40; 14.80; 1.80 -20071001; 6650; 0.69; 1.00; 15.00; 1.80 -20071002; 5550; 0.58; 8.10; 14.10; 1.70 -20071003; 6400; 0.67; 12.00; 15.50; 1.80 -20071004; 10900; 1.13; 5.50; 14.00; 1.70 -20071005; 14700; 1.53; 0.60; 12.10; 1.50 -20071006; 8470; 0.88; 4.80; 14.60; 1.70 -20071007; 7740; 0.81; 0.10; 16.00; 1.80 -20071008; 6940; 0.72; 0.00; 16.50; 1.80 -20071009; 5640; 0.59; 0.00; 16.70; 1.80 -20071010; 5380; 0.56; 0.00; 15.60; 1.70 -20071011; 4770; 0.50; 0.00; 16.00; 1.70 -20071012; 4680; 0.49; 0.00; 15.80; 1.70 -20071013; 4660; 0.49; 0.00; 14.80; 1.50 -20071014; 4800; 0.50; 0.50; 14.70; 1.50 -20071015; 4780; 0.50; 0.20; 14.60; 1.50 -20071016; 4720; 0.49; 0.10; 13.80; 1.40 -20071017; 4480; 0.47; 1.60; 15.30; 1.50 -20071018; 4430; 0.46; 0.00; 11.70; 1.20 -20071019; 4590; 0.48; 0.00; 10.70; 1.10 -20071020; 4340; 0.45; 0.10; 11.10; 1.10 -20071021; 4380; 0.46; 0.00; 10.50; 1.10 -20071022; 4230; 0.44; 0.00; 9.20; 1.00 -20071023; 4140; 0.43; 0.50; 12.50; 1.20 -20071024; 4430; 0.46; 13.50; 15.20; 1.30 -20071025; 6720; 0.70; 2.20; 12.40; 1.10 -20071026; 6410; 0.67; 2.80; 15.90; 1.30 -20071027; 5730; 0.60; 0.90; 14.50; 1.20 -20071028; 5530; 0.58; 1.40; 13.60; 1.20 -20071029; 5400; 0.56; 0.10; 13.60; 1.20 -20071030; 5210; 0.54; 0.00; 12.40; 1.00 -20071031; 4910; 0.51; 0.00; 10.60; 0.90 -20071101; 4780; 0.50; 0.00; 8.20; 0.80 -20071102; 4630; 0.48; 0.00; 9.10; 0.80 -20071103; 4670; 0.49; 0.00; 8.10; 0.70 -20071104; 4310; 0.45; 0.00; 8.50; 0.70 -20071105; 4320; 0.45; 0.00; 2.90; 0.40 -20071106; 4150; 0.43; 0.00; 3.20; 0.40 -20071107; 4130; 0.43; 0.00; 5.70; 0.60 -20071108; 4080; 0.42; 0.00; 7.50; 0.60 -20071109; 4110; 0.43; 0.00; 7.70; 0.70 -20071110; 4310; 0.45; 19.50; 7.80; 0.70 -20071111; 8400; 0.87; 14.90; 11.80; 0.90 -20071112; 14200; 1.48; 2.00; 9.80; 0.70 -20071113; 10600; 1.10; 1.60; 9.00; 0.70 -20071114; 8690; 0.90; 13.30; 10.00; 0.70 -20071115; 14500; 1.51; 3.10; 10.70; 0.70 -20071116; 11700; 1.22; 4.60; 9.90; 0.70 -20071117; 10900; 1.13; 0.00; 5.00; 0.50 -20071118; 9370; 0.98; 0.00; 1.20; 0.30 -20071119; 7730; 0.80; 0.00; 1.20; 0.30 -20071120; 7090; 0.74; 0.30; 5.20; 0.50 -20071121; 7040; 0.73; 2.10; 9.60; 0.60 -20071122; 6960; 0.72; 0.10; 9.70; 0.60 -20071123; 6880; 0.72; 0.30; 9.50; 0.60 -20071124; 6750; 0.70; 11.60; 11.20; 0.70 -20071125; 10200; 1.06; 7.40; 9.00; 0.60 -20071126; 15700; 1.63; 10.40; 6.80; 0.50 -20071127; 15200; 1.58; 4.10; 8.40; 0.50 -20071128; 15000; 1.56; 6.20; 8.40; 0.50 -20071129; 15200; 1.58; 1.40; 7.70; 0.50 -20071130; 12100; 1.26; 17.20; 7.50; 0.50 -20071201; 23100; 2.40; 6.70; 10.00; 0.60 -20071202; 23700; 2.47; 4.70; 12.00; 0.70 -20071203; 20600; 2.14; 2.80; 11.60; 0.60 -20071204; 17300; 1.80; 0.90; 8.20; 0.50 -20071205; 15400; 1.60; 0.30; 0.90; 0.20 -20071206; 13900; 1.45; 0.20; -1.50; 0.10 -20071207; 13100; 1.36; 0.10; -1.80; 0.10 -20071208; 12400; 1.29; 0.00; -0.30; 0.20 -20071209; 12000; 1.25; 0.00; 2.80; 0.30 -20071210; 11700; 1.22; 0.00; 6.20; 0.40 -20071211; 11200; 1.17; 0.00; 3.50; 0.30 -20071212; 11100; 1.16; 0.00; 5.60; 0.40 -20071213; 11000; 1.15; 0.10; 4.20; 0.30 -20071214; 10600; 1.10; 0.10; 2.50; 0.30 -20071215; 10300; 1.07; 1.60; -0.30; 0.20 -20071216; 10100; 1.05; 1.60; 3.30; 0.30 -20071217; 10300; 1.07; 3.10; 5.10; 0.40 -20071218; 10600; 1.10; 3.20; 5.20; 0.40 -20071219; 11200; 1.17; 5.60; 8.40; 0.50 -20071220; 13100; 1.36; 13.40; 10.70; 0.60 -20071221; 18000; 1.87; 34.70; 11.80; 0.60 -20071222; 54000; 5.62; 13.70; 11.50; 0.60 -20071223; 55400; 5.77; 3.80; 10.10; 0.50 -20071224; 33500; 3.49; 0.30; 7.80; 0.50 -20071225; 24700; 2.57; 1.10; 4.00; 0.30 -20071226; 22000; 2.29; 0.30; 1.60; 0.20 -20071227; 20000; 2.08; 0.00; -0.60; 0.20 -20071228; 18900; 1.97; 0.20; -0.80; 0.10 -20071229; 18100; 1.88; 10.70; -0.70; 0.20 -20071230; 24100; 2.51; 5.70; 8.00; 0.50 -20071231; 29300; 3.05; 1.60; 8.60; 0.50 -20080101; 22800; 2.37; 2.00; 8.90; 0.50 -20080102; 20400; 2.12; 1.10; 8.10; 0.50 -20080103; 18900; 1.97; 0.00; 5.70; 0.40 -20080104; 18200; 1.89; 6.20; 7.20; 0.50 -20080105; 20100; 2.09; 3.10; 7.70; 0.50 -20080106; 19500; 2.03; 6.10; 8.70; 0.50 -20080107; 23900; 2.49; 6.30; 9.10; 0.50 -20080108; 22500; 2.34; 17.20; 10.60; 0.60 -20080109; 40300; 4.20; 3.80; 10.10; 0.60 -20080110; 31600; 3.29; 10.20; 7.50; 0.50 -20080111; 34200; 3.56; 14.90; 8.80; 0.50 -20080112; 48400; 5.04; 2.20; 9.80; 0.60 -20080113; 36900; 3.84; 3.60; 9.20; 0.60 -20080114; 29700; 3.09; 0.30; 9.50; 0.60 -20080115; 26800; 2.79; 0.20; 9.20; 0.60 -20080116; 24800; 2.58; 0.30; 7.40; 0.50 -20080117; 23500; 2.45; 0.00; 6.20; 0.50 -20080118; 22800; 2.37; 0.10; 6.50; 0.50 -20080119; 21700; 2.26; 5.60; 7.70; 0.50 -20080120; 31200; 3.25; 9.00; 6.70; 0.50 -20080121; 34700; 3.61; 0.10; 5.90; 0.50 -20080122; 24500; 2.55; 4.00; 6.60; 0.50 -20080123; 24800; 2.58; 9.30; 5.90; 0.50 -20080124; 31100; 3.24; 0.20; 6.60; 0.50 -20080125; 25100; 2.61; 0.20; 3.70; 0.40 -20080126; 22400; 2.33; 0.10; -0.10; 0.20 -20080127; 21100; 2.20; 0.10; -0.10; 0.20 -20080128; 20400; 2.12; 0.60; 4.00; 0.40 -20080129; 20000; 2.08; 0.10; 2.40; 0.40 -20080130; 19300; 2.01; 0.00; 4.60; 0.50 -20080131; 18500; 1.93; 0.00; 0.70; 0.30 -20080201; 17800; 1.85; 0.00; 1.10; 0.30 -20080202; 17400; 1.81; 0.00; 2.00; 0.40 -20080203; 16800; 1.75; 0.10; 0.90; 0.30 -20080204; 16500; 1.72; 0.10; 1.20; 0.30 -20080205; 17700; 1.84; 30.10; 0.30; 0.30 -20080206; 42700; 4.44; 12.50; 3.00; 0.40 -20080207; 43700; 4.55; 15.70; 4.00; 0.50 -20080208; 53200; 5.54; 1.00; 5.20; 0.60 -20080209; 36200; 3.77; 12.60; 6.60; 0.70 -20080210; 41600; 4.33; 6.40; 4.50; 0.50 -20080211; 35500; 3.70; 12.70; 6.70; 0.70 -20080212; 43700; 4.55; 2.20; 8.60; 0.80 -20080213; 40800; 4.25; 0.30; 5.40; 0.60 -20080214; 30900; 3.22; 0.00; 3.40; 0.50 -20080215; 28300; 2.95; 0.00; 2.90; 0.50 -20080216; 27000; 2.81; 0.00; 6.20; 0.70 -20080217; 26000; 2.71; 2.30; 7.60; 0.80 -20080218; 26200; 2.73; 13.10; 6.50; 0.80 -20080219; 34700; 3.61; 3.50; 2.10; 0.50 -20080220; 29900; 3.11; 2.20; -0.90; 0.30 -20080221; 26000; 2.71; 1.30; -0.50; 0.30 -20080222; 24900; 2.59; 5.00; 2.60; 0.50 -20080223; 30200; 3.14; 6.00; 5.80; 0.80 -20080224; 33300; 3.47; 27.80; 8.00; 1.00 -20080225; 62100; 6.46; 3.20; 6.90; 0.90 -20080226; 50200; 5.23; 1.00; 3.80; 0.70 -20080227; 34700; 3.61; 0.20; 4.20; 0.70 -20080228; 30400; 3.16; 0.00; 4.70; 0.70 -20080229; 28200; 2.94; 0.00; 4.40; 0.70 -20080301; 26900; 2.80; 0.00; 5.80; 0.90 -20080302; 25700; 2.68; 0.80; 5.50; 0.80 -20080303; 25100; 2.61; 0.50; 5.70; 0.90 -20080304; 24100; 2.51; 0.00; 5.40; 0.80 -20080305; 23000; 2.39; 0.00; 5.50; 0.90 -20080306; 22200; 2.31; 0.00; 4.70; 0.80 -20080307; 21200; 2.21; 0.80; 2.90; 0.70 -20080308; 20900; 2.18; 1.80; 1.70; 0.60 -20080309; 20500; 2.13; 0.10; 4.50; 0.80 -20080310; 19500; 2.03; 0.00; 7.90; 1.10 -20080311; 18500; 1.93; 0.00; 5.00; 0.90 -20080312; 18100; 1.88; 0.00; 5.00; 0.90 -20080313; 17500; 1.82; 0.00; 4.20; 0.80 -20080314; 16800; 1.75; 0.10; 4.90; 0.90 -20080315; 16400; 1.71; 0.40; 5.30; 1.00 -20080316; 15700; 1.63; 0.50; 6.10; 1.10 -20080317; 15200; 1.58; 7.70; 6.10; 1.10 -20080318; 17700; 1.84; 0.20; 7.30; 1.20 -20080319; 16100; 1.68; 4.70; 7.60; 1.30 -20080320; 15500; 1.61; 5.10; 8.60; 1.40 -20080321; 16500; 1.72; 2.70; 9.10; 1.40 -20080322; 16100; 1.68; 0.90; 10.40; 1.60 -20080323; 15800; 1.64; 0.30; 12.70; 1.90 -20080324; 14500; 1.51; 3.40; 14.30; 2.10 -20080325; 14200; 1.48; 2.70; 12.30; 1.90 -20080326; 14600; 1.52; 11.80; 9.70; 1.60 -20080327; 24500; 2.55; 0.00; 3.90; 1.00 -20080328; 17700; 1.84; 0.00; 2.90; 0.90 -20080329; 14300; 1.49; 0.20; 4.90; 1.10 -20080330; 13500; 1.41; 0.00; 4.20; 1.00 -20080331; 13000; 1.35; 0.70; 3.60; 1.00 -20080401; 12900; 1.34; 0.00; 4.70; 1.10 -20080402; 12300; 1.28; 0.00; 3.00; 0.90 -20080403; 11900; 1.24; 0.00; 3.20; 1.00 -20080404; 11500; 1.20; 0.00; 3.80; 1.00 -20080405; 11100; 1.16; 0.00; 4.90; 1.20 -20080406; 11100; 1.16; 0.00; 5.70; 1.30 -20080407; 11000; 1.15; 0.00; 8.40; 1.70 -20080408; 11000; 1.15; 0.00; 9.60; 1.80 -20080409; 10900; 1.13; 11.40; 9.00; 1.80 -20080410; 12500; 1.30; 0.40; 10.50; 2.00 -20080411; 13900; 1.45; 0.00; 9.20; 1.80 -20080412; 11900; 1.24; 4.70; 10.80; 2.00 -20080413; 11400; 1.19; 1.30; 10.80; 2.10 -20080414; 11600; 1.21; 1.60; 9.50; 1.90 -20080415; 11300; 1.18; 0.20; 11.60; 2.20 -20080416; 11200; 1.17; 6.20; 11.30; 2.20 -20080417; 11900; 1.24; 0.50; 9.40; 1.90 -20080418; 11300; 1.18; 0.80; 10.70; 2.10 -20080419; 10900; 1.13; 0.20; 12.10; 2.40 -20080420; 10500; 1.09; 1.40; 11.70; 2.30 -20080421; 10500; 1.09; 1.10; 11.60; 2.30 -20080422; 10500; 1.09; 13.30; 9.50; 2.00 -20080423; 13400; 1.39; 2.30; 9.20; 2.00 -20080424; 13600; 1.42; 0.40; 8.90; 2.00 -20080425; 11800; 1.23; 0.00; 9.00; 2.00 -20080426; 10600; 1.10; 0.00; 10.00; 2.20 -20080427; 10000; 1.04; 0.00; 11.70; 2.40 -20080428; 9650; 1.00; 0.00; 11.30; 2.40 -20080429; 9180; 0.96; 0.00; 9.10; 2.10 -20080430; 8710; 0.91; 7.80; 7.50; 1.90 -20080501; 9820; 1.02; 13.20; 8.40; 2.00 -20080502; 14400; 1.50; 4.40; 8.90; 2.10 -20080503; 14600; 1.52; 0.10; 7.50; 1.90 -20080504; 12000; 1.25; 0.00; 8.20; 2.00 -20080505; 10400; 1.08; 0.10; 8.70; 2.10 -20080506; 9550; 0.99; 12.90; 7.40; 1.90 -20080507; 11600; 1.21; 3.10; 8.70; 2.10 -20080508; 14000; 1.46; 0.00; 9.40; 2.20 -20080509; 11300; 1.18; 0.00; 7.60; 2.00 -20080510; 10000; 1.04; 0.00; 7.30; 1.90 -20080511; 9430; 0.98; 0.00; 7.20; 1.90 -20080512; 9010; 0.94; 0.00; 7.50; 2.00 -20080513; 8690; 0.90; 0.00; 9.10; 2.30 -20080514; 8530; 0.89; 0.00; 10.10; 2.40 -20080515; 8230; 0.86; 0.10; 10.90; 2.60 -20080516; 8260; 0.86; 11.80; 7.40; 2.00 -20080517; 8920; 0.93; 1.70; 7.20; 2.00 -20080518; 8750; 0.91; 30.00; 7.50; 2.00 -20080519; 24400; 2.54; 1.40; 7.70; 2.10 -20080520; 18800; 1.96; 1.90; 9.20; 2.30 -20080521; 12000; 1.25; 0.50; 10.40; 2.50 -20080522; 10100; 1.05; 18.30; 11.30; 2.70 -20080523; 17100; 1.78; 1.00; 12.40; 2.90 -20080524; 14000; 1.46; 8.50; 12.10; 2.80 -20080525; 13500; 1.41; 2.20; 12.10; 2.90 -20080526; 15100; 1.57; 3.50; 11.70; 2.80 -20080527; 13600; 1.42; 0.10; 11.80; 2.80 -20080528; 11800; 1.23; 0.00; 12.10; 2.90 -20080529; 10500; 1.09; 0.00; 13.80; 3.20 -20080530; 10000; 1.04; 0.00; 16.40; 3.60 -20080531; 9540; 0.99; 0.30; 13.10; 3.10 -20080601; 8640; 0.90; 0.40; 12.00; 2.90 -20080602; 8420; 0.88; 0.90; 10.70; 2.70 -20080603; 8280; 0.86; 0.00; 11.40; 2.80 -20080604; 8040; 0.84; 0.00; 15.40; 3.50 -20080605; 7730; 0.80; 0.00; 20.00; 4.30 -20080606; 7260; 0.76; 0.00; 21.60; 4.60 -20080607; 7060; 0.73; 1.30; 18.30; 4.00 -20080608; 6730; 0.70; 0.20; 14.20; 3.30 -20080609; 6580; 0.68; 0.00; 14.40; 3.40 -20080610; 6330; 0.66; 0.10; 15.40; 3.50 -20080611; 6350; 0.66; 0.10; 16.40; 3.70 -20080612; 6020; 0.63; 0.00; 15.70; 3.60 -20080613; 5630; 0.59; 0.00; 15.60; 3.60 -20080614; 5270; 0.55; 0.00; 16.30; 3.70 -20080615; 4910; 0.51; 0.00; 18.00; 4.00 -20080616; 4750; 0.49; 0.00; 20.10; 4.40 -20080617; 4600; 0.48; 0.00; 21.60; 4.60 -20080618; 4450; 0.46; 0.00; 21.10; 4.50 -20080619; 4210; 0.44; 1.20; 17.50; 3.90 -20080620; 4290; 0.45; 0.30; 15.90; 3.60 -20080621; 4220; 0.44; 0.10; 13.60; 3.20 -20080622; 4210; 0.44; 0.00; 12.60; 3.10 -20080623; 4040; 0.42; 0.00; 13.30; 3.20 -20080624; 3710; 0.39; 0.00; 14.20; 3.40 -20080625; 3440; 0.36; 0.00; 15.40; 3.60 -20080626; 3330; 0.35; 0.20; 15.10; 3.50 -20080627; 3390; 0.35; 0.30; 16.70; 3.80 -20080628; 3420; 0.36; 1.50; 15.80; 3.60 -20080629; 3400; 0.35; 0.00; 14.80; 3.40 -20080630; 3380; 0.35; 1.30; 13.80; 3.30 -20080701; 3530; 0.37; 0.40; 13.50; 3.20 -20080702; 3590; 0.37; 2.20; 14.70; 3.40 -20080703; 3550; 0.37; 5.40; 15.00; 3.50 -20080704; 3780; 0.39; 0.60; 14.30; 3.30 -20080705; 3840; 0.40; 0.50; 13.10; 3.10 -20080706; 3670; 0.38; 0.90; 12.40; 3.00 -20080707; 3550; 0.37; 0.00; 12.90; 3.10 -20080708; 3340; 0.35; 0.00; 14.20; 3.30 -20080709; 3100; 0.32; 0.50; 13.80; 3.20 -20080710; 3100; 0.32; 0.00; 17.60; 3.80 -20080711; 3040; 0.32; 0.00; 16.40; 3.60 -20080712; 2860; 0.30; 0.20; 15.30; 3.40 -20080713; 2810; 0.29; 0.00; 17.30; 3.80 -20080714; 2790; 0.29; 0.00; 19.20; 4.10 -20080715; 2830; 0.29; 0.00; 18.90; 4.00 -20080716; 2720; 0.28; 0.00; 18.30; 3.90 -20080717; 2520; 0.26; 0.00; 18.20; 3.90 -20080718; 2420; 0.25; 0.00; 19.60; 4.10 -20080719; 2310; 0.24; 0.00; 20.90; 4.30 -20080720; 2280; 0.24; 0.00; 21.80; 4.40 -20080721; 2300; 0.24; 0.00; 22.40; 4.50 -20080722; 2240; 0.23; 0.00; 23.10; 4.60 -20080723; 2200; 0.23; 0.00; 17.70; 3.70 -20080724; 2130; 0.22; 0.00; 17.20; 3.60 -20080725; 2110; 0.22; 0.00; 17.00; 3.60 -20080726; 2020; 0.21; 0.00; 18.40; 3.80 -20080727; 1890; 0.20; 0.10; 17.90; 3.70 -20080728; 1920; 0.20; 4.50; 16.50; 3.50 -20080729; 2270; 0.24; 0.40; 18.50; 3.80 -20080730; 2300; 0.24; 0.10; 16.60; 3.40 -20080731; 2280; 0.24; 1.20; 16.30; 3.40 -20080801; 2290; 0.24; 0.00; 16.20; 3.40 -20080802; 2240; 0.23; 0.00; 15.00; 3.10 -20080803; 2110; 0.22; 0.00; 16.00; 3.30 -20080804; 2090; 0.22; 0.00; 19.40; 3.80 -20080805; 1980; 0.21; 2.50; 17.60; 3.50 -20080806; 2000; 0.21; 0.00; 15.60; 3.20 -20080807; 1950; 0.20; 0.00; 14.30; 3.00 -20080808; 1830; 0.19; 6.30; 15.20; 3.10 -20080809; 1930; 0.20; 20.10; 17.00; 3.30 -20080810; 2960; 0.31; 8.90; 16.10; 3.20 -20080811; 3620; 0.38; 0.60; 15.40; 3.00 -20080812; 3090; 0.32; 0.00; 16.80; 3.30 -20080813; 2560; 0.27; 0.10; 17.50; 3.30 -20080814; 2430; 0.25; 0.00; 17.30; 3.30 -20080815; 2210; 0.23; 0.00; 17.90; 3.30 -20080816; 2110; 0.22; 0.00; 19.20; 3.50 -20080817; 2010; 0.21; 0.00; 20.30; 3.60 -20080818; 1870; 0.19; 0.00; 21.30; 3.80 -20080819; 1800; 0.19; 7.10; 18.80; 3.40 -20080820; 2000; 0.21; 0.10; 17.30; 3.10 -20080821; 2080; 0.22; 0.00; 14.90; 2.80 -20080822; 1890; 0.20; 30.80; 15.10; 2.80 -20080823; 4640; 0.48; 3.80; 15.50; 2.80 -20080824; 4340; 0.45; 1.60; 15.60; 2.80 -20080825; 3020; 0.31; 0.20; 14.80; 2.70 -20080826; 2490; 0.26; 1.70; 13.20; 2.40 -20080827; 2410; 0.25; 0.30; 13.90; 2.50 -20080828; 2310; 0.24; 0.30; 14.40; 2.60 -20080829; 2100; 0.22; 0.00; 14.40; 2.50 -20080830; 2060; 0.21; 0.10; 14.60; 2.60 -20080831; 2030; 0.21; 0.00; 13.00; 2.30 -20080901; 1910; 0.20; 0.10; 13.60; 2.40 -20080902; 1880; 0.20; 0.00; 14.60; 2.50 -20080903; 1850; 0.19; 0.00; 14.60; 2.50 -20080904; 1790; 0.19; 0.10; 16.70; 2.70 -20080905; 1720; 0.18; 0.00; 16.70; 2.70 -20080906; 1670; 0.17; 0.10; 16.50; 2.60 -20080907; 1680; 0.17; 0.00; 15.10; 2.40 -20080908; 1590; 0.17; 0.30; 13.50; 2.20 -20080909; 1590; 0.17; 0.20; 14.00; 2.20 -20080910; 1590; 0.17; 0.10; 13.20; 2.10 -20080911; 1570; 0.16; 0.10; 11.90; 2.00 -20080912; 1530; 0.16; 0.10; 12.20; 2.00 -20080913; 1540; 0.16; 0.10; 11.60; 1.90 -20080914; 1570; 0.16; 0.00; 11.10; 1.80 -20080915; 1560; 0.16; 0.00; 13.30; 2.10 -20080916; 1550; 0.16; 0.00; 14.50; 2.20 -20080917; 1500; 0.16; 0.00; 14.40; 2.10 -20080918; 1460; 0.15; 0.10; 13.20; 2.00 -20080919; 1400; 0.15; 1.10; 10.70; 1.70 -20080920; 1440; 0.15; 0.10; 11.10; 1.70 -20080921; 1420; 0.15; 0.10; 12.30; 1.80 -20080922; 1460; 0.15; 0.10; 11.20; 1.70 -20080923; 1550; 0.16; 0.00; 10.10; 1.50 -20080924; 1390; 0.14; 5.10; 11.50; 1.60 -20080925; 1570; 0.16; 1.20; 13.80; 1.90 -20080926; 1770; 0.18; 21.70; 13.60; 1.80 -20080927; 2790; 0.29; 0.90; 14.50; 1.90 -20080928; 2530; 0.26; 0.10; 12.70; 1.70 -20080929; 2080; 0.22; 5.30; 15.20; 1.90 -20080930; 2280; 0.24; 22.90; 13.80; 1.80 -20081001; 5280; 0.55; 6.90; 12.40; 1.60 -20081002; 4530; 0.47; 0.20; 12.60; 1.60 -20081003; 3250; 0.34; 2.70; 11.70; 1.50 -20081004; 2730; 0.28; 1.10; 12.20; 1.50 -20081005; 2560; 0.27; 3.30; 10.00; 1.30 -20081006; 2500; 0.26; 3.90; 10.70; 1.30 -20081007; 2490; 0.26; 0.50; 12.50; 1.50 -20081008; 2780; 0.29; 2.00; 13.00; 1.50 -20081009; 2580; 0.27; 0.00; 11.80; 1.40 -20081010; 2410; 0.25; 0.50; 12.40; 1.40 -20081011; 2270; 0.24; 0.10; 11.30; 1.30 -20081012; 2240; 0.23; 0.10; 12.70; 1.40 -20081013; 2210; 0.23; 1.60; 15.60; 1.60 -20081014; 2290; 0.24; 6.40; 13.30; 1.40 -20081015; 2550; 0.27; 2.80; 10.30; 1.10 -20081016; 2500; 0.26; 4.00; 9.40; 1.10 -20081017; 2650; 0.28; 3.50; 9.00; 1.00 -20081018; 2580; 0.27; 2.10; 13.50; 1.30 -20081019; 2740; 0.29; 0.50; 13.50; 1.30 -20081020; 2610; 0.27; 4.90; 14.40; 1.40 -20081021; 2630; 0.27; 1.00; 15.00; 1.40 -20081022; 2720; 0.28; 0.30; 13.80; 1.30 -20081023; 2650; 0.28; 0.20; 13.10; 1.20 -20081024; 2500; 0.26; 3.50; 14.20; 1.30 -20081025; 2500; 0.26; 4.40; 13.20; 1.20 -20081026; 2630; 0.27; 0.70; 11.70; 1.10 -20081027; 2750; 0.29; 4.30; 14.00; 1.20 -20081028; 2790; 0.29; 2.50; 13.60; 1.10 -20081029; 2830; 0.29; 0.20; 10.00; 0.90 -20081030; 2650; 0.28; 0.50; 8.90; 0.80 -20081031; 2540; 0.26; 3.10; 12.60; 1.00 -20081101; 2560; 0.27; 0.20; 12.90; 1.00 -20081102; 2560; 0.27; 0.50; 13.30; 1.10 -20081103; 2570; 0.27; 21.60; 13.60; 1.10 -20081104; 6220; 0.65; 7.00; 12.50; 1.00 -20081105; 8500; 0.88; 1.80; 10.60; 0.90 -20081106; 4940; 0.51; 9.50; 12.70; 1.00 -20081107; 5160; 0.54; 3.50; 10.40; 0.80 -20081108; 5090; 0.53; 1.20; 8.30; 0.70 -20081109; 4240; 0.44; 6.90; 8.80; 0.70 -20081110; 4350; 0.45; 0.20; 7.60; 0.60 -20081111; 4690; 0.49; 2.00; 6.00; 0.60 -20081112; 3980; 0.41; 4.60; 7.80; 0.60 -20081113; 3620; 0.38; 0.00; 6.50; 0.60 -20081114; 3500; 0.36; 0.00; 5.10; 0.50 -20081115; 3220; 0.34; 0.10; 3.50; 0.40 -20081116; 3070; 0.32; 0.10; 1.60; 0.30 -20081117; 3020; 0.31; 5.50; 3.50; 0.40 -20081118; 3250; 0.34; 27.90; 3.80; 0.40 -20081119; 13000; 1.35; 14.20; 7.60; 0.60 -20081120; 19100; 1.99; 2.60; 4.70; 0.40 -20081121; 11200; 1.17; 0.20; 2.40; 0.30 -20081122; 7400; 0.77; 8.50; 2.40; 0.30 -20081123; 8310; 0.87; 1.70; 3.70; 0.30 -20081124; 8130; 0.85; 22.30; 6.00; 0.50 -20081125; 19000; 1.98; 3.70; 9.00; 0.60 -20081126; 16700; 1.74; 10.40; 6.10; 0.50 -20081127; 13500; 1.41; 2.50; 6.70; 0.50 -20081128; 14300; 1.49; 5.90; 5.80; 0.40 -20081129; 11300; 1.18; 3.90; 10.50; 0.60 -20081130; 13300; 1.38; 2.70; 10.50; 0.60 -20081201; 11300; 1.18; 1.20; 10.40; 0.60 -20081202; 10200; 1.06; 4.60; 8.60; 0.50 -20081203; 13100; 1.36; 19.80; 8.90; 0.50 -20081204; 27100; 2.82; 0.40; 4.20; 0.30 -20081205; 15200; 1.58; 0.20; 3.60; 0.30 -20081206; 11800; 1.23; 1.50; 5.80; 0.40 -20081207; 11200; 1.17; 0.10; 7.00; 0.40 -20081208; 10900; 1.13; 0.10; 5.70; 0.40 -20081209; 10300; 1.07; 0.00; 3.90; 0.30 -20081210; 9870; 1.03; 0.10; 1.90; 0.30 -20081211; 9330; 0.97; 1.00; 2.70; 0.30 -20081212; 9150; 0.95; 1.40; 3.10; 0.30 -20081213; 9310; 0.97; 0.00; 5.10; 0.40 -20081214; 9020; 0.94; 0.00; 2.50; 0.30 -20081215; 8390; 0.87; 0.00; 0.60; 0.20 -20081216; 8060; 0.84; 10.10; 0.80; 0.20 -20081217; 10200; 1.06; 2.40; 10.50; 0.50 -20081218; 14000; 1.46; 11.80; 8.70; 0.50 -20081219; 18700; 1.95; 3.40; 9.00; 0.50 -20081220; 14000; 1.46; 0.40; 7.30; 0.40 -20081221; 11800; 1.23; 6.10; 6.30; 0.40 -20081222; 13200; 1.37; 2.90; 5.70; 0.40 -20081223; 13300; 1.38; 0.20; 4.40; 0.30 -20081224; 11700; 1.22; 0.60; -0.20; 0.20 -20081225; 10500; 1.09; 0.00; 0.90; 0.20 -20081226; 9950; 1.04; 0.00; -1.40; 0.10 -20081227; 9480; 0.99; 0.00; -2.30; 0.10 -20081228; 9400; 0.98; 0.00; -0.40; 0.20 -20081229; 9110; 0.95; 0.00; -4.00; 0.00 -20081230; 8720; 0.91; 0.80; -0.20; 0.20 -20081231; 8810; 0.92; 0.10; -3.50; 0.00 -20090101; 8336; 0.87; 0.00; -6.80; 0.00 -20090102; 9338; 0.97; 0.00; -6.10; 0.00 -20090103; 10680; 1.11; 0.00; -0.30; 0.20 -20090104; 7973; 0.83; 2.30; 0.80; 0.20 -20090105; 8096; 0.84; 0.20; -0.30; 0.20 -20090106; 8174; 0.85; 0.00; -1.70; 0.10 -20090107; 7873; 0.82; 0.00; -2.00; 0.10 -20090108; 7645; 0.80; 0.00; -4.30; 0.00 -20090109; 7418; 0.77; 0.60; 0.00; 0.20 -20090110; 7190; 0.75; 2.80; 2.00; 0.30 -20090111; 7592; 0.79; 1.80; 5.10; 0.40 -20090112; 8796; 0.92; 0.30; 4.60; 0.40 -20090113; 8694; 0.91; 0.00; 3.80; 0.40 -20090114; 7961; 0.83; 0.10; 1.60; 0.30 -20090115; 7410; 0.77; 0.20; 4.00; 0.40 -20090116; 7309; 0.76; 4.20; 6.30; 0.50 -20090117; 7763; 0.81; 0.50; 8.90; 0.60 -20090118; 9088; 0.95; 8.10; 7.20; 0.50 -20090119; 10631; 1.11; 2.40; 7.60; 0.50 -20090120; 11591; 1.21; 0.00; 5.10; 0.40 -20090121; 9543; 0.99; 3.60; 3.20; 0.40 -20090122; 9309; 0.97; 5.40; 6.70; 0.50 -20090123; 12363; 1.29; 0.20; 3.30; 0.40 -20090124; 9959; 1.04; 0.10; 4.20; 0.40 -20090125; 8718; 0.91; 0.20; 8.60; 0.60 -20090126; 8531; 0.89; 0.10; 5.20; 0.50 -20090127; 7980; 0.83; 0.10; 3.50; 0.40 -20090128; 7495; 0.78; 0.00; 4.40; 0.50 -20090129; 7371; 0.77; 0.00; 1.80; 0.30 -20090130; 7281; 0.76; 0.00; 2.60; 0.40 -20090131; 7166; 0.75; 0.70; 0.70; 0.30 -20090201; 7114; 0.74; 1.20; 2.00; 0.30 -20090202; 7661; 0.80; 5.40; 4.60; 0.50 -20090203; 9442; 0.98; 0.40; 3.70; 0.50 -20090204; 8594; 0.89; 13.70; 8.30; 0.70 -20090205; 13612; 1.42; 0.00; 8.30; 0.70 -20090206; 12591; 1.31; 0.60; 9.00; 0.80 -20090207; 9838; 1.02; 0.50; 10.20; 0.90 -20090208; 8981; 0.93; 0.20; 8.10; 0.80 -20090209; 8336; 0.87; 0.10; 7.80; 0.70 -20090210; 10312; 1.07; 16.30; 8.50; 0.80 -20090211; 19580; 2.04; 7.80; 7.90; 0.80 -20090212; 18060; 1.88; 11.50; 10.40; 0.90 -20090213; 22560; 2.35; 17.40; 6.50; 0.70 -20090214; 31035; 3.23; 10.70; 9.20; 0.90 -20090215; 36020; 3.75; 0.70; 5.60; 0.70 -20090216; 23690; 2.47; 5.90; 7.90; 0.80 -20090217; 23465; 2.44; 15.40; 9.10; 0.90 -20090218; 32445; 3.38; 2.90; 8.10; 0.90 -20090219; 28300; 2.95; 3.30; 8.80; 0.90 -20090220; 24400; 2.54; 0.00; 8.40; 0.90 -20090221; 21815; 2.27; 0.00; 9.70; 1.00 -20090222; 20390; 2.12; 0.00; 9.30; 1.00 -20090223; 19715; 2.05; 8.00; 9.90; 1.10 -20090224; 23395; 2.44; 27.30; 10.10; 1.10 -20090225; 54055; 5.63; 15.30; 10.30; 1.10 -20090226; 68450; 7.13; 3.10; 8.00; 1.00 -20090227; 40930; 4.26; 0.10; 7.50; 1.00 -20090228; 33475; 3.48; 0.60; 9.80; 1.10 -20090301; 30965; 3.22; 1.40; 9.60; 1.10 -20090302; 29870; 3.11; 3.00; 10.20; 1.20 -20090303; 28960; 3.01; 1.60; 10.60; 1.30 -20090304; 27665; 2.88; 4.10; 9.20; 1.20 -20090305; 27750; 2.89; 1.10; 9.30; 1.20 -20090306; 24165; 2.52; 0.00; 10.90; 1.40 -20090307; 22430; 2.33; 0.00; 9.60; 1.30 -20090308; 21085; 2.19; 0.20; 9.80; 1.30 -20090309; 19985; 2.08; 0.00; 10.20; 1.40 -20090310; 18870; 1.96; 0.00; 11.80; 1.50 -20090311; 18090; 1.88; 0.00; 11.90; 1.50 -20090312; 16940; 1.76; 0.10; 8.20; 1.20 -20090313; 16580; 1.73; 0.10; 8.00; 1.20 -20090314; 16060; 1.67; 1.20; 10.30; 1.40 -20090315; 15790; 1.64; 0.00; 10.10; 1.40 -20090316; 15019; 1.56; 0.10; 10.80; 1.50 -20090317; 14614; 1.52; 0.00; 7.30; 1.20 -20090318; 14366; 1.50; 0.60; 9.90; 1.50 -20090319; 13800; 1.44; 0.20; 7.80; 1.30 -20090320; 13045; 1.36; 0.00; 6.40; 1.10 -20090321; 12580; 1.31; 0.10; 7.30; 1.30 -20090322; 12341; 1.28; 0.10; 7.90; 1.30 -20090323; 12068; 1.26; 0.90; 8.50; 1.40 -20090324; 12010; 1.25; 3.50; 9.60; 1.60 -20090325; 12802; 1.33; 0.20; 9.30; 1.50 -20090326; 11768; 1.23; 3.10; 10.20; 1.70 -20090327; 11599; 1.21; 0.20; 11.20; 1.80 -20090328; 11281; 1.17; 0.00; 7.60; 1.40 -20090329; 10758; 1.12; 0.00; 6.50; 1.30 -20090330; 10049; 1.05; 0.00; 7.70; 1.50 -20090331; 9825; 1.02; 0.00; 9.30; 1.70 -20090401; 9577; 1.00; 0.00; 9.50; 1.70 -20090402; 9417; 0.98; 0.00; 10.70; 1.90 -20090403; 9016; 0.94; 0.00; 9.10; 1.70 -20090404; 8651; 0.90; 0.00; 8.60; 1.60 -20090405; 8388; 0.87; 0.00; 8.00; 1.60 -20090406; 8388; 0.87; 0.00; 10.40; 1.90 -20090407; 8168; 0.85; 0.00; 10.40; 1.90 -20090408; 7705; 0.80; 0.00; 12.00; 2.10 -20090409; 7411; 0.77; 0.00; 13.60; 2.40 -20090410; 7006; 0.73; 0.00; 14.00; 2.40 -20090411; 6631; 0.69; 0.00; 12.80; 2.30 -20090412; 6601; 0.69; 0.00; 7.40; 1.60 -20090413; 6329; 0.66; 0.00; 7.20; 1.60 -20090414; 6209; 0.65; 0.00; 9.10; 1.90 -20090415; 6178; 0.64; 0.00; 9.50; 1.90 -20090416; 5933; 0.62; 0.00; 8.30; 1.80 -20090417; 5657; 0.59; 0.00; 8.30; 1.80 -20090418; 5576; 0.58; 0.00; 8.90; 1.90 -20090419; 5295; 0.55; 0.00; 7.40; 1.70 -20090420; 5264; 0.55; 0.00; 6.20; 1.60 -20090421; 5066; 0.53; 0.00; 5.30; 1.40 -20090422; 4932; 0.51; 0.00; 6.80; 1.60 -20090423; 4942; 0.51; 0.00; 8.70; 2.00 -20090424; 4892; 0.51; 0.70; 9.40; 2.10 -20090425; 5035; 0.52; 7.50; 11.10; 2.30 -20090426; 6414; 0.67; 12.70; 11.60; 2.40 -20090427; 9356; 0.97; 1.90; 11.70; 2.40 -20090428; 8040; 0.84; 0.00; 12.50; 2.60 -20090429; 6645; 0.69; 0.00; 11.60; 2.50 -20090430; 5867; 0.61; 0.00; 12.80; 2.60 -20090501; 5320; 0.55; 0.00; 15.60; 3.10 -20090502; 4794; 0.50; 0.00; 17.80; 3.40 -20090503; 4534; 0.47; 3.40; 14.40; 2.90 -20090504; 4709; 0.49; 13.80; 14.10; 2.90 -20090505; 8859; 0.92; 8.80; 11.40; 2.50 -20090506; 13887; 1.45; 0.50; 6.70; 1.80 -20090507; 8375; 0.87; 2.80; 5.10; 1.60 -20090508; 6722; 0.70; 7.50; 8.20; 2.10 -20090509; 6727; 0.70; 8.00; 9.10; 2.20 -20090510; 10526; 1.10; 11.80; 10.20; 2.40 -20090511; 14346; 1.49; 3.20; 10.00; 2.40 -20090512; 10148; 1.06; 1.80; 10.50; 2.50 -20090513; 8416; 0.88; 2.50; 11.00; 2.50 -20090514; 7424; 0.77; 0.00; 11.50; 2.60 -20090515; 6409; 0.67; 0.30; 14.20; 3.10 -20090516; 5705; 0.59; 1.50; 15.90; 3.40 -20090517; 5434; 0.57; 7.20; 13.70; 3.00 -20090518; 5891; 0.61; 4.70; 14.00; 3.10 -20090519; 7730; 0.80; 7.20; 13.40; 3.00 -20090520; 8870; 0.92; 11.50; 11.40; 2.70 -20090521; 11242; 1.17; 0.70; 12.30; 2.90 -20090522; 9900; 1.03; 0.10; 13.50; 3.10 -20090523; 7069; 0.74; 0.00; 15.00; 3.30 -20090524; 5976; 0.62; 0.00; 12.20; 2.90 -20090525; 5316; 0.55; 0.00; 13.60; 3.10 -20090526; 4775; 0.50; 0.00; 15.40; 3.40 -20090527; 4328; 0.45; 0.00; 15.60; 3.50 -20090528; 4025; 0.42; 0.00; 14.10; 3.20 -20090529; 3800; 0.40; 0.00; 16.50; 3.60 -20090530; 3500; 0.36; 0.00; 19.40; 4.10 -20090531; 3295; 0.34; 0.00; 17.80; 3.90 -20090601; 3111; 0.32; 0.00; 13.70; 3.20 -20090602; 3017; 0.31; 1.60; 12.10; 2.90 -20090603; 3007; 0.31; 0.00; 12.30; 3.00 -20090604; 2973; 0.31; 11.80; 15.70; 3.50 -20090605; 3631; 0.38; 7.50; 14.30; 3.30 -20090606; 5512; 0.57; 4.70; 16.00; 3.60 -20090607; 5145; 0.54; 2.20; 16.80; 3.80 -20090608; 4346; 0.45; 2.90; 15.50; 3.60 -20090609; 4212; 0.44; 0.20; 16.60; 3.70 -20090610; 4157; 0.43; 4.40; 17.10; 3.80 -20090611; 4074; 0.42; 3.30; 15.40; 3.50 -20090612; 4054; 0.42; 2.70; 15.30; 3.50 -20090613; 4044; 0.42; 4.90; 14.20; 3.30 -20090614; 4220; 0.44; 0.30; 13.80; 3.30 -20090615; 4054; 0.42; 0.00; 14.10; 3.30 -20090616; 3727; 0.39; 2.80; 13.60; 3.20 -20090617; 4017; 0.42; 0.00; 15.30; 3.50 -20090618; 3403; 0.35; 0.20; 14.50; 3.40 -20090619; 3123; 0.33; 3.50; 12.90; 3.10 -20090620; 3268; 0.34; 6.10; 13.40; 3.20 -20090621; 3548; 0.37; 5.70; 12.90; 3.10 -20090622; 3716; 0.39; 3.40; 13.30; 3.20 -20090623; 3635; 0.38; 0.80; 13.90; 3.30 -20090624; 3379; 0.35; 5.10; 13.40; 3.20 -20090625; 3506; 0.36; 9.70; 13.30; 3.20 -20090626; 4940; 0.51; 9.60; 11.10; 2.80 -20090627; 5644; 0.59; 4.60; 11.20; 2.80 -20090628; 6453; 0.67; 0.10; 12.20; 3.00 -20090629; 6440; 0.67; 0.60; 12.30; 3.00 -20090630; 5397; 0.56; 1.60; 13.20; 3.20 -20090701; 4859; 0.51; 3.70; 12.30; 3.00 -20090702; 5003; 0.52; 3.90; 10.40; 2.70 -20090703; 5380; 0.56; 5.70; 11.80; 2.90 -20090704; 5641; 0.59; 3.20; 13.50; 3.20 -20090705; 6387; 0.66; 0.10; 15.70; 3.60 -20090706; 4918; 0.51; 0.00; 16.30; 3.70 -20090707; 4199; 0.44; 0.00; 18.60; 4.10 -20090708; 3946; 0.41; 0.00; 19.90; 4.30 -20090709; 3413; 0.36; 0.00; 19.40; 4.20 -20090710; 3254; 0.34; 1.30; 19.20; 4.10 -20090711; 3376; 0.35; 0.10; 16.60; 3.70 -20090712; 3320; 0.35; 0.80; 16.40; 3.70 -20090713; 3248; 0.34; 0.00; 17.70; 3.90 -20090714; 3156; 0.33; 0.00; 15.70; 3.50 -20090715; 2947; 0.31; 0.00; 17.10; 3.70 -20090716; 2830; 0.29; 0.00; 17.00; 3.70 -20090717; 2680; 0.28; 0.00; 16.20; 3.60 -20090718; 2598; 0.27; 0.00; 15.00; 3.30 -20090719; 2544; 0.26; 0.00; 16.70; 3.60 -20090720; 2543; 0.26; 0.00; 17.90; 3.80 -20090721; 2514; 0.26; 0.00; 18.20; 3.80 -20090722; 2346; 0.24; 0.00; 19.20; 4.00 -20090723; 2198; 0.23; 0.00; 19.90; 4.10 -20090724; 2092; 0.22; 4.10; 15.40; 3.30 -20090725; 2452; 0.26; 4.90; 16.00; 3.40 -20090726; 2657; 0.28; 1.60; 18.30; 3.80 -20090727; 2738; 0.29; 0.00; 18.70; 3.80 -20090728; 2569; 0.27; 0.00; 18.60; 3.80 -20090729; 2173; 0.23; 0.30; 19.40; 3.90 -20090730; 1978; 0.21; 0.10; 17.40; 3.60 -20090731; 1851; 0.19; 0.00; 15.20; 3.20 -20090801; 1763; 0.18; 0.00; 17.00; 3.50 -20090802; 1678; 0.17; 1.20; 19.30; 3.80 -20090803; 1809; 0.19; 0.00; 20.10; 3.90 -20090804; 1848; 0.19; 0.20; 17.90; 3.60 -20090805; 2022; 0.21; 0.50; 18.40; 3.60 -20090806; 1901; 0.20; 0.30; 19.00; 3.70 -20090807; 1999; 0.21; 14.50; 17.90; 3.50 -20090808; 3163; 0.33; 0.00; 21.40; 4.00 -20090809; 2788; 0.29; 0.00; 23.00; 4.20 -20090810; 2320; 0.24; 2.70; 20.20; 3.80 -20090811; 2125; 0.22; 0.00; 19.70; 3.70 -20090812; 2037; 0.21; 1.20; 20.20; 3.80 -20090813; 1822; 0.19; 0.10; 18.90; 3.50 -20090814; 1724; 0.18; 0.00; 19.20; 3.60 -20090815; 1584; 0.16; 0.00; 20.70; 3.80 -20090816; 1557; 0.16; 6.80; 20.20; 3.70 -20090817; 2425; 0.25; 0.00; 20.40; 3.70 -20090818; 2105; 0.22; 0.50; 20.50; 3.60 -20090819; 1707; 0.18; 0.00; 21.10; 3.70 -20090820; 1525; 0.16; 0.00; 21.30; 3.70 -20090821; 1309; 0.14; 0.00; 19.30; 3.40 -20090822; 1094; 0.11; 0.00; 20.00; 3.50 -20090823; 1131; 0.12; 0.20; 20.00; 3.40 -20090824; 1099; 0.11; 12.20; 19.70; 3.40 -20090825; 1397; 0.15; 1.10; 17.60; 3.10 -20090826; 1595; 0.17; 11.20; 15.20; 2.70 -20090827; 1961; 0.20; 10.60; 16.50; 2.90 -20090828; 2724; 0.28; 7.50; 13.10; 2.40 -20090829; 2882; 0.30; 27.80; 15.30; 2.70 -20090830; 6867; 0.71; 2.10; 18.00; 3.00 -20090831; 5898; 0.61; 0.30; 16.60; 2.80 -20090901; 3661; 0.38; 0.60; 14.10; 2.40 -20090902; 2816; 0.29; 0.10; 14.20; 2.40 -20090903; 2488; 0.26; 4.00; 16.90; 2.70 -20090904; 2345; 0.24; 0.00; 16.10; 2.60 -20090905; 2466; 0.26; 0.20; 14.20; 2.40 -20090906; 2305; 0.24; 0.10; 13.30; 2.20 -20090907; 2114; 0.22; 0.00; 14.30; 2.30 -20090908; 1966; 0.20; 0.00; 15.80; 2.50 -20090909; 1714; 0.18; 0.00; 15.00; 2.40 -20090910; 1629; 0.17; 0.00; 15.20; 2.40 -20090911; 1576; 0.16; 0.00; 15.10; 2.30 -20090912; 1587; 0.17; 4.40; 13.80; 2.20 -20090913; 1598; 0.17; 0.00; 11.30; 1.90 -20090914; 1564; 0.16; 0.00; 11.60; 1.90 -20090915; 1578; 0.16; 0.10; 12.30; 1.90 -20090916; 1479; 0.15; 0.10; 14.10; 2.10 -20090917; 1316; 0.14; 0.10; 16.40; 2.30 -20090918; 1279; 0.13; 0.00; 19.00; 2.60 -20090919; 1362; 0.14; 0.00; 19.50; 2.60 -20090920; 1259; 0.13; 0.20; 19.50; 2.60 -20090921; 1260; 0.13; 0.10; 16.80; 2.30 -20090922; 1397; 0.15; 0.20; 16.90; 2.30 -20090923; 1281; 0.13; 0.00; 16.50; 2.20 -20090924; 1278; 0.13; 0.00; 15.90; 2.10 -20090925; 1165; 0.12; 0.10; 15.80; 2.10 -20090926; 1088; 0.11; 0.10; 16.00; 2.10 -20090927; 1084; 0.11; 0.00; 16.20; 2.10 -20090928; 1087; 0.11; 0.10; 16.60; 2.10 -20090929; 1104; 0.11; 0.10; 16.60; 2.00 -20090930; 1085; 0.11; 0.00; 17.50; 2.10 -20091001; 1108; 0.12; 0.00; 16.60; 2.00 -20091002; 1094; 0.11; 0.00; 15.90; 1.90 -20091003; 1041; 0.11; 0.20; 14.70; 1.80 -20091004; 995; 0.10; 0.10; 14.30; 1.70 -20091005; 934; 0.10; 0.00; 14.40; 1.70 -20091006; 1046; 0.11; 5.80; 14.60; 1.70 -20091007; 1099; 0.11; 13.90; 14.70; 1.70 -20091008; 3539; 0.37; 59.30; 16.90; 1.80 -20091009; 20980; 2.18; 8.60; 17.40; 1.80 -20091010; 10461; 1.09; 1.40; 14.60; 1.60 -20091011; 6868; 0.71; 5.20; 13.70; 1.50 -20091012; 5165; 0.54; 0.90; 11.40; 1.30 -20091013; 4223; 0.44; 0.60; 9.50; 1.10 -20091014; 3412; 0.36; 2.70; 9.00; 1.10 -20091015; 3225; 0.34; 1.30; 13.50; 1.40 -20091016; 3237; 0.34; 1.30; 14.90; 1.50 -20091017; 3156; 0.33; 0.00; 15.60; 1.50 -20091018; 3004; 0.31; 0.00; 16.80; 1.60 -20091019; 2815; 0.29; 7.80; 16.00; 1.50 -20091020; 2972; 0.31; 2.30; 16.00; 1.50 -20091021; 3537; 0.37; 2.30; 13.90; 1.30 -20091022; 3473; 0.36; 8.20; 13.40; 1.30 -20091023; 3946; 0.41; 0.30; 12.70; 1.20 -20091024; 3895; 0.41; 0.10; 8.20; 0.90 -20091025; 3300; 0.34; 0.00; 7.10; 0.80 -20091026; 3037; 0.32; 0.00; 8.10; 0.90 -20091027; 2883; 0.30; 0.00; 8.90; 0.90 -20091028; 2707; 0.28; 0.00; 4.90; 0.60 -20091029; 2516; 0.26; 0.00; 3.40; 0.50 -20091030; 2390; 0.25; 0.00; 3.80; 0.50 -20091031; 2369; 0.25; 0.00; 6.50; 0.70 -20091101; 2387; 0.25; 0.00; 6.30; 0.60 -20091102; 2426; 0.25; 0.00; 4.00; 0.50 -20091103; 2375; 0.25; 4.70; 9.10; 0.80 -20091104; 2444; 0.25; 7.30; 12.90; 1.00 -20091105; 3172; 0.33; 10.50; 12.00; 0.90 -20091106; 6953; 0.72; 1.60; 9.80; 0.80 -20091107; 5494; 0.57; 19.20; 10.10; 0.80 -20091108; 13099; 1.36; 18.50; 9.30; 0.80 -20091109; 19600; 2.04; 10.40; 8.40; 0.70 -20091110; 15311; 1.59; 6.90; 7.50; 0.60 -20091111; 13567; 1.41; 4.30; 7.20; 0.60 -20091112; 12813; 1.33; 2.00; 7.20; 0.60 -20091113; 9063; 0.94; 1.00; 6.50; 0.60 -20091114; 7000; 0.73; 5.00; 10.40; 0.70 -20091115; 7510; 0.78; 3.80; 14.30; 0.90 -20091116; 10011; 1.04; 2.00; 13.40; 0.90 -20091117; 8422; 0.88; 10.80; 13.60; 0.90 -20091118; 11282; 1.17; 10.40; 12.80; 0.80 -20091119; 15111; 1.57; 17.00; 11.50; 0.70 -20091120; 24695; 2.57; 4.30; 9.00; 0.60 -20091121; 20385; 2.12; 3.80; 6.70; 0.50 -20091122; 15397; 1.60; 2.70; 5.90; 0.50 -20091123; 13146; 1.37; 9.10; 7.80; 0.50 -20091124; 16305; 1.70; 6.50; 8.00; 0.50 -20091125; 18130; 1.89; 2.50; 9.30; 0.60 -20091126; 16040; 1.67; 3.80; 8.90; 0.60 -20091127; 15026; 1.56; 20.40; 9.80; 0.60 -20091128; 33630; 3.50; 10.00; 10.30; 0.60 -20091129; 32320; 3.36; 5.00; 8.90; 0.60 -20091130; 23995; 2.50; 4.00; 8.60; 0.50 -20091201; 21845; 2.27; 6.90; 8.60; 0.50 -20091202; 22670; 2.36; 1.60; 5.10; 0.40 -20091203; 20930; 2.18; 0.40; 2.90; 0.30 -20091204; 17990; 1.87; 0.90; 2.50; 0.30 -20091205; 16505; 1.72; 0.30; 1.80; 0.30 -20091206; 15555; 1.62; 0.10; 3.60; 0.30 -20091207; 15543; 1.62; 14.70; 9.20; 0.50 -20091208; 25365; 2.64; 6.40; 9.70; 0.50 -20091209; 25440; 2.65; 11.50; 10.20; 0.60 -20091210; 28175; 2.93; 12.00; 13.00; 0.70 -20091211; 39270; 4.09; 2.30; 11.50; 0.60 -20091212; 30320; 3.16; 0.10; 6.80; 0.40 -20091213; 22830; 2.38; 0.10; 4.80; 0.30 -20091214; 21035; 2.19; 0.00; 3.60; 0.30 -20091215; 19830; 2.06; 0.00; 2.60; 0.30 -20091216; 19265; 2.01; 2.80; 0.00; 0.20 -20091217; 19140; 1.99; 5.60; 2.30; 0.30 -20091218; 22250; 2.32; 0.20; 10.00; 0.50 -20091219; 21415; 2.23; 12.60; 8.00; 0.50 -20091220; 26555; 2.76; 5.60; 9.40; 0.50 -20091221; 28695; 2.99; 0.90; 7.60; 0.40 -20091222; 21710; 2.26; 2.50; 7.30; 0.40 -20091223; 20530; 2.14; 11.70; 10.70; 0.60 -20091224; 35710; 3.72; 30.30; 11.60; 0.60 -20091225; 66010; 6.87; 10.50; 10.70; 0.60 -20091226; 58555; 6.10; 8.20; 8.20; 0.50 -20091227; 46490; 4.84; 1.70; 6.20; 0.40 -20091228; 36205; 3.77; 0.60; 5.70; 0.40 -20091229; 32310; 3.36; 8.90; 8.20; 0.50 -20091230; 37760; 3.93; 17.50; 9.70; 0.50 -20091231; 55625; 5.79; 2.30; 6.80; 0.40 -20100101; 43880; 4.57; 28.00; 6.80; 0.40 -20100102; 76675; 7.98; 10.20; 8.70; 0.50 -20100103; 81435; 8.48; 8.60; 9.30; 0.50 -20100104; 67635; 7.04; 10.20; 7.20; 0.40 -20100105; 67450; 7.02; 14.50; 8.00; 0.50 -20100106; 71910; 7.49; 9.70; 10.60; 0.60 -20100107; 70475; 7.34; 2.10; 10.40; 0.60 -20100108; 56195; 5.85; 0.10; 11.40; 0.60 -20100109; 45825; 4.77; 0.10; 10.30; 0.60 -20100110; 39375; 4.10; 0.10; 9.00; 0.50 -20100111; 36350; 3.78; 0.30; 10.70; 0.60 -20100112; 33925; 3.53; 4.30; 11.10; 0.60 -20100113; 36210; 3.77; 16.40; 9.50; 0.60 -20100114; 54015; 5.62; 17.20; 7.80; 0.50 -20100115; 55505; 5.78; 7.20; 10.30; 0.60 -20100116; 54650; 5.69; 1.70; 7.40; 0.50 -20100117; 39495; 4.11; 15.40; 6.50; 0.50 -20100118; 53320; 5.55; 15.00; 8.20; 0.60 -20100119; 76360; 7.95; 2.00; 6.80; 0.50 -20100120; 49360; 5.14; 0.70; 2.20; 0.30 -20100121; 39495; 4.11; 0.80; 2.70; 0.30 -20100122; 37285; 3.88; 0.00; 1.60; 0.30 -20100123; 34775; 3.62; 0.00; 0.10; 0.20 -20100124; 32445; 3.38; 0.40; 2.70; 0.30 -20100125; 30405; 3.17; 0.30; 1.60; 0.30 -20100126; 28970; 3.02; 0.00; -1.20; 0.20 -20100127; 27390; 2.85; 0.00; -3.30; 0.10 -20100128; 25690; 2.67; 0.00; -3.50; 0.10 -20100129; 24055; 2.50; 0.00; -3.10; 0.10 -20100130; 23020; 2.40; 0.00; -0.40; 0.20 -20100131; 22315; 2.32; 0.00; 0.10; 0.30 -20100201; 21490; 2.24; 0.00; 1.10; 0.30 -20100202; 20755; 2.16; 0.10; 0.50; 0.30 -20100203; 19990; 2.08; 0.00; 1.00; 0.30 -20100204; 19235; 2.00; 0.00; 1.10; 0.30 -20100205; 18520; 1.93; 0.10; 4.80; 0.50 -20100206; 18315; 1.91; 1.50; 5.00; 0.50 -20100207; 17910; 1.86; 0.40; 7.50; 0.70 -20100208; 17360; 1.81; 0.10; 4.40; 0.50 -20100209; 16555; 1.72; 0.00; 4.20; 0.50 -20100210; 15965; 1.66; 0.10; 5.80; 0.60 -20100211; 15450; 1.61; 0.10; 7.20; 0.70 -20100212; 15139; 1.58; 0.20; 8.50; 0.80 -20100213; 14695; 1.53; 0.10; 8.80; 0.90 -20100214; 14177; 1.48; 0.00; 9.60; 0.90 -20100215; 13700; 1.43; 0.30; 10.70; 1.00 -20100216; 13525; 1.41; 0.00; 9.70; 1.00 -20100217; 13226; 1.38; 0.10; 7.60; 0.80 -20100218; 12720; 1.32; 0.00; 6.40; 0.70 -20100219; 12391; 1.29; 0.10; 10.10; 1.00 -20100220; 12006; 1.25; 4.70; 10.40; 1.10 -20100221; 14303; 1.49; 10.50; 8.70; 0.90 -20100222; 18745; 1.95; 1.30; 5.90; 0.80 -20100223; 14830; 1.54; 0.30; 7.10; 0.90 -20100224; 12855; 1.34; 0.20; 7.40; 0.90 -20100225; 11998; 1.25; 0.00; 7.30; 0.90 -20100226; 11459; 1.19; 0.00; 7.90; 1.00 -20100227; 11140; 1.16; 1.10; 8.50; 1.00 -20100228; 10985; 1.14; 1.10; 7.30; 0.90 -20100301; 10810; 1.13; 0.60; 6.30; 0.90 -20100302; 10481; 1.09; 6.00; 8.50; 1.10 -20100303; 12900; 1.34; 15.30; 11.70; 1.40 -20100304; 22365; 2.33; 4.70; 9.60; 1.20 -20100305; 20480; 2.13; 0.30; 8.30; 1.10 -20100306; 14268; 1.49; 2.90; 9.80; 1.20 -20100307; 13421; 1.40; 8.60; 10.80; 1.40 -20100308; 16160; 1.68; 4.50; 8.30; 1.20 -20100309; 18855; 1.96; 0.20; 6.60; 1.00 -20100310; 13882; 1.45; 7.30; 6.30; 1.00 -20100311; 15302; 1.59; 0.80; 7.00; 1.10 -20100312; 14690; 1.53; 0.70; 6.60; 1.10 -20100313; 12755; 1.33; 0.20; 8.40; 1.20 -20100314; 12312; 1.28; 0.20; 8.00; 1.20 -20100315; 11629; 1.21; 0.00; 6.80; 1.10 -20100316; 11289; 1.18; 0.00; 7.30; 1.20 -20100317; 10930; 1.14; 0.00; 7.60; 1.20 -20100318; 10393; 1.08; 0.00; 6.80; 1.20 -20100319; 10229; 1.06; 0.00; 7.60; 1.30 -20100320; 9939; 1.03; 0.00; 7.70; 1.30 -20100321; 9699; 1.01; 0.00; 7.30; 1.30 -20100322; 9513; 0.99; 0.00; 8.20; 1.40 -20100323; 9466; 0.99; 0.00; 6.70; 1.20 -20100324; 9367; 0.98; 0.20; 6.40; 1.20 -20100325; 9357; 0.97; 1.40; 7.70; 1.40 -20100326; 9397; 0.98; 1.60; 9.00; 1.50 -20100327; 9647; 1.00; 5.60; 10.30; 1.70 -20100328; 11276; 1.17; 0.80; 11.50; 1.80 -20100329; 12257; 1.28; 0.80; 11.80; 1.90 -20100330; 10595; 1.10; 0.10; 10.70; 1.80 -20100331; 9459; 0.98; 0.60; 10.50; 1.80 -20100401; 9137; 0.95; 13.90; 11.40; 1.90 -20100402; 14734; 1.53; 17.00; 11.00; 1.90 -20100403; 25655; 2.67; 14.70; 9.50; 1.70 -20100404; 26385; 2.75; 10.50; 9.10; 1.70 -20100405; 27370; 2.85; 5.80; 8.70; 1.70 -20100406; 21510; 2.24; 3.10; 8.10; 1.60 -20100407; 19045; 1.98; 3.80; 7.10; 1.50 -20100408; 18080; 1.88; 5.40; 6.40; 1.40 -20100409; 17365; 1.81; 4.70; 4.30; 1.20 -20100410; 20305; 2.11; 6.90; 4.00; 1.10 -20100411; 19920; 2.07; 4.30; 4.60; 1.20 -20100412; 18835; 1.96; 3.00; 2.70; 1.00 -20100413; 18730; 1.95; 1.90; 2.90; 1.10 -20100414; 18450; 1.92; 15.50; 4.50; 1.30 -20100415; 27290; 2.84; 5.10; 4.80; 1.30 -20100416; 27885; 2.90; 18.60; 7.50; 1.70 -20100417; 38285; 3.99; 4.00; 5.90; 1.50 -20100418; 29255; 3.05; 4.90; 7.00; 1.60 -20100419; 27425; 2.85; 8.30; 9.50; 2.00 -20100420; 30740; 3.20; 0.00; 9.30; 2.00 -20100421; 24835; 2.59; 0.70; 10.20; 2.10 -20100422; 22525; 2.34; 2.20; 11.90; 2.40 -20100423; 23915; 2.49; 6.50; 10.60; 2.20 -20100424; 25510; 2.66; 6.20; 11.40; 2.30 -20100425; 25855; 2.69; 10.10; 10.40; 2.20 -20100426; 34330; 3.57; 2.00; 9.30; 2.10 -20100427; 26920; 2.80; 3.50; 7.90; 1.90 -20100428; 23555; 2.45; 13.00; 8.20; 1.90 -20100429; 27905; 2.90; 3.70; 10.30; 2.30 -20100430; 27745; 2.89; 2.00; 9.50; 2.20 -20100501; 24600; 2.56; 0.00; 8.80; 2.10 -20100502; 21830; 2.27; 0.30; 8.60; 2.10 -20100503; 20910; 2.18; 0.20; 8.40; 2.00 -20100504; 20075; 2.09; 0.00; 10.00; 2.30 -20100505; 18880; 1.97; 0.10; 11.50; 2.50 -20100506; 18175; 1.89; 0.30; 11.00; 2.50 -20100507; 17700; 1.84; 0.00; 12.40; 2.70 -20100508; 16810; 1.75; 0.00; 14.20; 3.00 -20100509; 16075; 1.67; 0.80; 14.20; 3.00 -20100510; 15505; 1.61; 4.30; 16.20; 3.30 -20100511; 15930; 1.66; 0.60; 18.40; 3.70 -20100512; 14760; 1.54; 3.10; 17.90; 3.60 -20100513; 14185; 1.48; 0.20; 17.60; 3.60 -20100514; 13886; 1.45; 0.00; 18.20; 3.70 -20100515; 12828; 1.34; 0.00; 19.40; 3.90 -20100516; 12095; 1.26; 0.00; 18.30; 3.80 -20100517; 11253; 1.17; 0.00; 16.10; 3.40 -20100518; 10881; 1.13; 0.00; 17.50; 3.70 -20100519; 10343; 1.08; 0.00; 17.50; 3.70 -20100520; 9763; 1.02; 0.00; 17.20; 3.60 -20100521; 9420; 0.98; 0.00; 16.80; 3.60 -20100522; 9006; 0.94; 0.00; 13.20; 3.00 -20100523; 8673; 0.90; 0.00; 13.10; 3.00 -20100524; 8662; 0.90; 0.00; 12.70; 2.90 -20100525; 8641; 0.90; 0.10; 13.40; 3.10 -20100526; 8656; 0.90; 0.20; 12.50; 2.90 -20100527; 8530; 0.89; 1.50; 11.30; 2.70 -20100528; 8891; 0.93; 9.60; 9.10; 2.40 -20100529; 11393; 1.19; 7.90; 11.00; 2.70 -20100530; 13132; 1.37; 33.60; 11.80; 2.80 -20100531; 25685; 2.67; 3.80; 12.60; 3.00 -20100601; 18730; 1.95; 3.30; 13.50; 3.10 -20100602; 14425; 1.50; 6.00; 13.80; 3.20 -20100603; 12824; 1.33; 0.60; 14.10; 3.30 -20100604; 11259; 1.17; 0.10; 14.90; 3.40 -20100605; 9821; 1.02; 0.10; 16.60; 3.70 -20100606; 9196; 0.96; 1.50; 14.70; 3.40 -20100607; 8893; 0.93; 0.30; 13.90; 3.30 -20100608; 8530; 0.89; 3.80; 13.90; 3.30 -20100609; 10141; 1.06; 19.40; 14.60; 3.40 -20100610; 17745; 1.85; 6.30; 12.90; 3.10 -20100611; 16005; 1.67; 1.60; 10.60; 2.70 -20100612; 11914; 1.24; 15.50; 11.70; 2.90 -20100613; 13760; 1.43; 5.20; 13.40; 3.20 -20100614; 19080; 1.99; 4.90; 12.80; 3.10 -20100615; 15485; 1.61; 0.40; 13.50; 3.20 -20100616; 12032; 1.25; 0.00; 12.80; 3.10 -20100617; 9855; 1.03; 0.00; 12.60; 3.10 -20100618; 8882; 0.92; 0.00; 15.40; 3.60 -20100619; 8217; 0.86; 0.00; 20.10; 4.40 -20100620; 7511; 0.78; 0.00; 21.80; 4.70 -20100621; 7127; 0.74; 0.00; 16.20; 3.70 -20100622; 6849; 0.71; 0.00; 15.10; 3.50 -20100623; 6601; 0.69; 0.00; 15.30; 3.50 -20100624; 6569; 0.68; 4.30; 14.00; 3.30 -20100625; 6982; 0.73; 0.30; 14.30; 3.30 -20100626; 6808; 0.71; 3.40; 14.80; 3.40 -20100627; 6672; 0.69; 2.80; 14.60; 3.40 -20100628; 7036; 0.73; 0.20; 14.00; 3.30 -20100629; 6652; 0.69; 0.40; 14.50; 3.40 -20100630; 6497; 0.68; 0.90; 16.20; 3.70 -20100701; 6259; 0.65; 4.20; 15.50; 3.60 -20100702; 7402; 0.77; 8.70; 14.10; 3.30 -20100703; 9153; 0.95; 0.00; 15.00; 3.50 -20100704; 7020; 0.73; 0.00; 14.00; 3.30 -20100705; 6192; 0.64; 0.40; 14.50; 3.40 -20100706; 5973; 0.62; 0.30; 14.70; 3.40 -20100707; 5840; 0.61; 0.10; 15.80; 3.60 -20100708; 5571; 0.58; 0.00; 14.40; 3.30 -20100709; 5331; 0.55; 1.60; 14.70; 3.40 -20100710; 5321; 0.55; 0.70; 15.10; 3.40 -20100711; 5393; 0.56; 1.00; 15.00; 3.40 -20100712; 5466; 0.57; 9.90; 15.50; 3.50 -20100713; 6485; 0.68; 0.10; 14.80; 3.40 -20100714; 6369; 0.66; 0.00; 14.30; 3.30 -20100715; 5423; 0.56; 2.50; 14.00; 3.20 -20100716; 5269; 0.55; 2.20; 15.50; 3.40 -20100717; 5404; 0.56; 0.40; 16.10; 3.50 -20100718; 5363; 0.56; 0.00; 15.60; 3.40 -20100719; 5041; 0.52; 0.00; 16.50; 3.60 -20100720; 4751; 0.49; 3.20; 17.30; 3.70 -20100721; 4511; 0.47; 0.60; 15.60; 3.40 -20100722; 4469; 0.47; 6.40; 16.00; 3.50 -20100723; 5091; 0.53; 2.50; 15.60; 3.40 -20100724; 5351; 0.56; 0.20; 15.20; 3.30 -20100725; 4772; 0.50; 0.00; 16.30; 3.50 -20100726; 4387; 0.46; 0.30; 16.40; 3.50 -20100727; 4251; 0.44; 1.90; 16.00; 3.40 -20100728; 4209; 0.44; 3.20; 15.50; 3.30 -20100729; 4417; 0.46; 1.20; 15.40; 3.30 -20100730; 4470; 0.47; 0.20; 15.10; 3.20 -20100731; 4272; 0.44; 0.00; 15.30; 3.20 -20100801; 4115; 0.43; 2.30; 15.10; 3.20 -20100802; 4189; 0.44; 0.00; 15.80; 3.30 -20100803; 4127; 0.43; 2.10; 15.20; 3.20 -20100804; 4012; 0.42; 0.00; 17.30; 3.50 -20100805; 3762; 0.39; 0.10; 17.30; 3.50 -20100806; 3574; 0.37; 0.10; 16.90; 3.40 -20100807; 3438; 0.36; 0.00; 19.10; 3.70 -20100808; 3324; 0.35; 0.00; 20.50; 3.90 -20100809; 3229; 0.34; 0.00; 22.10; 4.10 -20100810; 3093; 0.32; 0.00; 21.10; 3.90 -20100811; 3022; 0.31; 0.00; 19.90; 3.70 -20100812; 2980; 0.31; 0.00; 16.80; 3.20 -20100813; 2874; 0.30; 0.00; 15.40; 3.00 -20100814; 2822; 0.29; 0.00; 16.30; 3.10 -20100815; 2664; 0.28; 0.10; 15.20; 2.90 -20100816; 2832; 0.29; 0.00; 15.40; 3.00 -20100817; 2852; 0.30; 0.10; 15.00; 2.90 -20100818; 2762; 0.29; 0.10; 16.70; 3.10 -20100819; 2875; 0.30; 0.00; 16.40; 3.00 -20100820; 2822; 0.29; 1.80; 14.90; 2.80 -20100821; 2759; 0.29; 3.70; 17.00; 3.10 -20100822; 2978; 0.31; 2.30; 16.70; 3.00 -20100823; 3051; 0.32; 1.60; 16.10; 2.90 -20100824; 3114; 0.32; 0.30; 16.20; 2.90 -20100825; 2968; 0.31; 0.30; 15.40; 2.80 -20100826; 2739; 0.29; 0.00; 16.00; 2.80 -20100827; 2645; 0.28; 0.00; 14.50; 2.60 -20100828; 2625; 0.27; 0.00; 12.80; 2.40 -20100829; 2457; 0.26; 0.00; 14.00; 2.50 -20100830; 2404; 0.25; 0.00; 16.60; 2.80 -20100831; 2456; 0.26; 0.80; 18.50; 3.00 -20100901; 2415; 0.25; 3.90; 18.50; 3.00 -20100902; 2518; 0.26; 18.40; 14.70; 2.50 -20100903; 3559; 0.37; 14.40; 15.90; 2.60 -20100904; 4678; 0.49; 11.60; 15.30; 2.50 -20100905; 7479; 0.78; 0.80; 16.50; 2.70 -20100906; 5245; 0.55; 4.40; 16.80; 2.70 -20100907; 4398; 0.46; 11.20; 16.00; 2.50 -20100908; 4827; 0.50; 18.50; 17.60; 2.70 -20100909; 10823; 1.13; 5.00; 16.90; 2.60 -20100910; 9316; 0.97; 5.10; 15.30; 2.40 -20100911; 5866; 0.61; 4.50; 12.20; 2.00 -20100912; 6377; 0.66; 6.60; 11.20; 1.90 -20100913; 6693; 0.70; 1.40; 11.90; 1.90 -20100914; 5238; 0.55; 1.20; 11.80; 1.90 -20100915; 4257; 0.44; 5.50; 14.60; 2.20 -20100916; 4249; 0.44; 0.20; 14.20; 2.10 -20100917; 3956; 0.41; 0.10; 13.90; 2.10 -20100918; 3632; 0.38; 0.00; 14.30; 2.10 -20100919; 3423; 0.36; 0.00; 16.10; 2.20 -20100920; 3299; 0.34; 0.10; 16.90; 2.30 -20100921; 3133; 0.33; 0.00; 15.50; 2.10 -20100922; 2819; 0.29; 0.00; 14.60; 2.00 -20100923; 2861; 0.30; 1.80; 15.00; 2.00 -20100924; 2871; 0.30; 0.20; 15.90; 2.10 -20100925; 2965; 0.31; 11.90; 14.80; 2.00 -20100926; 3456; 0.36; 0.60; 15.10; 2.00 -20100927; 3739; 0.39; 0.40; 15.40; 2.00 -20100928; 3394; 0.35; 0.20; 14.90; 1.90 -20100929; 3195; 0.33; 7.80; 12.00; 1.60 -20100930; 3816; 0.40; 26.60; 13.00; 1.70 -20101001; 14885; 1.55; 9.80; 13.80; 1.70 -20101002; 16375; 1.70; 0.80; 13.40; 1.70 -20101003; 8214; 0.86; 1.30; 10.90; 1.40 -20101004; 6060; 0.63; 1.10; 9.30; 1.30 -20101005; 5264; 0.55; 0.10; 9.80; 1.30 -20101006; 4746; 0.49; 0.30; 9.60; 1.20 -20101007; 4384; 0.46; 0.60; 10.40; 1.30 -20101008; 4082; 0.42; 0.00; 10.50; 1.30 -20101009; 3904; 0.41; 3.60; 11.50; 1.40 -20101010; 3861; 0.40; 1.10; 11.70; 1.30 -20101011; 3976; 0.41; 3.20; 12.50; 1.40 -20101012; 4160; 0.43; 0.10; 11.00; 1.30 -20101013; 4099; 0.43; 7.40; 13.40; 1.40 -20101014; 4796; 0.50; 11.40; 15.30; 1.60 -20101015; 7564; 0.79; 5.60; 13.50; 1.40 -20101016; 11275; 1.17; 12.90; 13.80; 1.40 -20101017; 11591; 1.21; 1.10; 11.50; 1.20 -20101018; 13788; 1.44; 1.30; 9.00; 1.00 -20101019; 7891; 0.82; 0.20; 8.70; 1.00 -20101020; 6339; 0.66; 3.50; 10.20; 1.10 -20101021; 6287; 0.65; 11.70; 14.60; 1.40 -20101022; 13662; 1.42; 7.50; 15.10; 1.40 -20101023; 16310; 1.70; 15.10; 13.40; 1.20 -20101024; 32075; 3.34; 45.10; 12.90; 1.20 -20101025; 77075; 8.02; 4.80; 11.00; 1.00 -20101026; 45060; 4.69; 0.80; 10.20; 1.00 -20101027; 22155; 2.31; 5.80; 13.50; 1.20 -20101028; 21400; 2.23; 15.90; 14.40; 1.20 -20101029; 30225; 3.15; 1.10; 9.90; 0.90 -20101030; 23685; 2.47; 2.80; 10.20; 0.90 -20101031; 20030; 2.09; 18.60; 11.60; 1.00 -20101101; 37515; 3.91; 0.30; 8.80; 0.80 -20101102; 27525; 2.87; 5.40; 8.90; 0.80 -20101103; 23615; 2.46; 4.40; 7.30; 0.70 -20101104; 22485; 2.34; 0.70; 6.50; 0.60 -20101105; 20025; 2.08; 0.60; 6.90; 0.60 -20101106; 18320; 1.91; 0.10; 9.80; 0.80 -20101107; 17680; 1.84; 2.30; 9.60; 0.80 -20101108; 18330; 1.91; 13.10; 14.40; 1.00 -20101109; 25610; 2.67; 1.60; 14.10; 1.00 -20101110; 22770; 2.37; 0.50; 8.80; 0.70 -20101111; 18420; 1.92; 13.30; 7.10; 0.60 -20101112; 24515; 2.55; 6.10; 8.10; 0.60 -20101113; 26550; 2.76; 9.80; 7.80; 0.60 -20101114; 30675; 3.19; 1.40; 7.30; 0.60 -20101115; 22100; 2.30; 0.20; 6.40; 0.50 -20101116; 19665; 2.05; 0.10; 4.70; 0.50 -20101117; 18735; 1.95; 0.00; 4.30; 0.40 -20101118; 18105; 1.88; 0.00; 2.30; 0.30 -20101119; 17395; 1.81; 0.60; 2.50; 0.30 -20101120; 17000; 1.77; 0.00; 4.30; 0.40 -20101121; 16535; 1.72; 0.00; 0.50; 0.20 -20101122; 15945; 1.66; 0.90; -0.60; 0.20 -20101123; 15625; 1.63; 0.50; 1.60; 0.30 -20101124; 15575; 1.62; 5.60; 5.70; 0.40 -20101125; 16965; 1.77; 1.60; 7.00; 0.50 -20101126; 15520; 1.62; 0.10; 8.40; 0.50 -20101127; 14946; 1.56; 1.30; 10.20; 0.60 -20101128; 15194; 1.58; 5.80; 8.20; 0.50 -20101129; 16645; 1.73; 2.80; 5.10; 0.40 -20101130; 15800; 1.64; 0.10; 5.50; 0.40 -20101201; 14274; 1.49; 0.00; 2.90; 0.30 -20101202; 13458; 1.40; 0.00; 1.60; 0.20 -20101203; 12888; 1.34; 0.40; -1.10; 0.10 -20101204; 12630; 1.31; 0.70; 2.90; 0.30 -20101205; 12308; 1.28; 0.90; 2.90; 0.30 -20101206; 11988; 1.25; 1.30; 3.40; 0.30 -20101207; 11981; 1.25; 2.20; 6.20; 0.40 -20101208; 12587; 1.31; 14.10; 9.00; 0.50 -20101209; 21335; 2.22; 7.00; 9.60; 0.50 -20101210; 23200; 2.42; 5.70; 10.10; 0.50 -20101211; 21525; 2.24; 6.00; 9.30; 0.50 -20101212; 19580; 2.04; 5.40; 13.10; 0.70 -20101213; 22665; 2.36; 1.20; 10.40; 0.60 -20101214; 18330; 1.91; 0.30; 11.80; 0.60 -20101215; 16690; 1.74; 0.40; 11.40; 0.60 -20101216; 15465; 1.61; 0.00; 7.70; 0.50 -20101217; 15000; 1.56; 3.20; 7.20; 0.40 -20101218; 15765; 1.64; 2.20; 9.90; 0.50 -20101219; 16645; 1.73; 23.70; 8.00; 0.50 -20101220; 35140; 3.66; 1.50; 5.10; 0.40 -20101221; 27495; 2.86; 0.50; 2.80; 0.30 -20101222; 19515; 2.03; 1.30; 7.20; 0.40 -20101223; 18890; 1.97; 6.30; 5.60; 0.40 -20101224; 21230; 2.21; 2.30; 5.80; 0.40 -20101225; 36515; 3.80; 7.00; 10.40; 0.50 -20101226; 43770; 4.56; 37.10; 10.80; 0.60 -20101227; 54140; 5.64; 8.30; 9.70; 0.50 -20101228; 44820; 4.67; 1.90; 5.30; 0.40 -20101229; 35720; 3.72; 0.90; 8.70; 0.50 -20101230; 35295; 3.67; 0.50; 8.80; 0.50 -20101231; 34790; 3.62; 5.90; 7.20; 0.40 -20110101; 37690; 3.92; 9.30; 7.10; 0.40 -20110102; 46745; 4.87; 15.50; 6.90; 0.40 -20110103; 55580; 5.79; 6.90; 10.10; 0.60 -20110104; 54500; 5.67; 0.90; 12.20; 0.60 -20110105; 42715; 4.45; 0.20; 10.10; 0.60 -20110106; 35075; 3.65; 6.90; 10.80; 0.60 -20110107; 36835; 3.83; 12.60; 8.80; 0.50 -20110108; 50055; 5.21; 2.50; 6.50; 0.40 -20110109; 40650; 4.23; 0.80; 3.00; 0.30 -20110110; 33310; 3.47; 2.30; 0.80; 0.20 -20110111; 31895; 3.32; 0.60; 1.60; 0.20 -20110112; 33000; 3.44; 8.80; 4.90; 0.40 -20110113; 38045; 3.96; 3.20; 6.90; 0.50 -20110114; 33190; 3.45; 0.10; 7.60; 0.50 -20110115; 29195; 3.04; 19.80; 9.10; 0.60 -20110116; 48440; 5.04; 4.50; 7.60; 0.50 -20110117; 55830; 5.81; 1.20; 4.80; 0.40 -20110118; 35510; 3.70; 16.10; 6.90; 0.50 -20110119; 62345; 6.49; 17.40; 11.60; 0.70 -20110120; 89825; 9.35; 8.70; 10.30; 0.70 -20110121; 75645; 7.87; 1.40; 7.90; 0.60 -20110122; 54765; 5.70; 0.10; 7.70; 0.60 -20110123; 46430; 4.83; 2.40; 7.20; 0.50 -20110124; 44115; 4.59; 4.00; 10.50; 0.70 -20110125; 47305; 4.92; 13.70; 9.80; 0.70 -20110126; 61465; 6.40; 5.30; 7.80; 0.60 -20110127; 50810; 5.29; 1.00; 7.40; 0.60 -20110128; 40575; 4.22; 1.50; 10.20; 0.70 -20110129; 36650; 3.82; 0.00; 8.70; 0.70 -20110130; 34000; 3.54; 0.20; 3.90; 0.40 -20110131; 31790; 3.31; 0.00; 0.50; 0.30 -20110201; 29935; 3.12; 0.00; 3.80; 0.40 -20110202; 28750; 2.99; 0.00; 6.20; 0.60 -20110203; 27105; 2.82; 0.00; 5.00; 0.50 -20110204; 25955; 2.70; 0.30; 8.70; 0.70 -20110205; 25025; 2.61; 0.00; 8.00; 0.70 -20110206; 23775; 2.47; 5.20; 7.60; 0.70 -20110207; 24785; 2.58; 1.90; 6.30; 0.60 -20110208; 26715; 2.78; 19.00; 6.80; 0.70 -20110209; 41825; 4.35; 3.40; 2.10; 0.40 -20110210; 33235; 3.46; 1.50; 1.30; 0.40 -20110211; 26875; 2.80; 0.10; 2.10; 0.40 -20110212; 23675; 2.46; 0.00; 1.70; 0.40 -20110213; 21860; 2.28; 0.00; 1.80; 0.40 -20110214; 20680; 2.15; 1.00; 3.00; 0.50 -20110215; 20335; 2.12; 0.40; 8.30; 0.80 -20110216; 19975; 2.08; 0.30; 7.40; 0.80 -20110217; 19180; 2.00; 1.20; 7.50; 0.80 -20110218; 18670; 1.94; 1.10; 9.20; 0.90 -20110219; 18455; 1.92; 17.80; 10.10; 1.00 -20110220; 29460; 3.07; 3.20; 10.80; 1.10 -20110221; 29300; 3.05; 1.40; 9.40; 1.00 -20110222; 21330; 2.22; 1.90; 7.00; 0.80 -20110223; 19825; 2.06; 10.40; 7.00; 0.90 -20110224; 27515; 2.86; 4.30; 9.10; 1.00 -20110225; 28840; 3.00; 0.00; 5.80; 0.80 -20110226; 20645; 2.15; 6.70; 7.50; 0.90 -20110227; 21680; 2.26; 0.20; 7.60; 1.00 -20110228; 21050; 2.19; 2.20; 7.90; 1.00 -20110301; 19755; 2.06; 4.20; 10.70; 1.20 -20110302; 21860; 2.28; 6.90; 10.70; 1.30 -20110303; 26815; 2.79; 8.30; 7.00; 1.00 -20110304; 28130; 2.93; 9.90; 4.80; 0.80 -20110305; 33830; 3.52; 2.90; 3.50; 0.70 -20110306; 30265; 3.15; 2.70; 2.70; 0.60 -20110307; 25245; 2.63; 15.40; 4.20; 0.80 -20110308; 36425; 3.79; 2.90; 7.20; 1.10 -20110309; 35395; 3.68; 0.10; 6.80; 1.00 -20110310; 25560; 2.66; 0.10; 7.00; 1.10 -20110311; 23610; 2.46; 0.60; 10.30; 1.40 -20110312; 23030; 2.40; 0.70; 10.40; 1.40 -20110313; 22335; 2.32; 0.00; 9.50; 1.40 -20110314; 21225; 2.21; 0.00; 9.00; 1.30 -20110315; 20325; 2.12; 0.00; 7.70; 1.20 -20110316; 19715; 2.05; 0.00; 7.30; 1.20 -20110317; 19020; 1.98; 0.00; 9.40; 1.40 -20110318; 18565; 1.93; 0.00; 8.50; 1.30 -20110319; 18050; 1.88; 0.00; 6.60; 1.20 -20110320; 17430; 1.81; 0.00; 6.30; 1.20 -20110321; 17025; 1.77; 1.00; 7.10; 1.20 -20110322; 16995; 1.77; 0.00; 7.50; 1.30 -20110323; 16625; 1.73; 0.00; 8.40; 1.40 -20110324; 16170; 1.68; 0.00; 9.60; 1.60 -20110325; 15975; 1.66; 2.90; 8.80; 1.50 -20110326; 16490; 1.72; 3.20; 6.30; 1.20 -20110327; 16510; 1.72; 3.80; 6.90; 1.30 -20110328; 17420; 1.81; 3.30; 7.70; 1.40 -20110329; 16760; 1.74; 10.40; 11.10; 1.80 -20110330; 24005; 2.50; 0.00; 12.30; 2.00 -20110331; 19495; 2.03; 0.00; 13.10; 2.10 -20110401; 16180; 1.68; 6.90; 12.00; 2.00 -20110402; 17035; 1.77; 22.20; 10.10; 1.80 -20110403; 33810; 3.52; 0.50; 12.80; 2.10 -20110404; 29490; 3.07; 0.40; 12.30; 2.10 -20110405; 19835; 2.06; 0.10; 11.90; 2.00 -20110406; 17860; 1.86; 4.50; 12.20; 2.10 -20110407; 17750; 1.85; 0.00; 9.80; 1.80 -20110408; 17085; 1.78; 0.20; 11.40; 2.10 -20110409; 16085; 1.67; 0.00; 10.50; 2.00 -20110410; 15785; 1.64; 3.30; 9.30; 1.80 -20110411; 16105; 1.68; 8.90; 9.50; 1.90 -20110412; 18215; 1.90; 5.30; 9.20; 1.80 -20110413; 21185; 2.21; 16.90; 7.80; 1.70 -20110414; 28225; 2.94; 8.70; 4.30; 1.20 -20110415; 31890; 3.32; 3.10; 4.50; 1.30 -20110416; 25305; 2.63; 6.70; 4.30; 1.20 -20110417; 22650; 2.36; 2.60; 6.40; 1.50 -20110418; 20280; 2.11; 1.10; 6.80; 1.60 -20110419; 19710; 2.05; 19.70; 7.20; 1.70 -20110420; 42755; 4.45; 24.40; 11.20; 2.20 -20110421; 65070; 6.77; 6.40; 10.30; 2.10 -20110422; 46165; 4.81; 18.90; 10.20; 2.10 -20110423; 58560; 6.10; 5.30; 9.60; 2.10 -20110424; 59985; 6.24; 4.70; 9.50; 2.10 -20110425; 45235; 4.71; 13.90; 9.90; 2.10 -20110426; 51715; 5.38; 7.00; 11.00; 2.30 -20110427; 47560; 4.95; 0.20; 12.10; 2.50 -20110428; 38195; 3.98; 0.00; 12.70; 2.60 -20110429; 34255; 3.57; 1.10; 11.90; 2.50 -20110430; 32345; 3.37; 0.00; 14.20; 2.90 -20110501; 29780; 3.10; 1.80; 14.30; 2.90 -20110502; 29630; 3.08; 0.20; 16.20; 3.20 -20110503; 28425; 2.96; 3.70; 14.30; 2.90 -20110504; 27235; 2.84; 0.00; 15.50; 3.10 -20110505; 24540; 2.55; 1.40; 12.70; 2.70 -20110506; 23660; 2.46; 0.70; 14.50; 3.00 -20110507; 22265; 2.32; 2.60; 12.60; 2.70 -20110508; 21700; 2.26; 0.10; 12.40; 2.70 -20110509; 20905; 2.18; 2.60; 14.10; 3.00 -20110510; 20150; 2.10; 8.50; 13.20; 2.80 -20110511; 22120; 2.30; 3.50; 12.80; 2.80 -20110512; 22740; 2.37; 0.10; 12.40; 2.80 -20110513; 19745; 2.06; 0.10; 10.90; 2.50 -20110514; 18170; 1.89; 0.10; 11.30; 2.60 -20110515; 17170; 1.79; 0.00; 12.40; 2.80 -20110516; 16375; 1.70; 0.00; 11.80; 2.70 -20110517; 15580; 1.62; 15.30; 10.60; 2.50 -20110518; 19820; 2.06; 1.10; 12.20; 2.80 -20110519; 19955; 2.08; 0.10; 13.50; 3.00 -20110520; 17025; 1.77; 0.10; 12.40; 2.80 -20110521; 15550; 1.62; 1.30; 12.50; 2.90 -20110522; 15030; 1.56; 0.00; 13.30; 3.00 -20110523; 13960; 1.45; 0.00; 12.70; 2.90 -20110524; 13641; 1.42; 0.00; 13.20; 3.00 -20110525; 12792; 1.33; 0.00; 13.80; 3.20 -20110526; 12098; 1.26; 0.10; 15.50; 3.40 -20110527; 11699; 1.22; 2.90; 16.40; 3.60 -20110528; 12152; 1.26; 0.00; 17.70; 3.80 -20110529; 11223; 1.17; 0.90; 18.40; 4.00 -20110530; 10745; 1.12; 0.20; 16.90; 3.70 -20110531; 10344; 1.08; 0.00; 16.60; 3.70 -20110601; 9984; 1.04; 7.20; 18.50; 4.00 -20110602; 11027; 1.15; 13.90; 14.10; 3.30 -20110603; 14620; 1.52; 6.20; 13.20; 3.10 -20110604; 15375; 1.60; 5.40; 13.20; 3.10 -20110605; 14026; 1.46; 6.50; 10.90; 2.70 -20110606; 15150; 1.58; 3.50; 12.40; 3.00 -20110607; 13711; 1.43; 1.10; 11.60; 2.80 -20110608; 12337; 1.28; 1.40; 11.50; 2.80 -20110609; 11371; 1.18; 1.10; 13.10; 3.10 -20110610; 10919; 1.14; 0.20; 13.30; 3.20 -20110611; 10090; 1.05; 0.00; 12.80; 3.10 -20110612; 9580; 1.00; 0.00; 12.90; 3.10 -20110613; 9104; 0.95; 0.00; 13.30; 3.20 -20110614; 8451; 0.88; 0.00; 15.50; 3.60 -20110615; 7818; 0.81; 0.00; 17.10; 3.80 -20110616; 7393; 0.77; 0.50; 18.50; 4.10 -20110617; 7061; 0.74; 0.00; 17.00; 3.80 -20110618; 6717; 0.70; 0.00; 16.20; 3.70 -20110619; 6519; 0.68; 0.00; 15.70; 3.60 -20110620; 6539; 0.68; 1.40; 14.70; 3.40 -20110621; 6591; 0.69; 0.00; 11.70; 2.90 -20110622; 6416; 0.67; 0.00; 12.90; 3.10 -20110623; 6062; 0.63; 0.00; 15.40; 3.60 -20110624; 5595; 0.58; 0.00; 17.80; 4.00 -20110625; 5398; 0.56; 0.20; 20.10; 4.40 -20110626; 5272; 0.55; 3.00; 16.80; 3.80 -20110627; 5455; 0.57; 3.00; 13.60; 3.30 -20110628; 5613; 0.58; 13.30; 14.10; 3.30 -20110629; 7398; 0.77; 2.60; 15.50; 3.60 -20110630; 8915; 0.93; 1.40; 14.40; 3.40 -20110701; 7081; 0.74; 0.80; 15.90; 3.60 -20110702; 6571; 0.68; 0.00; 20.30; 4.40 -20110703; 6042; 0.63; 0.50; 17.20; 3.80 -20110704; 5501; 0.57; 6.80; 16.50; 3.70 -20110705; 5912; 0.62; 3.30; 16.40; 3.70 -20110706; 6019; 0.63; 0.00; 16.60; 3.70 -20110707; 5337; 0.56; 0.00; 16.20; 3.60 -20110708; 4900; 0.51; 0.00; 19.00; 4.10 -20110709; 4685; 0.49; 0.00; 20.30; 4.30 -20110710; 4166; 0.43; 0.00; 19.30; 4.10 -20110711; 3948; 0.41; 0.00; 19.30; 4.10 -20110712; 3885; 0.40; 0.00; 20.90; 4.40 -20110713; 3748; 0.39; 0.10; 18.30; 4.00 -20110714; 3541; 0.37; 0.90; 16.60; 3.70 -20110715; 3447; 0.36; 0.00; 17.30; 3.80 -20110716; 3343; 0.35; 0.00; 15.60; 3.40 -20110717; 3282; 0.34; 0.00; 18.60; 4.00 -20110718; 3262; 0.34; 0.30; 18.40; 3.90 -20110719; 3283; 0.34; 3.90; 17.60; 3.80 -20110720; 3232; 0.34; 1.30; 17.90; 3.80 -20110721; 3335; 0.35; 0.00; 15.50; 3.40 -20110722; 3243; 0.34; 0.00; 14.00; 3.10 -20110723; 3098; 0.32; 0.00; 16.50; 3.50 -20110724; 3036; 0.32; 0.00; 19.00; 3.90 -20110725; 2891; 0.30; 0.00; 21.20; 4.30 -20110726; 2841; 0.30; 0.00; 21.60; 4.30 -20110727; 2742; 0.29; 0.00; 20.00; 4.10 -20110728; 2561; 0.27; 0.00; 20.50; 4.10 -20110729; 2547; 0.27; 0.00; 21.00; 4.20 -20110730; 2554; 0.27; 0.00; 19.30; 3.90 -20110731; 2464; 0.26; 0.00; 18.80; 3.80 -20110801; 2417; 0.25; 0.00; 19.70; 3.90 -20110802; 2377; 0.25; 12.00; 17.40; 3.50 -20110803; 2805; 0.29; 1.10; 17.60; 3.60 -20110804; 3129; 0.33; 12.50; 18.00; 3.60 -20110805; 3538; 0.37; 1.50; 18.00; 3.60 -20110806; 3130; 0.33; 4.40; 17.90; 3.50 -20110807; 2908; 0.30; 13.80; 18.50; 3.60 -20110808; 3820; 0.40; 20.00; 16.40; 3.30 -20110809; 9732; 1.01; 13.50; 17.20; 3.40 -20110810; 12338; 1.28; 0.00; 17.40; 3.40 -20110811; 5827; 0.61; 0.90; 16.00; 3.20 -20110812; 4096; 0.43; 0.70; 16.90; 3.30 -20110813; 3577; 0.37; 3.20; 16.90; 3.20 -20110814; 3389; 0.35; 1.20; 16.80; 3.20 -20110815; 3264; 0.34; 1.40; 15.00; 2.90 -20110816; 3152; 0.33; 0.70; 15.40; 3.00 -20110817; 3051; 0.32; 17.60; 15.00; 2.90 -20110818; 6340; 0.66; 1.90; 15.10; 2.90 -20110819; 5494; 0.57; 0.40; 15.00; 2.80 -20110820; 3849; 0.40; 0.10; 15.20; 2.80 -20110821; 3307; 0.34; 0.00; 18.10; 3.20 -20110822; 3080; 0.32; 0.10; 18.60; 3.30 -20110823; 2834; 0.30; 5.40; 17.60; 3.10 -20110824; 2801; 0.29; 0.40; 20.10; 3.40 -20110825; 2935; 0.31; 0.20; 19.60; 3.30 -20110826; 2782; 0.29; 0.00; 17.00; 3.00 -20110827; 2661; 0.28; 1.10; 16.90; 2.90 -20110828; 2637; 0.27; 0.10; 18.00; 3.10 -20110829; 2579; 0.27; 0.00; 17.50; 2.90 -20110830; 2545; 0.26; 0.00; 17.30; 2.90 -20110831; 2492; 0.26; 0.10; 15.80; 2.70 -20110901; 2352; 0.24; 0.00; 16.00; 2.70 -20110902; 2276; 0.24; 0.00; 19.00; 3.00 -20110903; 2198; 0.23; 0.00; 16.90; 2.80 -20110904; 2143; 0.22; 0.00; 17.80; 2.80 -20110905; 2103; 0.22; 0.00; 19.20; 3.00 -20110906; 2062; 0.21; 0.00; 17.00; 2.70 -20110907; 1963; 0.20; 0.30; 17.50; 2.70 -20110908; 1985; 0.21; 1.60; 18.50; 2.80 -20110909; 1996; 0.21; 0.00; 16.00; 2.50 -20110910; 2005; 0.21; 0.00; 19.20; 2.80 -20110911; 2008; 0.21; 0.20; 19.20; 2.80 -20110912; 1900; 0.20; 0.10; 15.00; 2.30 -20110913; 1826; 0.19; 0.00; 13.00; 2.00 -20110914; 1781; 0.19; 0.00; 12.80; 2.00 -20110915; 1717; 0.18; 0.60; 12.40; 1.90 -20110916; 1881; 0.20; 6.40; 15.90; 2.30 -20110917; 1992; 0.21; 3.70; 13.90; 2.10 -20110918; 2199; 0.23; 26.70; 14.80; 2.10 -20110919; 5997; 0.62; 5.50; 14.40; 2.10 -20110920; 5276; 0.55; 5.90; 13.50; 1.90 -20110921; 4585; 0.48; 4.40; 14.50; 2.00 -20110922; 4014; 0.42; 10.50; 17.30; 2.30 -20110923; 5288; 0.55; 10.90; 16.60; 2.20 -20110924; 7335; 0.76; 3.50; 17.50; 2.30 -20110925; 4618; 0.48; 7.20; 15.00; 2.00 -20110926; 5233; 0.54; 11.10; 14.10; 1.90 -20110927; 7433; 0.77; 12.00; 14.90; 1.90 -20110928; 10663; 1.11; 19.10; 14.50; 1.90 -20110929; 16955; 1.76; 9.80; 15.70; 1.90 -20110930; 16805; 1.75; 1.50; 13.80; 1.70 -20111001; 11149; 1.16; 1.90; 14.50; 1.80 -20111002; 7257; 0.76; 7.10; 11.70; 1.50 -20111003; 6590; 0.69; 1.70; 10.70; 1.40 -20111004; 7128; 0.74; 0.30; 9.00; 1.20 -20111005; 5509; 0.57; 0.10; 8.20; 1.10 -20111006; 4816; 0.50; 0.00; 8.10; 1.10 -20111007; 4266; 0.44; 0.00; 9.50; 1.20 -20111008; 4155; 0.43; 0.00; 13.20; 1.50 -20111009; 3977; 0.41; 1.00; 13.70; 1.50 -20111010; 3977; 0.41; 0.60; 15.40; 1.70 -20111011; 4039; 0.42; 0.10; 13.40; 1.50 -20111012; 4028; 0.42; 0.00; 11.60; 1.30 -20111013; 3853; 0.40; 0.00; 10.70; 1.20 -20111014; 3624; 0.38; 14.30; 13.30; 1.40 -20111015; 6924; 0.72; 1.70; 14.00; 1.40 -20111016; 10097; 1.05; 0.10; 12.90; 1.30 -20111017; 6314; 0.66; 3.10; 11.20; 1.20 -20111018; 5468; 0.57; 0.00; 10.30; 1.10 -20111019; 5055; 0.53; 0.90; 7.10; 0.90 -20111020; 4693; 0.49; 1.80; 9.50; 1.00 -20111021; 4693; 0.49; 10.70; 12.80; 1.20 -20111022; 9034; 0.94; 21.90; 13.30; 1.20 -20111023; 16200; 1.69; 35.70; 12.90; 1.20 -20111024; 32640; 3.40; 10.00; 11.00; 1.10 -20111025; 32885; 3.42; 5.50; 11.20; 1.10 -20111026; 20775; 2.16; 0.30; 10.30; 1.00 -20111027; 14045; 1.46; 0.60; 10.60; 1.00 -20111028; 12164; 1.27; 0.20; 12.50; 1.10 -20111029; 10852; 1.13; 0.20; 13.00; 1.10 -20111030; 10812; 1.13; 11.60; 12.90; 1.10 -20111031; 17315; 1.80; 2.40; 12.50; 1.00 -20111101; 13757; 1.43; 9.30; 14.00; 1.10 -20111102; 19545; 2.03; 0.30; 10.00; 0.90 -20111103; 13965; 1.45; 0.20; 8.10; 0.70 -20111104; 11757; 1.22; 0.20; 8.90; 0.80 -20111105; 11269; 1.17; 11.50; 11.10; 0.90 -20111106; 15765; 1.64; 0.20; 7.70; 0.70 -20111107; 13341; 1.39; 0.00; 9.80; 0.80 -20111108; 11344; 1.18; 1.00; 10.90; 0.80 -20111109; 10589; 1.10; 0.30; 10.40; 0.80 -20111110; 10008; 1.04; 0.80; 8.60; 0.70 -20111111; 9643; 1.00; 0.20; 8.20; 0.70 -20111112; 9351; 0.97; 0.00; 6.00; 0.50 -20111113; 9154; 0.95; 0.10; 7.30; 0.60 -20111114; 8988; 0.94; 0.00; 9.70; 0.70 -20111115; 8706; 0.91; 0.30; 7.90; 0.60 -20111116; 8311; 0.87; 3.80; 6.00; 0.50 -20111117; 8271; 0.86; 6.60; 6.00; 0.50 -20111118; 9158; 0.95; 2.60; 7.90; 0.60 -20111119; 10848; 1.13; 3.30; 4.30; 0.40 -20111120; 9805; 1.02; 2.70; 4.00; 0.40 -20111121; 10550; 1.10; 0.60; 2.40; 0.30 -20111122; 10039; 1.05; 1.50; 5.40; 0.40 -20111123; 9274; 0.97; 0.30; 7.20; 0.50 -20111124; 8730; 0.91; 0.60; 8.20; 0.60 -20111125; 8513; 0.89; 0.10; 9.80; 0.60 -20111126; 8357; 0.87; 3.80; 9.60; 0.60 -20111127; 8656; 0.90; 0.20; 10.50; 0.60 -20111128; 8654; 0.90; 0.20; 10.90; 0.60 -20111129; 8323; 0.87; 0.30; 10.80; 0.60 -20111130; 8001; 0.83; 0.10; 8.60; 0.50 -20111201; 7719; 0.80; 2.50; 10.40; 0.60 -20111202; 7659; 0.80; 0.00; 8.40; 0.50 -20111203; 7689; 0.80; 12.20; 10.10; 0.60 -20111204; 11097; 1.16; 1.00; 6.60; 0.40 -20111205; 13012; 1.35; 0.00; 5.00; 0.40 -20111206; 9572; 1.00; 1.50; 9.20; 0.50 -20111207; 8886; 0.93; 2.20; 10.00; 0.60 -20111208; 8884; 0.92; 8.50; 9.40; 0.50 -20111209; 12824; 1.33; 4.00; 5.70; 0.40 -20111210; 13532; 1.41; 18.60; 8.00; 0.50 -20111211; 25135; 2.62; 31.90; 11.30; 0.60 -20111212; 55385; 5.77; 3.60; 7.40; 0.40 -20111213; 42710; 4.45; 8.80; 6.90; 0.40 -20111214; 30690; 3.19; 2.80; 3.60; 0.30 -20111215; 24240; 2.52; 1.80; 2.20; 0.30 -20111216; 22105; 2.30; 1.90; 3.90; 0.30 -20111217; 20500; 2.13; 17.60; 8.70; 0.50 -20111218; 30290; 3.15; 8.10; 11.60; 0.60 -20111219; 35560; 3.70; 0.10; 5.00; 0.40 -20111220; 26235; 2.73; 1.50; 0.00; 0.20 -20111221; 22000; 2.29; 5.70; 4.60; 0.30 -20111222; 26885; 2.80; 15.20; 10.00; 0.50 -20111223; 37780; 3.93; 11.90; 8.40; 0.50 -20111224; 47600; 4.95; 44.40; 10.90; 0.60 -20111225; 146395; 15.24; 18.90; 8.20; 0.50 -20111226; 116960; 12.18; 11.00; 7.80; 0.40 -20111227; 113795; 11.85; 33.30; 4.20; 0.30 -20111228; 137330; 14.30; 3.00; 3.00; 0.30 -20111229; 97025; 10.10; 1.60; 2.10; 0.20 -20111230; 67715; 7.05; 4.70; 5.20; 0.30 -20111231; -9; -9.00; 1.80; 9.00; 0.50 -20120101; -9; -9.00; 4.10; 9.90; 0.50 -20120102; -9; -9.00; 1.00; 10.00; 0.60 -20120103; -9; -9.00; 12.80; 9.90; 0.60 -20120104; -9; -9.00; 0.70; 9.10; 0.50 -20120105; -9; -9.00; 5.10; 9.30; 0.50 -20120106; -9; -9.00; 1.70; 8.30; 0.50 -20120107; -9; -9.00; 2.20; 7.20; 0.50 -20120108; -9; -9.00; 1.30; 7.10; 0.50 -20120109; -9; -9.00; 0.30; 3.10; 0.30 -20120110; -9; -9.00; 0.10; 1.90; 0.30 -20120111; -9; -9.00; 0.10; 2.30; 0.30 -20120112; -9; -9.00; 4.40; 2.40; 0.30 -20120113; -9; -9.00; 0.40; 4.30; 0.40 -20120114; -9; -9.00; 1.10; 2.80; 0.30 -20120115; -9; -9.00; 0.10; 4.40; 0.40 -20120116; -9; -9.00; 0.00; 2.80; 0.30 -20120117; -9; -9.00; 0.00; 4.00; 0.40 -20120118; -9; -9.00; 0.00; 5.30; 0.40 -20120119; -9; -9.00; 0.00; 6.20; 0.50 -20120120; -9; -9.00; 0.00; 5.30; 0.40 -20120121; -9; -9.00; 0.00; 4.20; 0.40 -20120122; -9; -9.00; 0.70; 5.20; 0.50 -20120123; -9; -9.00; 0.30; 3.00; 0.40 -20120124; -9; -9.00; 0.10; 2.00; 0.30 -20120125; -9; -9.00; 0.00; -0.80; 0.20 -20120126; -9; -9.00; 0.00; -1.20; 0.20 -20120127; -9; -9.00; 0.00; -0.30; 0.20 -20120128; -9; -9.00; 2.70; 4.10; 0.40 -20120129; -9; -9.00; 1.60; 9.60; 0.70 -20120130; -9; -9.00; 1.60; 9.80; 0.70 -20120131; -9; -9.00; 0.70; 9.10; 0.70 -20120201; -9; -9.00; 9.70; 9.00; 0.70 -20120202; -9; -9.00; 0.00; 8.50; 0.70 -20120203; -9; -9.00; 0.00; 6.50; 0.60 -20120204; -9; -9.00; 0.00; 6.10; 0.60 -20120205; -9; -9.00; 0.20; 6.90; 0.70 -20120206; -9; -9.00; 2.90; 9.50; 0.80 -20120207; -9; -9.00; 20.30; 9.20; 0.80 -20120208; -9; -9.00; 9.70; 9.80; 0.80 -20120209; -9; -9.00; 2.90; 8.00; 0.80 -20120210; -9; -9.00; 9.20; 7.00; 0.70 -20120211; -9; -9.00; 0.40; 4.10; 0.50 -20120212; -9; -9.00; 15.90; 7.40; 0.70 -20120213; -9; -9.00; 3.80; 10.00; 0.90 -20120214; -9; -9.00; 2.80; 9.60; 0.90 -20120215; -9; -9.00; 5.50; 8.10; 0.80 -20120216; -9; -9.00; 5.40; 5.10; 0.60 -20120217; -9; -9.00; 3.30; 8.10; 0.90 -20120218; -9; -9.00; 1.50; 10.00; 1.00 -20120219; -9; -9.00; 0.40; 7.50; 0.80 -20120220; -9; -9.00; 0.10; 4.20; 0.60 -20120221; -9; -9.00; 2.50; 5.30; 0.70 -20120222; -9; -9.00; 2.60; 7.90; 0.90 -20120223; -9; -9.00; 2.30; 9.50; 1.00 -20120224; -9; -9.00; 2.50; 10.80; 1.20 -20120225; -9; -9.00; 0.10; 7.60; 0.90 -20120226; -9; -9.00; 0.30; 7.40; 0.90 -20120227; -9; -9.00; 6.00; 9.50; 1.10 -20120228; -9; -9.00; 12.10; 8.50; 1.10 -20120229; -9; -9.00; 11.60; 8.60; 1.10 -20120301; -9; -9.00; 1.20; 6.50; 0.90 -20120302; -9; -9.00; 0.60; 6.10; 0.90 -20120303; -9; -9.00; 9.60; 9.40; 1.20 -20120304; -9; -9.00; 0.10; 4.00; 0.70 -20120305; -9; -9.00; 0.00; 2.60; 0.60 -20120306; -9; -9.00; 0.00; 4.30; 0.80 -20120307; -9; -9.00; 0.00; 6.30; 1.00 -20120308; -9; -9.00; 0.10; 8.20; 1.20 -20120309; -9; -9.00; 0.20; 9.60; 1.30 -20120310; -9; -9.00; 0.10; 7.80; 1.10 -20120311; -9; -9.00; 0.00; 7.60; 1.20 -20120312; -9; -9.00; 0.00; 8.20; 1.20 -20120313; -9; -9.00; 0.00; 8.90; 1.30 -20120314; -9; -9.00; 0.00; 9.60; 1.40 -20120315; -9; -9.00; 0.00; 6.70; 1.10 -20120316; -9; -9.00; 0.00; 5.70; 1.00 -20120317; -9; -9.00; 0.00; 7.10; 1.20 -20120318; -9; -9.00; 0.00; 7.40; 1.20 -20120319; -9; -9.00; 0.00; 4.90; 1.00 -20120320; -9; -9.00; 0.00; 6.10; 1.10 -20120321; -9; -9.00; 0.00; 8.50; 1.40 -20120322; -9; -9.00; 1.20; 10.60; 1.60 -20120323; -9; -9.00; 2.30; 9.80; 1.60 -20120324; -9; -9.00; 3.60; 8.80; 1.50 -20120325; -9; -9.00; 4.90; 6.50; 1.20 -20120326; -9; -9.00; 5.20; 6.60; 1.30 -20120327; -9; -9.00; 3.30; 5.80; 1.20 -20120328; -9; -9.00; 2.00; 5.10; 1.10 -20120329; -9; -9.00; 2.90; 4.60; 1.10 -20120330; -9; -9.00; 6.60; 5.70; 1.20 -20120331; -9; -9.00; 4.60; 6.20; 1.30 -20120401; -9; -9.00; 1.00; 8.20; 1.50 -20120402; -9; -9.00; 5.90; 8.30; 1.60 -20120403; -9; -9.00; 7.90; 9.80; 1.80 -20120404; -9; -9.00; 1.90; 4.80; 1.20 -20120405; -9; -9.00; 0.50; 3.50; 1.00 -20120406; -9; -9.00; 0.00; 4.80; 1.20 -20120407; -9; -9.00; 0.00; 7.10; 1.50 -20120408; -9; -9.00; 0.00; 10.20; 1.90 -20120409; -9; -9.00; 0.00; 8.20; 1.70 -20120410; -9; -9.00; 0.00; 8.00; 1.60 -20120411; -9; -9.00; 7.20; 4.70; 1.20 -20120412; -9; -9.00; 2.80; 5.00; 1.30 -20120413; -9; -9.00; 0.20; 6.30; 1.50 -20120414; -9; -9.00; 22.40; 4.50; 1.30 -20120415; -9; -9.00; 0.90; 5.70; 1.40 -20120416; -9; -9.00; 15.30; 5.10; 1.30 -20120417; -9; -9.00; 10.00; 8.10; 1.80 -20120418; -9; -9.00; 14.70; 8.80; 1.90 -20120419; -9; -9.00; 27.80; 9.00; 1.90 -20120420; -9; -9.00; 4.90; 11.00; 2.20 -20120421; -9; -9.00; 1.50; 11.00; 2.20 -20120422; -9; -9.00; 2.50; 10.70; 2.20 -20120423; -9; -9.00; 3.70; 9.10; 2.00 -20120424; -9; -9.00; 19.50; 9.50; 2.10 -20120425; -9; -9.00; 4.80; 10.40; 2.20 -20120426; -9; -9.00; 4.40; 9.70; 2.10 -20120427; -9; -9.00; 0.10; 9.10; 2.10 -20120428; -9; -9.00; 0.20; 8.70; 2.00 -20120429; -9; -9.00; 0.00; 11.30; 2.40 -20120430; -9; -9.00; 0.00; 15.30; 3.00 -20120501; -9; -9.00; 0.00; 14.50; 2.90 -20120502; -9; -9.00; 0.00; 10.50; 2.30 -20120503; -9; -9.00; 0.00; 9.90; 2.30 -20120504; -9; -9.00; 0.30; 11.60; 2.50 -20120505; -9; -9.00; 2.40; 14.10; 2.90 -20120506; -9; -9.00; 0.10; 14.40; 2.90 -20120507; -9; -9.00; 3.10; 14.40; 3.00 -20120508; -9; -9.00; 7.00; 13.90; 2.90 -20120509; -9; -9.00; 3.90; 14.20; 3.00 -20120510; -9; -9.00; 5.90; 14.00; 3.00 -20120511; -9; -9.00; 19.70; 13.40; 2.90 -20120512; -9; -9.00; 0.30; 13.70; 3.00 -20120513; -9; -9.00; 0.00; 15.00; 3.20 -20120514; -9; -9.00; 0.00; 17.10; 3.50 -20120515; -9; -9.00; 0.00; 18.60; 3.80 -20120516; -9; -9.00; 0.60; 12.00; 2.80 -20120517; -9; -9.00; 2.10; 11.00; 2.60 -20120518; -9; -9.00; 0.50; 10.60; 2.50 -20120519; -9; -9.00; 0.90; 10.60; 2.60 -20120520; -9; -9.00; 2.30; 11.90; 2.80 -20120521; -9; -9.00; 0.20; 11.20; 2.70 -20120522; -9; -9.00; 2.20; 12.10; 2.80 -20120523; -9; -9.00; 9.50; 12.90; 3.00 -20120524; -9; -9.00; 20.20; 12.80; 3.00 -20120525; -9; -9.00; 1.10; 11.90; 2.80 -20120526; -9; -9.00; 17.30; 10.70; 2.60 -20120527; -9; -9.00; 27.00; 9.50; 2.50 -20120528; -9; -9.00; 0.60; 10.40; 2.60 -20120529; -9; -9.00; 4.10; 10.60; 2.60 -20120530; -9; -9.00; 14.00; 12.40; 2.90 -20120531; -9; -9.00; 0.10; 12.80; 3.00 -20120601; -9; -9.00; 0.00; 12.60; 3.00 -20120602; -9; -9.00; 0.00; 14.20; 3.30 -20120603; -9; -9.00; 0.10; 13.70; 3.20 -20120604; -9; -9.00; 0.00; 12.90; 3.10 -20120605; -9; -9.00; 0.00; 12.10; 2.90 -20120606; -9; -9.00; 1.90; 11.80; 2.90 -20120607; -9; -9.00; 0.00; 13.30; 3.10 -20120608; -9; -9.00; 5.70; 16.30; 3.70 -20120609; -9; -9.00; 0.00; 12.40; 3.00 -20120610; -9; -9.00; 1.00; 12.50; 3.00 -20120611; -9; -9.00; 0.30; 13.60; 3.20 -20120612; -9; -9.00; 0.10; 16.20; 3.70 -20120613; -9; -9.00; 0.20; 15.70; 3.60 -20120614; -9; -9.00; 0.00; 15.70; 3.60 -20120615; -9; -9.00; 0.00; 18.20; 4.00 -20120616; -9; -9.00; 0.00; 21.60; 4.60 -20120617; -9; -9.00; 0.00; 23.40; 4.90 -20120618; -9; -9.00; 0.00; 22.30; 4.80 -20120619; -9; -9.00; 11.10; 18.50; 4.10 -20120620; -9; -9.00; 3.70; 17.10; 3.90 -20120621; -9; -9.00; 0.60; 15.10; 3.50 -20120622; -9; -9.00; 1.30; 14.00; 3.30 -20120623; -9; -9.00; 0.60; 13.40; 3.20 -20120624; -9; -9.00; 3.00; 12.50; 3.00 -20120625; -9; -9.00; 0.00; 14.00; 3.30 -20120626; -9; -9.00; 0.00; 15.90; 3.60 -20120627; -9; -9.00; 0.50; 16.80; 3.80 -20120628; -9; -9.00; 0.00; 18.00; 4.00 -20120629; -9; -9.00; 1.60; 17.10; 3.80 -20120630; -9; -9.00; 4.60; 17.20; 3.90 -20120701; -9; -9.00; 0.50; 17.00; 3.80 -20120702; -9; -9.00; 4.10; 15.40; 3.50 -20120703; -9; -9.00; 5.80; 15.60; 3.60 -20120704; -9; -9.00; 6.60; 14.60; 3.40 -20120705; -9; -9.00; 0.70; 15.50; 3.50 -20120706; -9; -9.00; 17.40; 15.70; 3.60 -20120707; -9; -9.00; 2.10; 14.70; 3.40 -20120708; -9; -9.00; 2.70; 14.00; 3.30 -20120709; -9; -9.00; 20.20; 14.00; 3.20 -20120710; -9; -9.00; 1.50; 13.10; 3.10 -20120711; -9; -9.00; 2.20; 12.60; 3.00 -20120712; -9; -9.00; 1.40; 13.20; 3.10 -20120713; -9; -9.00; 2.20; 14.80; 3.40 -20120714; -9; -9.00; 3.40; 14.90; 3.40 -20120715; -9; -9.00; 1.00; 14.30; 3.30 -20120716; -9; -9.00; 0.00; 14.50; 3.30 -20120717; -9; -9.00; 0.00; 15.80; 3.50 -20120718; -9; -9.00; 0.00; 16.30; 3.60 -20120719; -9; -9.00; 0.00; 16.40; 3.60 -20120720; -9; -9.00; 0.00; 17.90; 3.80 -20120721; -9; -9.00; 0.00; 19.90; 4.10 -20120722; -9; -9.00; 0.00; 19.90; 4.10 -20120723; -9; -9.00; 2.40; 18.10; 3.80 -20120724; -9; -9.00; 1.00; 16.20; 3.50 -20120725; -9; -9.00; 1.60; 17.20; 3.60 -20120726; -9; -9.00; 5.30; 16.80; 3.50 -20120727; -9; -9.00; 3.30; 16.10; 3.40 -20120728; -9; -9.00; 1.70; 16.70; 3.50 -20120729; -9; -9.00; 0.80; 16.30; 3.40 -20120730; -9; -9.00; 0.00; 16.50; 3.40 -20120731; -9; -9.00; 0.00; 19.00; 3.80 -20120801; -9; -9.00; 0.10; 17.50; 3.50 -20120802; -9; -9.00; 3.10; 15.50; 3.20 -20120803; -9; -9.00; 0.90; 15.50; 3.20 -20120804; -9; -9.00; 0.00; 16.50; 3.30 -20120805; -9; -9.00; 0.00; 15.20; 3.10 -20120806; -9; -9.00; 0.10; 17.20; 3.40 -20120807; -9; -9.00; 0.00; 18.70; 3.60 -20120808; -9; -9.00; 0.00; 18.20; 3.50 -20120809; -9; -9.00; 0.10; 18.40; 3.50 -20120810; -9; -9.00; 0.10; 17.70; 3.40 -20120811; -9; -9.00; 0.00; 19.10; 3.60 -20120812; -9; -9.00; 4.60; 18.20; 3.50 -20120813; -9; -9.00; 13.50; 17.20; 3.30 -20120814; -9; -9.00; 0.60; 18.00; 3.40 -20120815; -9; -9.00; 7.50; 15.70; 3.00 -20120816; -9; -9.00; 5.60; 17.80; 3.30 -20120817; -9; -9.00; 0.00; 15.40; 2.90 -20120818; -9; -9.00; 4.10; 15.90; 3.00 -20120819; -9; -9.00; 0.00; 16.40; 3.00 -20120820; -9; -9.00; 0.10; 13.60; 2.60 -20120821; -9; -9.00; 2.90; 12.80; 2.50 -20120822; -9; -9.00; 0.10; 17.00; 3.00 -20120823; -9; -9.00; 0.20; 18.60; 3.30 -20120824; -9; -9.00; 0.20; 19.60; 3.40 -20120825; -9; -9.00; 0.00; 21.30; 3.60 -20120826; -9; -9.00; 0.70; 16.90; 3.00 -20120827; -9; -9.00; 0.10; 15.50; 2.70 -20120828; -9; -9.00; 0.10; 15.70; 2.70 -20120829; -9; -9.00; 1.40; 15.90; 2.70 -20120830; -9; -9.00; 0.20; 17.20; 2.90 -20120831; -9; -9.00; 3.30; 15.70; 2.70 -20120901; -9; -9.00; 3.70; 14.20; 2.50 -20120902; -9; -9.00; 0.50; 16.00; 2.70 -20120903; -9; -9.00; 0.70; 15.30; 2.60 -20120904; -9; -9.00; 0.10; 13.30; 2.30 -20120905; -9; -9.00; 4.20; 14.30; 2.40 -20120906; -9; -9.00; 1.90; 16.70; 2.70 -20120907; -9; -9.00; 0.00; 15.20; 2.50 -20120908; -9; -9.00; 0.00; 17.90; 2.70 -20120909; -9; -9.00; 0.00; 19.60; 2.90 -20120910; -9; -9.00; 0.00; 21.10; 3.10 -20120911; -9; -9.00; 0.00; 18.70; 2.80 -20120912; -9; -9.00; 0.00; 15.20; 2.30 -20120913; -9; -9.00; 0.00; 14.00; 2.20 -20120914; -9; -9.00; 0.00; 16.30; 2.40 -20120915; -9; -9.00; 11.30; 15.60; 2.30 -20120916; -9; -9.00; 0.10; 14.10; 2.10 -20120917; -9; -9.00; 0.10; 13.20; 2.00 -20120918; -9; -9.00; 11.10; 13.20; 2.00 -20120919; -9; -9.00; 5.20; 11.40; 1.70 -20120920; -9; -9.00; 6.00; 11.80; 1.80 -20120921; -9; -9.00; 8.10; 16.00; 2.20 -20120922; -9; -9.00; 1.80; 17.10; 2.30 -20120923; -9; -9.00; 1.80; 17.80; 2.30 -20120924; -9; -9.00; 1.90; 14.00; 1.90 -20120925; -9; -9.00; 1.30; 15.50; 2.00 -20120926; -9; -9.00; 2.10; 16.20; 2.10 -20120927; -9; -9.00; 22.60; 13.60; 1.80 -20120928; -9; -9.00; 4.10; 14.20; 1.80 -20120929; -9; -9.00; 3.20; 12.10; 1.60 -20120930; -9; -9.00; 2.60; 11.20; 1.50 -20121001; -9; -9.00; 3.70; 10.90; 1.50 -20121002; -9; -9.00; 0.00; 11.80; 1.50 -20121003; -9; -9.00; 2.10; 13.70; 1.70 -20121004; -9; -9.00; 0.30; 12.50; 1.50 -20121005; -9; -9.00; 0.50; 10.90; 1.40 -20121006; -9; -9.00; 0.10; 9.50; 1.20 -20121007; -9; -9.00; 5.10; 11.10; 1.40 -20121008; -9; -9.00; 1.80; 10.80; 1.30 -20121009; -9; -9.00; 27.30; 10.90; 1.30 -20121010; -9; -9.00; 20.70; 10.40; 1.30 -20121011; -9; -9.00; 7.50; 9.60; 1.20 -20121012; -9; -9.00; 3.00; 9.80; 1.20 -20121013; -9; -9.00; 0.20; 10.50; 1.20 -20121014; -9; -9.00; 7.80; 9.20; 1.10 -20121015; -9; -9.00; 0.90; 10.80; 1.20 -20121016; -9; -9.00; 0.30; 10.40; 1.10 -20121017; -9; -9.00; 12.80; 9.90; 1.10 -20121018; -9; -9.00; 10.70; 13.70; 1.40 -20121019; -9; -9.00; 0.20; 10.20; 1.10 -20121020; -9; -9.00; 9.80; 9.60; 1.00 -20121021; -9; -9.00; 0.10; 10.50; 1.10 -20121022; -9; -9.00; 1.10; 10.70; 1.10 -20121023; -9; -9.00; 0.90; 12.50; 1.20 -20121024; -9; -9.00; 0.30; 11.20; 1.10 -20121025; -9; -9.00; 1.70; 11.80; 1.10 -20121026; -9; -9.00; 0.00; 9.60; 0.90 -20121027; -9; -9.00; 13.70; 13.00; 1.10 -20121028; -9; -9.00; 15.60; 12.40; 1.10 -20121029; -9; -9.00; 12.00; 11.20; 1.00 -20121030; -9; -9.00; 12.90; 10.20; 0.90 -20121031; -9; -9.00; 4.20; 9.50; 0.80 -20121101; -9; -9.00; 10.80; 9.10; 0.80 -20121102; -9; -9.00; 5.50; 8.70; 0.80 -20121103; -9; -9.00; 6.00; 7.40; 0.70 -20121104; -9; -9.00; 2.20; 6.10; 0.60 -20121105; -9; -9.00; 38.80; 8.80; 0.80 -20121106; -9; -9.00; 8.50; 7.40; 0.70 -20121107; -9; -9.00; 6.20; 7.90; 0.70 -20121108; -9; -9.00; 1.50; 7.50; 0.70 -20121109; -9; -9.00; 0.60; 5.50; 0.50 -20121110; -9; -9.00; 2.40; 6.90; 0.60 -20121111; -9; -9.00; 36.10; 10.30; 0.80 -20121112; -9; -9.00; 2.10; 8.60; 0.70 -20121113; -9; -9.00; 3.60; 5.50; 0.50 -20121114; -9; -9.00; 1.00; 5.00; 0.50 -20121115; -9; -9.00; 12.50; 7.10; 0.60 -20121116; -9; -9.00; 1.60; 7.10; 0.60 -20121117; -9; -9.00; 0.60; 6.60; 0.50 -20121118; -9; -9.00; 7.80; 10.20; 0.70 -20121119; -9; -9.00; 4.70; 8.20; 0.60 -20121120; -9; -9.00; 5.20; 6.20; 0.50 -20121121; -9; -9.00; 20.10; 8.60; 0.60 -20121122; -9; -9.00; 8.40; 8.30; 0.60 -20121123; -9; -9.00; 0.60; 6.90; 0.50 -20121124; -9; -9.00; 14.50; 7.20; 0.50 -20121125; -9; -9.00; 14.70; 10.60; 0.60 -20121126; -9; -9.00; 7.50; 8.00; 0.50 -20121127; -9; -9.00; 6.10; 11.80; 0.70 -20121128; -9; -9.00; 0.90; 13.40; 0.70 -20121129; -9; -9.00; 0.40; 11.40; 0.70 -20121130; -9; -9.00; 23.00; 10.90; 0.60 -20121201; -9; -9.00; 2.80; 11.60; 0.70 -20121202; -9; -9.00; 1.10; 8.90; 0.50 -20121203; -9; -9.00; 32.50; 8.60; 0.50 -20121204; -9; -9.00; 7.30; 12.50; 0.70 -20121205; -9; -9.00; 12.00; 12.30; 0.70 -20121206; -9; -9.00; 9.80; 10.30; 0.60 -20121207; -9; -9.00; 17.60; 11.20; 0.60 -20121208; -9; -9.00; 10.60; 9.40; 0.50 -20121209; -9; -9.00; 24.20; 10.00; 0.60 -20121210; -9; -9.00; 0.90; 12.00; 0.60 -20121211; -9; -9.00; 48.60; 12.90; 0.70 -20121212; -9; -9.00; 36.00; 12.10; 0.60 -20121213; -9; -9.00; 11.90; 10.50; 0.60 -20121214; -9; -9.00; 1.50; 7.00; 0.40 -20121215; -9; -9.00; 3.40; 4.60; 0.30 -20121216; -9; -9.00; 0.40; 5.90; 0.40 -20121217; -9; -9.00; 12.60; 5.50; 0.40 -20121218; -9; -9.00; 2.80; 7.90; 0.50 -20121219; -9; -9.00; 0.10; 9.30; 0.50 -20121220; -9; -9.00; 0.10; 8.50; 0.50 -20121221; -9; -9.00; 0.10; 8.00; 0.40 -20121222; -9; -9.00; 0.00; 7.50; 0.40 -20121223; -9; -9.00; 0.00; 7.80; 0.40 -20121224; -9; -9.00; 0.00; 7.30; 0.40 -20121225; -9; -9.00; 3.10; 6.50; 0.40 -20121226; -9; -9.00; 1.30; 5.60; 0.40 -20121227; -9; -9.00; 1.90; 3.60; 0.30 -20121228; -9; -9.00; 1.80; 2.50; 0.30 -20121229; -9; -9.00; 2.30; 1.90; 0.20 -20121230; -9; -9.00; 1.10; -0.40; 0.20 -20121231; -9; -9.00; 59.60; 6.10; 0.40 diff --git a/files_misc/airGR_AdvancedExample/Test_DataInput/L0123002.txt b/files_misc/airGR_AdvancedExample/Test_DataInput/L0123002.txt deleted file mode 100644 index 958e8c990e825b8525bc56f1f85a80d6fb9c320b..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/Test_DataInput/L0123002.txt +++ /dev/null @@ -1,10600 +0,0 @@ -# ------------------------------------------------------- -# Code ; L0123002 -# Name ; Snowy River at Orroral Valley Homestead -# Area (km2) ; 3060 -# Units ; YYYYMMDD ; l/s ; mm/d ; mm/d ; degC ; mm/d -# ------------------------------------------------------- - Date; Q; Qmm; Ptot; Temp; PE -19840101; 14315; 0.40; 7.09; -1.61; 0.00 -19840102; 14886; 0.42; 10.47; -2.44; 0.00 -19840103; 13168; 0.37; 0.00;-10.42; 0.00 -19840104; 11737; 0.33; 9.48;-10.89; 0.00 -19840105; 14029; 0.40; 4.85; -7.20; 0.00 -19840106; 15172; 0.43; 3.24; -2.13; 0.00 -19840107; 15746; 0.44; 6.64; -0.44; 0.00 -19840108; 15459; 0.44; 7.37; -3.15; 0.00 -19840109; 14886; 0.42; 19.81; -1.99; 0.00 -19840110; 14886; 0.42; 15.17; -3.61; 0.00 -19840111; 15459; 0.44; 64.94; -2.28; 0.00 -19840112; 16320; 0.46; 11.44; -4.01; 0.00 -19840113; 16890; 0.48; 1.05; -8.31; 0.00 -19840114; 16320; 0.46; 0.00; -8.93; 0.00 -19840115; 16033; 0.45; 0.41; -3.36; 0.00 -19840116; 16890; 0.48; 0.53; -3.17; 0.00 -19840117; 18066; 0.51; 6.88; -0.56; 0.00 -19840118; 18523; 0.52; 28.70; -0.82; 0.00 -19840119; 19440; 0.55; 18.77; 0.50; 0.00 -19840120; 40081; 1.13; 16.20; 2.23; 0.00 -19840121; 64416; 1.82; 34.45; 2.11; 0.00 -19840122; 60123; 1.70; 20.64; -0.09; 0.00 -19840123; 41799; 1.18; 12.10; -2.21; 0.00 -19840124; 32350; 0.91; 6.34; -4.04; 0.00 -19840125; 27540; 0.78; 7.81; -7.14; 0.00 -19840126; 21101; 0.60; 1.68;-13.44; 0.00 -19840127; 17205; 0.49; 0.09;-12.21; 0.00 -19840128; 16033; 0.45; 1.77;-11.61; 0.00 -19840129; 16320; 0.46; 4.47;-10.71; 0.00 -19840130; 16603; 0.47; 0.19; -9.78; 0.00 -19840131; 16890; 0.48; 5.43;-10.96; 0.00 -19840201; 15746; 0.44; 0.53;-12.97; 0.00 -19840202; 15172; 0.43; 0.00;-11.24; 0.00 -19840203; 14886; 0.42; 0.00;-10.37; 0.00 -19840204; 16033; 0.45; 0.60;-10.63; 0.00 -19840205; 17751; 0.50; 8.42; -7.86; 0.00 -19840206; 20354; 0.57; 5.71; -3.37; 0.00 -19840207; 21586; 0.61; 6.98; -1.21; 0.00 -19840208; 21328; 0.60; 7.42; -1.19; 0.00 -19840209; 20843; 0.59; 1.78; -1.07; 0.01 -19840210; 19667; 0.56; 0.00; -5.03; 0.03 -19840211; 19897; 0.56; 2.19; -5.50; 0.05 -19840212; 18980; 0.54; 7.22; -1.87; 0.07 -19840213; 24852; 0.70; 29.50; -0.10; 0.10 -19840214; 26740; 0.76; 3.91; -3.47; 0.12 -19840215; 25107; 0.71; 22.70; -1.85; 0.14 -19840216; 32636; 0.92; 15.30; 0.85; 0.17 -19840217; 46665; 1.32; 14.87; -1.01; 0.19 -19840218; 46665; 1.32; 13.72; 1.06; 0.22 -19840219; 46665; 1.32; 1.09; 0.54; 0.24 -19840220; 46665; 1.32; 9.88; 0.16; 0.27 -19840221; 46952; 1.33; 1.31; -3.43; 0.29 -19840222; 44090; 1.24; 22.43; -1.70; 0.32 -19840223; 42659; 1.20; 5.81; -1.63; 0.35 -19840224; 39794; 1.12; 20.75; -2.65; 0.38 -19840225; 36072; 1.02; 4.10; -2.79; 0.41 -19840226; 33210; 0.94; 14.58; -4.36; 0.44 -19840227; 46952; 1.33; 58.05; -0.39; 0.47 -19840228; 107075; 3.02; 21.63; 3.45; 0.50 -19840229; 129979; 3.67; 20.88; 0.53; 0.53 -19840301; 106501; 3.01; 9.10; -3.72; 0.56 -19840302; 88751; 2.51; 35.21; -1.62; 0.59 -19840303; 81593; 2.30; 6.18; -2.88; 0.62 -19840304; 70713; 2.00; 5.27; -2.74; 0.66 -19840305; 65276; 1.84; 19.35; 0.70; 0.69 -19840306; 82167; 2.32; 18.22; 1.14; 0.72 -19840307; 89324; 2.52; 0.11; -2.31; 0.75 -19840308; 81306; 2.30; 0.11; 0.37; 0.79 -19840309; 75870; 2.14; 0.00; 3.68; 0.82 -19840310; 87320; 2.47; 1.81; 4.69; 0.86 -19840311; 121674; 3.44; 16.30; 3.10; 0.89 -19840312; 148587; 4.20; 3.55; 2.08; 0.93 -19840313; 165190; 4.66; 8.68; 2.46; 0.96 -19840314; 190673; 5.38; 8.40; 3.17; 1.00 -19840315; 188094; 5.31; 0.58; 4.93; 1.04 -19840316; 198401; 5.60; 0.00; 7.03; 1.07 -19840317; 230180; 6.50; 0.00; 6.14; 1.11 -19840318; 246787; 6.97; 32.43; 2.33; 1.15 -19840319; 235620; 6.65; 2.58; 2.14; 1.19 -19840320; 210998; 5.96; 0.00; 3.29; 1.23 -19840321; 190673; 5.38; 0.06; 2.64; 1.26 -19840322; 178932; 5.05; 6.68; 4.68; 1.30 -19840323; 207276; 5.85; 7.81; 2.99; 1.34 -19840324; 195539; 5.52; 4.43; -0.06; 1.38 -19840325; 173779; 4.91; 5.98; -0.89; 1.42 -19840326; 148013; 4.18; 2.34; -5.09; 1.46 -19840327; 128832; 3.64; 0.39; -2.66; 1.50 -19840328; 114233; 3.23; 1.10; -1.24; 1.54 -19840329; 104210; 2.94; 4.14; -0.43; 1.58 -19840330; 95051; 2.68; 1.57; 2.63; 1.62 -19840331; 92760; 2.62; 0.11; 3.10; 1.66 -19840401; 97626; 2.76; 8.72; 3.51; 1.70 -19840402; 119956; 3.39; 0.30; 1.24; 1.74 -19840403; 120530; 3.40; 0.00; -0.99; 1.78 -19840404; 119956; 3.39; 0.56; 1.38; 1.82 -19840405; 119956; 3.39; 2.14; 4.02; 1.86 -19840406; 150305; 4.24; 22.10; 3.92; 1.90 -19840407; 175784; 4.96; 12.56; 1.38; 1.94 -19840408; 163189; 4.61; 8.56; 0.15; 1.98 -19840409; 148587; 4.20; 2.19; 0.23; 2.02 -19840410; 137420; 3.88; 1.66; 1.13; 2.06 -19840411; 131980; 3.73; 6.37; 1.71; 2.10 -19840412; 132554; 3.74; 16.90; 1.95; 2.14 -19840413; 123392; 3.48; 1.62; -0.81; 2.18 -19840414; 113659; 3.21; 0.49; 0.33; 2.23 -19840415; 109080; 3.08; 7.16; 2.23; 2.27 -19840416; 113659; 3.21; 18.82; 0.74; 2.31 -19840417; 106501; 3.01; 1.17; -2.52; 2.35 -19840418; 99344; 2.81; 0.07; -1.79; 2.39 -19840419; 94478; 2.67; 0.43; -0.77; 2.43 -19840420; 93334; 2.64; 0.00; 2.21; 2.47 -19840421; 94478; 2.67; 5.97; 2.28; 2.51 -19840422; 92473; 2.61; 1.86; -0.04; 2.55 -19840423; 92473; 2.61; 0.06; 2.91; 2.59 -19840424; 108506; 3.06; 3.71; 6.30; 2.63 -19840425; 119956; 3.39; 5.65; 2.50; 2.67 -19840426; 116521; 3.29; 0.13; 3.13; 2.71 -19840427; 126544; 3.57; 0.05; 5.79; 2.75 -19840428; 160037; 4.52; 0.57; 6.31; 2.79 -19840429; 187237; 5.29; 4.41; 1.98; 2.83 -19840430; 169773; 4.79; 0.31; -0.06; 2.87 -19840501; 154314; 4.36; 0.00; 1.12; 2.90 -19840502; 156032; 4.41; 0.00; 3.90; 2.94 -19840503; 163760; 4.62; 0.00; 5.79; 2.98 -19840504; 202984; 5.73; 0.01; 6.21; 3.02 -19840505; 240773; 6.80; 0.00; 6.56; 3.06 -19840506; 286007; 8.08; 1.68; 6.58; 3.09 -19840507; 309198; 8.73; 5.49; 5.83; 3.13 -19840508; 343552; 9.70; 23.00; 3.67; 3.16 -19840509; 329237; 9.30; 2.72; 4.13; 3.20 -19840510; 300610; 8.49; 1.64; 4.44; 3.24 -19840511; 281998; 7.96; 1.28; 5.50; 3.27 -19840512; 294883; 8.33; 0.00; 8.14; 3.31 -19840513; 357868; 10.10; 0.00; 9.56; 3.34 -19840514; 449480; 12.69; 1.58; 11.76; 3.38 -19840515; 586904; 16.57; 1.49; 11.58; 3.41 -19840516; 675654; 19.08; 0.07; 12.09; 3.44 -19840517; 689970; 19.48; 4.30; 11.24; 3.48 -19840518; 612669; 17.30; 0.00; 7.28; 3.51 -19840519; 584039; 16.49; 0.00; 7.34; 3.54 -19840520; 586904; 16.57; 9.42; 9.86; 3.58 -19840521; 632712; 17.86; 5.97; 8.31; 3.61 -19840522; 615531; 17.38; 3.58; 7.74; 3.64 -19840523; 558273; 15.76; 1.36; 7.58; 3.67 -19840524; 518192; 14.63; 7.21; 6.29; 3.70 -19840525; 452345; 12.77; 0.77; 4.45; 3.73 -19840526; 400810; 11.32; 0.00; 6.64; 3.76 -19840527; 426580; 12.04; 0.00; 10.27; 3.79 -19840528; 521054; 14.71; 0.00; 12.76; 3.81 -19840529; 641300; 18.11; 0.00; 14.68; 3.84 -19840530; 747228; 21.10; 0.13; 16.37; 3.87 -19840531; 830252; 23.44; 2.78; 16.60; 3.90 -19840601; 873198; 24.66; 0.78; 14.92; 3.92 -19840602; 847432; 23.93; 0.12; 13.28; 3.95 -19840603; 764405; 21.58; 2.25; 11.83; 3.97 -19840604; 701420; 19.80; 0.00; 12.61; 4.00 -19840605; 692831; 19.56; 0.48; 14.02; 4.02 -19840606; 710009; 20.05; 0.00; 15.64; 4.04 -19840607; 738639; 20.86; 0.90; 17.04; 4.07 -19840608; 747228; 21.10; 2.55; 16.25; 4.09 -19840609; 710009; 20.05; 2.52; 15.61; 4.11 -19840610; 695693; 19.64; 7.55; 15.17; 4.13 -19840611; 684243; 19.32; 6.32; 10.38; 4.15 -19840612; 538234; 15.20; 1.24; 6.25; 4.17 -19840613; 432303; 12.21; 0.10; 8.71; 4.19 -19840614; 389360; 10.99; 0.13; 12.44; 4.21 -19840615; 423714; 11.96; 0.51; 14.89; 4.23 -19840616; 478111; 13.50; 1.99; 16.39; 4.25 -19840617; 503876; 14.23; 0.09; 11.77; 4.26 -19840618; 460934; 13.01; 9.35; 10.35; 4.28 -19840619; 389360; 10.99; 0.25; 9.85; 4.29 -19840620; 337825; 9.54; 6.49; 10.49; 4.31 -19840621; 337825; 9.54; 1.38; 10.68; 4.32 -19840622; 320648; 9.05; 2.16; 11.19; 4.34 -19840623; 332102; 9.38; 6.83; 11.72; 4.35 -19840624; 306333; 8.65; 3.16; 8.57; 4.36 -19840625; 279423; 7.89; 1.71; 9.17; 4.37 -19840626; 262533; 7.41; 0.78; 8.88; 4.38 -19840627; 239342; 6.76; 0.02; 10.41; 4.39 -19840628; 228175; 6.44; 0.00; 14.11; 4.40 -19840629; 254802; 7.19; 0.00; 15.21; 4.41 -19840630; 263390; 7.44; 0.00; 14.20; 4.42 -19840701; 255662; 7.22; 0.08; 12.20; 4.43 -19840702; 231041; 6.52; 0.00; 11.29; 4.43 -19840703; 206706; 5.84; 0.00; 12.31; 4.44 -19840704; 193534; 5.46; 0.00; 14.22; 4.45 -19840705; 191530; 5.41; 0.24; 16.87; 4.45 -19840706; 197544; 5.58; 3.92; 18.93; 4.45 -19840707; 197544; 5.58; 1.48; 17.50; 4.46 -19840708; 181224; 5.12; 0.14; 16.69; 4.46 -19840709; 168626; 4.76; 0.84; 14.42; 4.46 -19840710; 147156; 4.16; 0.00; 10.57; 4.46 -19840711; 130836; 3.69; 1.25; 12.68; 4.46 -19840712; 121674; 3.44; 0.00; 16.82; 4.46 -19840713; 118812; 3.35; 0.86; 17.37; 4.46 -19840714; 114803; 3.24; 0.21; 15.62; 4.46 -19840715; 106501; 3.01; 0.00; 14.01; 4.46 -19840716; 98200; 2.77; 0.00; 14.22; 4.45 -19840717; 90755; 2.56; 0.00; 14.11; 4.45 -19840718; 84741; 2.39; 3.76; 14.22; 4.44 -19840719; 85028; 2.40; 6.33; 8.61; 4.44 -19840720; 86176; 2.43; 3.78; 9.37; 4.43 -19840721; 83024; 2.34; 7.96; 10.45; 4.43 -19840722; 77300; 2.18; 0.30; 12.24; 4.42 -19840723; 68712; 1.94; 0.03; 14.29; 4.41 -19840724; 64416; 1.82; 0.33; 16.19; 4.40 -19840725; 61841; 1.75; 0.04; 15.50; 4.39 -19840726; 58406; 1.65; 0.53; 16.43; 4.38 -19840727; 54970; 1.55; 0.01; 17.50; 4.37 -19840728; 52392; 1.48; 0.13; 16.90; 4.36 -19840729; 49243; 1.39; 0.00; 18.35; 4.35 -19840730; 46665; 1.32; 0.01; 19.12; 4.34 -19840731; 44660; 1.26; 1.57; 17.99; 4.32 -19840801; 43803; 1.24; 0.45; 16.52; 4.31 -19840802; 40942; 1.16; 7.18; 14.90; 4.29 -19840803; 41225; 1.16; 0.08; 13.43; 4.28 -19840804; 38076; 1.08; 0.00; 15.32; 4.26 -19840805; 35502; 1.00; 0.00; 16.70; 4.25 -19840806; 33497; 0.95; 0.00; 17.64; 4.23 -19840807; 31779; 0.90; 0.00; 19.03; 4.21 -19840808; 30632; 0.86; 0.00; 20.03; 4.19 -19840809; 29201; 0.82; 0.02; 20.54; 4.17 -19840810; 27827; 0.79; 0.01; 19.21; 4.15 -19840811; 26740; 0.76; 0.00; 19.13; 4.13 -19840812; 25652; 0.72; 0.04; 18.28; 4.11 -19840813; 24593; 0.69; 0.02; 16.91; 4.09 -19840814; 24335; 0.69; 0.01; 17.23; 4.07 -19840815; 24335; 0.69; 15.19; 17.01; 4.04 -19840816; 32636; 0.92; 0.78; 15.52; 4.02 -19840817; 29488; 0.83; 0.00; 14.53; 4.00 -19840818; 25911; 0.73; 0.00; 15.64; 3.97 -19840819; 24076; 0.68; 1.32; 15.88; 3.95 -19840820; 23821; 0.67; 1.63; 16.52; 3.92 -19840821; 23563; 0.67; 0.22; 16.76; 3.90 -19840822; 22072; 0.62; 2.03; 13.40; 3.87 -19840823; 22072; 0.62; 1.11; 11.23; 3.84 -19840824; 21328; 0.60; 0.00; 13.35; 3.81 -19840825; 20354; 0.57; 0.01; 15.37; 3.79 -19840826; 19440; 0.55; 0.00; 16.73; 3.76 -19840827; 18523; 0.52; 0.00; 17.90; 3.73 -19840828; 17864; 0.50; 0.00; 18.89; 3.70 -19840829; 17205; 0.49; 0.41; 18.48; 3.67 -19840830; 16575; 0.47; 0.13; 16.05; 3.64 -19840831; 16575; 0.47; 0.00; 11.20; 3.61 -19840901; 16146; 0.46; 0.00; 12.35; 3.57 -19840902; 15516; 0.44; 0.00; 12.74; 3.54 -19840903; 15116; 0.43; 0.00; 13.03; 3.51 -19840904; 14716; 0.42; 0.00; 13.62; 3.48 -19840905; 14514; 0.41; 2.19; 11.14; 3.44 -19840906; 15318; 0.43; 2.39; 8.52; 3.41 -19840907; 16146; 0.46; 0.00; 8.60; 3.38 -19840908; 15116; 0.43; 0.00; 12.10; 3.34 -19840909; 14114; 0.40; 0.19; 11.37; 3.31 -19840910; 13915; 0.39; 0.09; 7.37; 3.27 -19840911; 13915; 0.39; 7.52; 9.02; 3.23 -19840912; 16575; 0.47; 14.88; 8.56; 3.20 -19840913; 18066; 0.51; 0.00; 8.96; 3.16 -19840914; 16348; 0.46; 0.00; 10.10; 3.13 -19840915; 14716; 0.42; 0.00; 10.94; 3.09 -19840916; 13915; 0.39; 0.00; 12.64; 3.05 -19840917; 13341; 0.38; 0.03; 12.92; 3.02 -19840918; 12598; 0.36; 0.10; 11.60; 2.98 -19840919; 13543; 0.38; 7.49; 9.17; 2.94 -19840920; 17007; 0.48; 7.60; 6.00; 2.90 -19840921; 17864; 0.50; 6.49; 8.94; 2.86 -19840922; 19897; 0.56; 0.44; 7.12; 2.82 -19840923; 18980; 0.54; 5.59; 4.23; 2.79 -19840924; 20843; 0.59; 7.30; 2.64; 2.75 -19840925; 19897; 0.56; 1.42; 2.75; 2.71 -19840926; 17864; 0.50; 0.04; 3.27; 2.67 -19840927; 17007; 0.48; 0.87; 3.52; 2.63 -19840928; 16575; 0.47; 0.00; 1.92; 2.59 -19840929; 15718; 0.44; 0.00; 4.04; 2.55 -19840930; 15116; 0.43; 0.00; 7.62; 2.51 -19841001; 14946; 0.42; 0.00; 8.05; 2.47 -19841002; 14946; 0.42; 0.00; 8.26; 2.43 -19841003; 14772; 0.42; 0.00; 8.91; 2.39 -19841004; 14429; 0.41; 0.00; 7.45; 2.35 -19841005; 14029; 0.40; 0.00; 5.98; 2.31 -19841006; 13657; 0.39; 0.00; 5.19; 2.26 -19841007; 13426; 0.38; 0.00; 6.16; 2.22 -19841008; 13285; 0.38; 0.00; 7.51; 2.18 -19841009; 13313; 0.38; 5.13; 7.01; 2.14 -19841010; 17205; 0.49; 13.61; 6.70; 2.10 -19841011; 19469; 0.55; 0.82; 6.73; 2.06 -19841012; 17864; 0.50; 0.00; 6.44; 2.02 -19841013; 16377; 0.46; 4.11; 5.97; 1.98 -19841014; 15318; 0.43; 0.18; 5.94; 1.94 -19841015; 15116; 0.43; 0.07; 5.33; 1.90 -19841016; 14716; 0.42; 0.00; 4.72; 1.86 -19841017; 14514; 0.41; 0.00; 4.89; 1.82 -19841018; 14114; 0.40; 0.14; 3.96; 1.77 -19841019; 13742; 0.39; 0.00; 2.70; 1.74 -19841020; 13543; 0.38; 0.05; 2.44; 1.69 -19841021; 13543; 0.38; 0.09; 4.09; 1.65 -19841022; 13341; 0.38; 0.06; 6.58; 1.61 -19841023; 7501; 0.21; 5.66; 4.31; 1.57 -19841024; 7816; 0.22; 0.10; 1.96; 1.53 -19841025; 13543; 0.38; 1.99; 3.47; 1.50 -19841026; 14315; 0.40; 4.67; 2.39; 1.46 -19841027; 15746; 0.44; 5.49; 0.36; 1.42 -19841028; 15318; 0.43; 3.14; -0.81; 1.38 -19841029; 14716; 0.42; 0.99; -3.58; 1.34 -19841030; 13341; 0.38; 0.00; -4.69; 1.30 -19841031; 12768; 0.36; 0.02; -4.12; 1.26 -19841101; 12768; 0.36; 3.97; -3.42; 1.22 -19841102; 17205; 0.49; 3.17; 0.95; 1.18 -19841103; 18781; 0.53; 0.77; 2.58; 1.15 -19841104; 18094; 0.51; 11.85; 2.50; 1.11 -19841105; 24076; 0.68; 2.38; 1.67; 1.07 -19841106; 22072; 0.62; 0.09; -1.19; 1.03 -19841107; 18094; 0.51; 1.21; -0.25; 1.00 -19841108; 17436; 0.49; 5.63; -0.50; 0.96 -19841109; 17436; 0.49; 0.68; -2.08; 0.93 -19841110; 15948; 0.45; 0.97; -1.07; 0.89 -19841111; 15516; 0.44; 0.33; -1.58; 0.86 -19841112; 14918; 0.42; 0.00; -1.61; 0.82 -19841113; 14315; 0.40; 0.00; -3.20; 0.79 -19841114; 13543; 0.38; 0.00; -1.33; 0.75 -19841115; 14716; 0.42; 0.86; -0.26; 0.72 -19841116; 14514; 0.41; 0.00; 0.70; 0.69 -19841117; 13944; 0.39; 0.00; -1.29; 0.65 -19841118; 13543; 0.38; 2.05; -0.93; 0.62 -19841119; 13944; 0.39; 0.37; -2.28; 0.59 -19841120; 13140; 0.37; 0.00; -4.22; 0.56 -19841121; 12396; 0.35; 0.00; -5.38; 0.53 -19841122; 9906; 0.28; 0.00; -6.36; 0.49 -19841123; 7501; 0.21; 2.94; -7.65; 0.46 -19841124; 7816; 0.22; 0.67; -4.36; 0.43 -19841125; 15318; 0.43; 27.87; -3.82; 0.41 -19841126; 21101; 0.60; 13.02; -1.87; 0.38 -19841127; 19012; 0.54; 0.87; -5.70; 0.35 -19841128; 14315; 0.40; 0.71; -7.85; 0.32 -19841129; 13742; 0.39; 0.23; -6.02; 0.29 -19841130; 13742; 0.39; 0.00; -2.81; 0.27 -19841201; 14114; 0.40; 0.00; 0.87; 0.24 -19841202; 15318; 0.43; 17.87; -2.97; 0.21 -19841203; 13944; 0.39; 0.00;-11.81; 0.19 -19841204; 5468; 0.15; 0.02;-14.05; 0.17 -19841205; 4866; 0.14; 0.38;-13.52; 0.14 -19841206; 4579; 0.13; 2.61;-14.57; 0.12 -19841207; 5153; 0.15; 0.34;-16.26; 0.10 -19841208; 6297; 0.18; 0.73;-12.83; 0.07 -19841209; 7731; 0.22; 0.00;-12.24; 0.05 -19841210; 8589; 0.24; 0.36;-12.88; 0.03 -19841211; 10880; 0.31; 0.69;-12.66; 0.01 -19841212; 16320; 0.46; 2.16;-13.73; 0.00 -19841213; 20326; 0.57; 1.94;-13.12; 0.00 -19841214; 22904; 0.65; 0.74;-11.07; 0.00 -19841215; 24048; 0.68; 0.00;-11.76; 0.00 -19841216; 26339; 0.74; 3.03; -9.21; 0.00 -19841217; 30062; 0.85; 19.31; -3.37; 0.00 -19841218; 42943; 1.21; 11.12; 0.07; 0.00 -19841219; 48670; 1.37; 18.87; 0.97; 0.00 -19841220; 60123; 1.70; 14.49; 1.32; 0.00 -19841221; 83024; 2.34; 46.01; 1.86; 0.00 -19841222; 103640; 2.93; 30.28; 1.57; 0.00 -19841223; 72434; 2.05; 6.89; 1.43; 0.00 -19841224; 72147; 2.04; 14.28; 0.31; 0.00 -19841225; 52679; 1.49; 0.50; 0.21; 0.00 -19841226; 41225; 1.16; 0.20; 2.03; 0.00 -19841227; 36932; 1.04; 8.92; 2.03; 0.00 -19841228; 36932; 1.04; 3.72; -0.23; 0.00 -19841229; 31492; 0.89; 0.50; -4.03; 0.00 -19841230; 27540; 0.78; 2.22; -6.36; 0.00 -19841231; 26453; 0.75; 5.16; -4.82; 0.00 -19850101; 24852; 0.70; 0.99; -4.17; 0.00 -19850102; 24335; 0.69; 9.50; -2.27; 0.00 -19850103; 20612; 0.58; 0.55; -9.52; 0.00 -19850104; 15746; 0.44; 1.65;-11.87; 0.00 -19850105; 12311; 0.35; 3.03;-10.65; 0.00 -19850106; 10019; 0.28; 1.08;-11.02; 0.00 -19850107; 8875; 0.25; 0.22;-13.01; 0.00 -19850108; 8589; 0.24; 0.00;-12.01; 0.00 -19850109; 8730; 0.25; 0.00;-12.03; 0.00 -19850110; 9162; 0.26; 0.00;-11.22; 0.00 -19850111; 14602; 0.41; 6.51;-10.02; 0.00 -19850112; 22043; 0.62; 17.81; -3.19; 0.00 -19850113; 40081; 1.13; 23.44; 1.04; 0.00 -19850114; 43516; 1.23; 6.00; 2.84; 0.00 -19850115; 44947; 1.27; 1.88; 1.56; 0.00 -19850116; 56401; 1.59; 15.17; 2.31; 0.00 -19850117; 64990; 1.83; 2.25; 0.60; 0.00 -19850118; 54683; 1.54; 1.67; -0.65; 0.00 -19850119; 47239; 1.33; 6.57; -1.57; 0.00 -19850120; 40081; 1.13; 1.35; -3.12; 0.00 -19850121; 36359; 1.03; 1.84; -2.39; 0.00 -19850122; 31206; 0.88; 0.00; -5.86; 0.00 -19850123; 30062; 0.85; 0.00; -3.59; 0.00 -19850124; 28631; 0.81; 0.22; -2.49; 0.00 -19850125; 28631; 0.81; 6.42; -1.44; 0.00 -19850126; 26711; 0.75; 0.23; -3.41; 0.00 -19850127; 23332; 0.66; 0.52; -6.90; 0.00 -19850128; 23074; 0.65; 0.00; -5.96; 0.00 -19850129; 23074; 0.65; 0.41; -6.14; 0.00 -19850130; 23591; 0.67; 2.37; -3.08; 0.00 -19850131; 23074; 0.65; 3.59; -1.81; 0.00 -19850201; 21586; 0.61; 0.00; -4.25; 0.00 -19850202; 20386; 0.58; 0.00; -4.90; 0.00 -19850203; 20386; 0.58; 0.00; -4.53; 0.00 -19850204; 20386; 0.58; 5.65; -2.53; 0.00 -19850205; 20612; 0.58; 12.63; -4.36; 0.00 -19850206; 19699; 0.56; 1.60; -6.25; 0.00 -19850207; 16777; 0.47; 0.00; -9.24; 0.00 -19850208; 16146; 0.46; 0.00; -9.46; 0.00 -19850209; 17205; 0.49; 0.00; -9.45; 0.01 -19850210; 19925; 0.56; 11.25; -6.23; 0.03 -19850211; 19925; 0.56; 3.89; -2.93; 0.05 -19850212; 18781; 0.53; 0.09; -1.82; 0.07 -19850213; 17436; 0.49; 0.00; -4.79; 0.10 -19850214; 17436; 0.49; 0.00; -4.41; 0.12 -19850215; 17205; 0.49; 0.37; -3.62; 0.14 -19850216; 17205; 0.49; 0.19; -0.05; 0.17 -19850217; 17436; 0.49; 8.55; -2.81; 0.19 -19850218; 17634; 0.50; 0.26; -2.04; 0.22 -19850219; 16575; 0.47; 0.00; -4.19; 0.24 -19850220; 16575; 0.47; 0.00; -2.56; 0.27 -19850221; 16377; 0.46; 0.00; -2.82; 0.29 -19850222; 16777; 0.47; 0.00; -1.84; 0.32 -19850223; 17205; 0.49; 0.00; 0.11; 0.35 -19850224; 17436; 0.49; 0.00; -1.50; 0.38 -19850225; 19012; 0.54; 2.60; 0.30; 0.41 -19850226; 20386; 0.58; 0.43; 2.16; 0.44 -19850227; 21845; 0.62; 1.16; 3.05; 0.47 -19850228; 24335; 0.69; 1.00; 2.36; 0.50 -19850301; 28344; 0.80; 17.93; 1.69; 0.53 -19850302; 30919; 0.87; 0.52; -0.07; 0.56 -19850303; 28344; 0.80; 0.00; -2.05; 0.59 -19850304; 26453; 0.75; 0.00; -1.42; 0.62 -19850305; 26453; 0.75; 2.27; -0.33; 0.66 -19850306; 25135; 0.71; 0.39; -1.26; 0.69 -19850307; 24335; 0.69; 1.45; -0.74; 0.72 -19850308; 23821; 0.67; 0.73; 0.29; 0.75 -19850309; 24076; 0.68; 2.45; -0.70; 0.79 -19850310; 24852; 0.70; 8.79; 0.42; 0.82 -19850311; 25652; 0.72; 0.60; -0.82; 0.86 -19850312; 24076; 0.68; 0.43; -1.97; 0.89 -19850313; 24076; 0.68; 4.88; -1.08; 0.93 -19850314; 23332; 0.66; 0.00; -0.85; 0.96 -19850315; 22589; 0.64; 0.66; 0.79; 1.00 -19850316; 22589; 0.64; 0.33; 2.39; 1.04 -19850317; 24335; 0.69; 6.41; 1.85; 1.07 -19850318; 23591; 0.67; 0.00; -2.14; 1.11 -19850319; 23074; 0.65; 0.00; 1.06; 1.15 -19850320; 22589; 0.64; 3.13; 2.24; 1.19 -19850321; 26711; 0.75; 8.06; 2.21; 1.23 -19850322; 29201; 0.82; 16.51; 1.54; 1.26 -19850323; 29775; 0.84; 1.44; 2.88; 1.30 -19850324; 30062; 0.85; 0.49; 2.16; 1.34 -19850325; 31206; 0.88; 0.65; 3.72; 1.38 -19850326; 36072; 1.02; 0.34; 2.76; 1.42 -19850327; 34928; 0.99; 0.09; -0.15; 1.46 -19850328; 32636; 0.92; 0.51; -0.64; 1.50 -19850329; 30632; 0.86; 0.00; -0.89; 1.54 -19850330; 29201; 0.82; 0.49; -0.36; 1.58 -19850331; 29201; 0.82; 6.03; 0.00; 1.62 -19850401; 27799; 0.78; 0.62; -1.26; 1.66 -19850402; 26711; 0.75; 7.64; 1.10; 1.70 -19850403; 26453; 0.75; 0.41; 1.78; 1.74 -19850404; 27540; 0.78; 0.00; 4.09; 1.78 -19850405; 30349; 0.86; 0.69; 5.25; 1.82 -19850406; 34354; 0.97; 2.93; 1.39; 1.86 -19850407; 33210; 0.94; 0.02; -2.94; 1.90 -19850408; 31779; 0.90; 0.00; -0.03; 1.94 -19850409; 33784; 0.95; 0.00; 4.07; 1.98 -19850410; 38363; 1.08; 0.00; 6.36; 2.02 -19850411; 46095; 1.30; 0.00; 5.71; 2.06 -19850412; 60123; 1.70; 2.17; 6.77; 2.10 -19850413; 74435; 2.10; 3.43; 6.09; 2.14 -19850414; 79588; 2.25; 1.11; 1.58; 2.18 -19850415; 71000; 2.00; 0.43; 0.82; 2.23 -19850416; 71000; 2.00; 7.53; 1.87; 2.27 -19850417; 75870; 2.14; 2.12; 2.15; 2.31 -19850418; 66994; 1.89; 2.18; -0.15; 2.35 -19850419; 60407; 1.71; 0.35; -1.17; 2.39 -19850420; 56688; 1.60; 4.28; 0.73; 2.43 -19850421; 53823; 1.52; 1.25; 3.95; 2.47 -19850422; 54970; 1.55; 0.55; 5.51; 2.51 -19850423; 57545; 1.62; 0.02; 4.45; 2.55 -19850424; 56401; 1.59; 0.00; 4.11; 2.59 -19850425; 58976; 1.67; 0.18; 5.58; 2.63 -19850426; 64990; 1.83; 0.00; 6.39; 2.67 -19850427; 82740; 2.34; 2.35; 7.22; 2.71 -19850428; 97052; 2.74; 0.00; 3.59; 2.75 -19850429; 89611; 2.53; 1.18; 1.71; 2.79 -19850430; 87033; 2.46; 0.39; 2.08; 2.83 -19850501; 84171; 2.38; 0.00; 2.13; 2.87 -19850502; 88751; 2.51; 0.22; 4.59; 2.90 -19850503; 101922; 2.88; 3.53; 5.90; 2.94 -19850504; 113085; 3.19; 7.41; 5.97; 2.98 -19850505; 121674; 3.44; 0.00; 6.97; 3.02 -19850506; 134845; 3.81; 0.00; 6.60; 3.06 -19850507; 142860; 4.03; 0.53; 6.94; 3.09 -19850508; 155458; 4.39; 13.62; 5.67; 3.13 -19850509; 139712; 3.94; 1.41; 3.93; 3.16 -19850510; 126544; 3.57; 5.10; 2.76; 3.20 -19850511; 113085; 3.19; 0.00; 3.66; 3.24 -19850512; 109650; 3.10; 0.00; 7.89; 3.27 -19850513; 124539; 3.52; 0.00; 10.87; 3.31 -19850514; 166338; 4.70; 0.00; 12.67; 3.34 -19850515; 223022; 6.30; 0.00; 14.08; 3.38 -19850516; 297744; 8.41; 0.00; 14.48; 3.41 -19850517; 334964; 9.46; 0.00; 13.91; 3.44 -19850518; 349279; 9.86; 0.00; 12.55; 3.48 -19850519; 346418; 9.78; 0.59; 11.70; 3.51 -19850520; 329237; 9.30; 0.06; 9.47; 3.54 -19850521; 256806; 7.25; 0.00; 4.84; 3.58 -19850522; 231041; 6.52; 0.00; 8.59; 3.61 -19850523; 233329; 6.59; 0.00; 12.04; 3.64 -19850524; 245352; 6.93; 14.08; 12.55; 3.67 -19850525; 289156; 8.16; 9.13; 5.96; 3.70 -19850526; 225314; 6.36; 0.33; 2.61; 3.73 -19850527; 184946; 5.22; 0.12; 4.83; 3.76 -19850528; 170917; 4.83; 0.27; 8.13; 3.79 -19850529; 165764; 4.68; 0.00; 8.68; 3.81 -19850530; 171491; 4.84; 0.00; 12.20; 3.84 -19850531; 196113; 5.54; 2.62; 11.28; 3.87 -19850601; 188381; 5.32; 0.33; 7.71; 3.90 -19850602; 177501; 5.01; 0.83; 6.69; 3.92 -19850603; 154027; 4.35; 0.17; 4.82; 3.95 -19850604; 135416; 3.82; 0.20; 8.17; 3.97 -19850605; 131697; 3.72; 0.00; 11.98; 4.00 -19850606; 144578; 4.08; 0.17; 13.49; 4.02 -19850607; 163760; 4.62; 1.49; 14.29; 4.04 -19850608; 168342; 4.75; 0.68; 15.19; 4.07 -19850609; 174926; 4.94; 2.56; 12.19; 4.09 -19850610; 163189; 4.61; 0.02; 7.41; 4.11 -19850611; 134845; 3.81; 0.00; 8.11; 4.13 -19850612; 122821; 3.47; 0.09; 12.99; 4.15 -19850613; 121674; 3.44; 2.01; 13.95; 4.17 -19850614; 184372; 5.21; 46.21; 9.66; 4.19 -19850615; 219300; 6.19; 1.72; 6.33; 4.21 -19850616; 156602; 4.42; 11.29; 6.85; 4.23 -19850617; 152880; 4.32; 6.81; 5.15; 4.25 -19850618; 142286; 4.02; 2.54; 4.74; 4.26 -19850619; 129405; 3.65; 0.00; 8.16; 4.28 -19850620; 123392; 3.48; 0.00; 11.80; 4.29 -19850621; 115951; 3.27; 0.17; 15.44; 4.31 -19850622; 114803; 3.24; 0.00; 18.35; 4.32 -19850623; 114233; 3.23; 1.45; 16.64; 4.34 -19850624; 107359; 3.03; 0.00; 14.74; 4.35 -19850625; 99631; 2.81; 0.16; 12.82; 4.36 -19850626; 94478; 2.67; 0.92; 16.01; 4.37 -19850627; 89037; 2.51; 0.51; 17.03; 4.38 -19850628; 84458; 2.38; 3.35; 16.21; 4.39 -19850629; 81023; 2.29; 0.26; 15.83; 4.40 -19850630; 73291; 2.07; 0.03; 12.36; 4.41 -19850701; 66994; 1.89; 0.00; 9.77; 4.42 -19850702; 61267; 1.73; 0.00; 11.99; 4.43 -19850703; 56688; 1.60; 0.00; 15.61; 4.43 -19850704; 52966; 1.50; 0.00; 16.42; 4.44 -19850705; 50100; 1.41; 0.00; 16.00; 4.45 -19850706; 47526; 1.34; 0.00; 12.87; 4.45 -19850707; 45521; 1.29; 0.00; 11.99; 4.45 -19850708; 42372; 1.20; 0.00; 14.73; 4.46 -19850709; 39794; 1.12; 0.00; 17.02; 4.46 -19850710; 37506; 1.06; 0.00; 19.52; 4.46 -19850711; 34928; 0.99; 0.00; 18.16; 4.46 -19850712; 33497; 0.95; 0.00; 13.29; 4.46 -19850713; 31779; 0.90; 0.00; 14.77; 4.46 -19850714; 30062; 0.85; 0.00; 16.66; 4.46 -19850715; 28631; 0.81; 0.00; 17.61; 4.46 -19850716; 27257; 0.77; 0.00; 18.08; 4.46 -19850717; 26194; 0.74; 0.00; 17.45; 4.45 -19850718; 25135; 0.71; 0.03; 18.27; 4.45 -19850719; 24076; 0.68; 0.12; 18.47; 4.44 -19850720; 23591; 0.67; 4.20; 17.75; 4.44 -19850721; 25394; 0.72; 0.80; 14.45; 4.43 -19850722; 25394; 0.72; 0.11; 13.64; 4.43 -19850723; 23074; 0.65; 0.01; 13.45; 4.42 -19850724; 21845; 0.62; 0.00; 14.16; 4.41 -19850725; 20843; 0.59; 0.00; 16.01; 4.40 -19850726; 19699; 0.56; 0.00; 16.74; 4.39 -19850727; 19012; 0.54; 0.00; 17.81; 4.38 -19850728; 18325; 0.52; 0.00; 18.17; 4.37 -19850729; 17436; 0.49; 0.00; 17.96; 4.36 -19850730; 17007; 0.48; 0.00; 18.97; 4.35 -19850731; 16377; 0.46; 0.00; 18.53; 4.34 -19850801; 15746; 0.44; 0.00; 18.86; 4.32 -19850802; 15116; 0.43; 0.05; 19.95; 4.31 -19850803; 14716; 0.42; 0.14; 18.83; 4.29 -19850804; 14918; 0.42; 2.71; 19.62; 4.28 -19850805; 14716; 0.42; 0.33; 16.46; 4.26 -19850806; 14514; 0.41; 0.00; 15.16; 4.25 -19850807; 14315; 0.40; 0.00; 13.67; 4.23 -19850808; 13543; 0.38; 0.00; 15.68; 4.21 -19850809; 13140; 0.37; 0.09; 17.29; 4.19 -19850810; 12768; 0.36; 0.72; 17.99; 4.17 -19850811; 12396; 0.35; 0.03; 17.30; 4.15 -19850812; 12598; 0.36; 0.38; 18.48; 4.13 -19850813; 12598; 0.36; 0.31; 19.30; 4.11 -19850814; 12024; 0.34; 0.18; 18.20; 4.09 -19850815; 11482; 0.32; 0.00; 18.03; 4.07 -19850816; 10965; 0.31; 0.00; 17.01; 4.04 -19850817; 10593; 0.30; 0.00; 14.76; 4.02 -19850818; 10420; 0.29; 0.00; 12.42; 4.00 -19850819; 10250; 0.29; 0.00; 14.32; 3.97 -19850820; 10108; 0.29; 0.00; 17.17; 3.95 -19850821; 9793; 0.28; 0.49; 16.64; 3.92 -19850822; 9619; 0.27; 0.32; 15.39; 3.90 -19850823; 9849; 0.28; 1.92; 13.85; 3.87 -19850824; 9647; 0.27; 0.71; 11.50; 3.84 -19850825; 9704; 0.27; 0.39; 10.41; 3.81 -19850826; 10019; 0.28; 0.02; 11.62; 3.79 -19850827; 9793; 0.28; 0.06; 12.99; 3.76 -19850828; 9389; 0.27; 0.00; 11.93; 3.73 -19850829; 9017; 0.25; 0.00; 13.90; 3.70 -19850830; 8790; 0.25; 2.56; 14.06; 3.67 -19850831; 9449; 0.27; 1.62; 11.78; 3.64 -19850901; 10508; 0.30; 1.55; 7.29; 3.61 -19850902; 10508; 0.30; 0.00; 8.85; 3.57 -19850903; 9878; 0.28; 0.00; 10.83; 3.54 -19850904; 9304; 0.26; 0.00; 13.62; 3.51 -19850905; 8904; 0.25; 0.04; 16.53; 3.48 -19850906; 8504; 0.24; 1.27; 17.25; 3.44 -19850907; 8730; 0.25; 10.26; 13.82; 3.41 -19850908; 10136; 0.29; 8.75; 11.93; 3.38 -19850909; 10621; 0.30; 0.04; 12.86; 3.34 -19850910; 10880; 0.31; 0.00; 15.43; 3.31 -19850911; 9849; 0.28; 0.00; 16.24; 3.27 -19850912; 9045; 0.26; 0.00; 14.61; 3.23 -19850913; 8419; 0.24; 0.00; 11.97; 3.20 -19850914; 8075; 0.23; 7.15; 7.62; 3.16 -19850915; 8730; 0.25; 2.31; 4.99; 3.13 -19850916; 9506; 0.27; 0.19; 6.27; 3.09 -19850917; 9421; 0.27; 0.00; 8.27; 3.05 -19850918; 9077; 0.26; 0.04; 8.70; 3.02 -19850919; 9276; 0.26; 7.59; 8.48; 2.98 -19850920; 11826; 0.33; 11.57; 9.06; 2.94 -19850921; 16292; 0.46; 1.49; 9.18; 2.90 -19850922; 14574; 0.41; 4.23; 8.08; 2.86 -19850923; 14372; 0.41; 3.00; 8.72; 2.82 -19850924; 18066; 0.51; 16.81; 7.00; 2.79 -19850925; 26311; 0.74; 8.90; 6.64; 2.75 -19850926; 22645; 0.64; 0.10; 7.10; 2.71 -19850927; 17949; 0.51; 0.02; 9.22; 2.67 -19850928; 14829; 0.42; 0.00; 10.28; 2.63 -19850929; 13313; 0.38; 0.00; 11.03; 2.59 -19850930; 12368; 0.35; 0.00; 10.31; 2.55 -19851001; 11680; 0.33; 4.78; 8.02; 2.51 -19851002; 11680; 0.33; 0.00; 3.16; 2.47 -19851003; 11309; 0.32; 0.00; 2.04; 2.43 -19851004; 10965; 0.31; 0.00; 3.50; 2.39 -19851005; 10593; 0.30; 0.00; 3.73; 2.35 -19851006; 10420; 0.29; 0.65; 4.68; 2.31 -19851007; 11680; 0.33; 4.93; 5.01; 2.26 -19851008; 12226; 0.35; 0.00; 0.78; 2.22 -19851009; 11139; 0.31; 0.00; 0.92; 2.18 -19851010; 10593; 0.30; 0.00; -0.05; 2.14 -19851011; 10250; 0.29; 1.79; 1.59; 2.10 -19851012; 10965; 0.31; 6.49; 3.88; 2.06 -19851013; 12970; 0.37; 10.77; 7.16; 2.02 -19851014; 21101; 0.60; 7.16; 8.39; 1.98 -19851015; 23821; 0.67; 0.28; 8.66; 1.94 -19851016; 18551; 0.52; 0.00; 8.71; 1.90 -19851017; 15718; 0.44; 0.00; 8.49; 1.86 -19851018; 14114; 0.40; 0.00; 8.60; 1.82 -19851019; 13168; 0.37; 0.00; 7.60; 1.77 -19851020; 12424; 0.35; 0.00; 6.64; 1.74 -19851021; 11854; 0.33; 0.63; 5.66; 1.69 -19851022; 11680; 0.33; 0.01; 5.84; 1.65 -19851023; 11309; 0.32; 3.23; 5.14; 1.61 -19851024; 12052; 0.34; 10.87; 6.22; 1.57 -19851025; 17436; 0.49; 1.06; 3.15; 1.53 -19851026; 16348; 0.46; 0.00; 0.89; 1.50 -19851027; 14315; 0.40; 0.30; 3.46; 1.46 -19851028; 13713; 0.39; 7.74; 5.43; 1.42 -19851029; 18980; 0.54; 0.97; 3.47; 1.38 -19851030; 17864; 0.50; 8.94; 2.92; 1.34 -19851031; 19440; 0.55; 46.91; 0.16; 1.30 -19851101; 21356; 0.60; 13.00; -3.96; 1.26 -19851102; 17205; 0.49; 0.44; -8.31; 1.22 -19851103; 13713; 0.39; 0.00;-10.35; 1.18 -19851104; 12598; 0.36; 12.72;-10.09; 1.15 -19851105; 13543; 0.38; 29.45; -7.61; 1.11 -19851106; 16777; 0.47; 36.84; -5.32; 1.07 -19851107; 16146; 0.46; 1.84; -4.84; 1.03 -19851108; 17436; 0.49; 13.69; -3.37; 1.00 -19851109; 26998; 0.76; 7.27; -1.22; 0.96 -19851110; 52966; 1.50; 7.47; 0.50; 0.93 -19851111; 85602; 2.42; 18.00; 0.53; 0.89 -19851112; 126544; 3.57; 23.56; 1.37; 0.86 -19851113; 108793; 3.07; 2.18; 0.42; 0.82 -19851114; 74722; 2.11; 9.23; -0.54; 0.79 -19851115; 60694; 1.71; 0.32; 0.20; 0.75 -19851116; 57258; 1.62; 9.28; 2.31; 0.72 -19851117; 53249; 1.50; 0.88; -1.02; 0.69 -19851118; 46378; 1.31; 7.75; -3.67; 0.65 -19851119; 41225; 1.16; 0.74; -5.19; 0.62 -19851120; 36072; 1.02; 9.55; -7.96; 0.59 -19851121; 34067; 0.96; 2.59; -5.99; 0.56 -19851122; 35502; 1.00; 5.89; -5.38; 0.53 -19851123; 32923; 0.93; 10.48; -5.71; 0.49 -19851124; 31779; 0.90; 4.04; -4.26; 0.46 -19851125; 30632; 0.86; 12.17; -5.23; 0.43 -19851126; 29488; 0.83; 4.57; -5.02; 0.41 -19851127; 28344; 0.80; 4.10; -4.33; 0.38 -19851128; 27799; 0.78; 5.78; -0.51; 0.35 -19851129; 28631; 0.81; 8.88; -0.84; 0.32 -19851130; 28631; 0.81; 0.22; -1.43; 0.29 -19851201; 30062; 0.85; 3.81; -0.65; 0.27 -19851202; 32066; 0.91; 2.10; -0.89; 0.24 -19851203; 30062; 0.85; 8.53; -1.16; 0.21 -19851204; 29488; 0.83; 6.10; -2.32; 0.19 -19851205; 26711; 0.75; 0.00; -6.51; 0.17 -19851206; 23563; 0.67; 2.12; -6.31; 0.14 -19851207; 29488; 0.83; 12.48; -1.52; 0.12 -19851208; 45234; 1.28; 0.22; -1.71; 0.10 -19851209; 34067; 0.96; 0.00; -6.56; 0.07 -19851210; 28631; 0.81; 0.04; -5.40; 0.05 -19851211; 30349; 0.86; 4.20; -2.84; 0.03 -19851212; 32066; 0.91; 0.07; -0.69; 0.01 -19851213; 30349; 0.86; 8.09; -0.33; 0.00 -19851214; 29201; 0.82; 5.92; -1.58; 0.00 -19851215; 28057; 0.79; 7.23; -1.44; 0.00 -19851216; 35785; 1.01; 2.82; 1.48; 0.00 -19851217; 61841; 1.75; 28.14; 0.69; 0.00 -19851218; 68425; 1.93; 1.14; -0.13; 0.00 -19851219; 54396; 1.54; 0.33; -3.39; 0.00 -19851220; 46378; 1.31; 4.68; -3.27; 0.00 -19851221; 47526; 1.34; 5.04; -0.52; 0.00 -19851222; 48956; 1.38; 11.24; -0.13; 0.00 -19851223; 49243; 1.39; 10.43; -1.24; 0.00 -19851224; 46665; 1.32; 15.14; -1.92; 0.00 -19851225; 46095; 1.30; 3.24; -2.62; 0.00 -19851226; 41225; 1.16; 4.48; -3.76; 0.00 -19851227; 40368; 1.14; 30.63; -4.58; 0.00 -19851228; 38076; 1.08; 18.60; -3.96; 0.00 -19851229; 35785; 1.01; 5.63; -5.70; 0.00 -19851230; 33784; 0.95; 4.26; -6.39; 0.00 -19851231; 30062; 0.85; 0.07; -9.87; 0.00 -19860101; 22330; 0.63; 0.29;-11.08; 0.00 -19860102; 21356; 0.60; 0.03;-12.21; 0.00 -19860103; 20899; 0.59; 0.63;-12.14; 0.00 -19860104; 20612; 0.58; 0.68;-13.31; 0.00 -19860105; 19755; 0.56; 0.00;-12.46; 0.00 -19860106; 18895; 0.53; 0.00;-11.22; 0.00 -19860107; 18325; 0.52; 6.00;-12.71; 0.00 -19860108; 18608; 0.53; 0.30;-11.14; 0.00 -19860109; 17177; 0.48; 0.40;-11.39; 0.00 -19860110; 20899; 0.59; 1.73;-13.30; 0.00 -19860111; 23191; 0.65; 1.87;-12.70; 0.00 -19860112; 25766; 0.73; 10.44;-10.16; 0.00 -19860113; 29201; 0.82; 12.78; -3.33; 0.00 -19860114; 37219; 1.05; 28.43; 1.59; 0.00 -19860115; 91329; 2.58; 49.19; 3.29; 0.00 -19860116; 233902; 6.60; 12.78; 4.16; 0.00 -19860117; 289156; 8.16; 17.97; 1.86; 0.00 -19860118; 219874; 6.21; 19.67; -1.35; 0.00 -19860119; 186377; 5.26; 2.98; 0.36; 0.00 -19860120; 155458; 4.39; 1.32; -1.57; 0.00 -19860121; 129979; 3.67; 5.34; -4.22; 0.00 -19860122; 114803; 3.24; 12.01; -2.35; 0.00 -19860123; 104784; 2.96; 4.09; -0.34; 0.00 -19860124; 98200; 2.77; 6.69; 1.29; 0.00 -19860125; 107075; 3.02; 20.42; 1.18; 0.00 -19860126; 102492; 2.89; 12.60; -0.76; 0.00 -19860127; 91899; 2.59; 18.14; -0.32; 0.00 -19860128; 89037; 2.51; 6.02; 0.46; 0.00 -19860129; 82167; 2.32; 4.86; 1.76; 0.00 -19860130; 82167; 2.32; 32.10; -0.01; 0.00 -19860131; 79018; 2.23; 22.24; -0.92; 0.00 -19860201; 77300; 2.18; 9.10; -1.04; 0.00 -19860202; 72434; 2.05; 7.29; -1.68; 0.00 -19860203; 66994; 1.89; 12.44; -1.02; 0.00 -19860204; 68712; 1.94; 12.84; -0.66; 0.00 -19860205; 66134; 1.87; 12.27; -2.82; 0.00 -19860206; 59836; 1.69; 3.29; -5.23; 0.00 -19860207; 56114; 1.58; 1.41; -5.36; 0.00 -19860208; 53249; 1.50; 0.00; -2.08; 0.00 -19860209; 50961; 1.44; 0.00; -1.57; 0.01 -19860210; 48956; 1.38; 0.00; -1.93; 0.03 -19860211; 47526; 1.34; 0.00; -3.04; 0.05 -19860212; 46378; 1.31; 0.72; -2.36; 0.07 -19860213; 46378; 1.31; 0.16; -1.40; 0.10 -19860214; 44947; 1.27; 5.70; -1.30; 0.12 -19860215; 43803; 1.24; 2.40; 0.07; 0.14 -19860216; 43516; 1.23; 7.63; 0.58; 0.17 -19860217; 45521; 1.29; 2.63; -0.79; 0.19 -19860218; 44090; 1.24; 2.25; -1.35; 0.22 -19860219; 45234; 1.28; 18.33; -0.91; 0.24 -19860220; 44090; 1.24; 1.73; -1.48; 0.27 -19860221; 40942; 1.16; 0.88; -4.14; 0.29 -19860222; 40942; 1.16; 3.51; -3.19; 0.32 -19860223; 40655; 1.15; 1.12; -4.46; 0.35 -19860224; 36072; 1.02; 0.00; -4.76; 0.38 -19860225; 36359; 1.03; 0.07; -2.43; 0.41 -19860226; 38937; 1.10; 4.86; -0.19; 0.44 -19860227; 38076; 1.08; 2.68; -0.74; 0.47 -19860228; 36359; 1.03; 6.85; 0.20; 0.50 -19860301; 41225; 1.16; 28.58; -0.17; 0.53 -19860302; 42943; 1.21; 4.60; -1.28; 0.56 -19860303; 41225; 1.16; 2.76; -3.77; 0.59 -19860304; 39794; 1.12; 12.05; -2.40; 0.62 -19860305; 47812; 1.35; 37.55; -0.95; 0.66 -19860306; 59836; 1.69; 0.56; -3.69; 0.69 -19860307; 50961; 1.44; 0.36; -6.85; 0.72 -19860308; 47239; 1.33; 5.23; -5.12; 0.75 -19860309; 42086; 1.19; 0.00; -4.21; 0.79 -19860310; 40368; 1.14; 0.00; -2.22; 0.82 -19860311; 41225; 1.16; 0.84; 0.41; 0.86 -19860312; 44090; 1.24; 15.30; 2.72; 0.89 -19860313; 50100; 1.41; 5.55; -0.69; 0.93 -19860314; 47239; 1.33; 0.00; -2.08; 0.96 -19860315; 45521; 1.29; 1.12; -0.14; 1.00 -19860316; 52105; 1.47; 3.58; 3.79; 1.04 -19860317; 96482; 2.72; 18.78; 3.13; 1.07 -19860318; 110511; 3.12; 0.39; -0.37; 1.11 -19860319; 93904; 2.65; 7.84; -2.10; 1.15 -19860320; 79018; 2.23; 0.00; -6.91; 1.19 -19860321; 72434; 2.05; 0.39; -2.89; 1.23 -19860322; 68712; 1.94; 9.13; -2.66; 1.26 -19860323; 62985; 1.78; 0.04; -4.65; 1.30 -19860324; 60407; 1.71; 2.05; -0.92; 1.34 -19860325; 58119; 1.64; 0.15; 1.18; 1.38 -19860326; 62124; 1.75; 0.95; 4.51; 1.42 -19860327; 76727; 2.17; 2.34; 5.14; 1.46 -19860328; 109937; 3.10; 17.38; 3.64; 1.50 -19860329; 123105; 3.48; 4.93; 0.70; 1.54 -19860330; 122535; 3.46; 28.21; 2.59; 1.58 -19860331; 145439; 4.11; 0.84; 1.77; 1.62 -19860401; 131980; 3.73; 6.70; 0.65; 1.66 -19860402; 118812; 3.35; 10.20; 0.22; 1.70 -19860403; 106501; 3.01; 2.08; 0.73; 1.74 -19860404; 95908; 2.71; 0.84; 1.04; 1.78 -19860405; 90181; 2.55; 3.35; 4.64; 1.82 -19860406; 105928; 2.99; 8.59; 4.33; 1.86 -19860407; 106501; 3.01; 1.32; 2.67; 1.90 -19860408; 103640; 2.93; 0.54; 2.25; 1.94 -19860409; 106501; 3.01; 6.40; 3.47; 1.98 -19860410; 111081; 3.14; 7.88; 2.26; 2.02 -19860411; 107645; 3.04; 9.01; 1.86; 2.06 -19860412; 113659; 3.21; 1.76; -0.90; 2.10 -19860413; 104210; 2.94; 0.32; 1.50; 2.14 -19860414; 104210; 2.94; 0.38; 3.02; 2.18 -19860415; 115377; 3.26; 0.00; 4.95; 2.23 -19860416; 131410; 3.71; 0.00; 4.56; 2.27 -19860417; 128832; 3.64; 0.00; 3.94; 2.31 -19860418; 143434; 4.05; 0.00; 5.47; 2.35 -19860419; 165764; 4.68; 0.02; 5.72; 2.39 -19860420; 162042; 4.58; 0.26; 2.53; 2.43 -19860421; 156032; 4.41; 1.99; 4.46; 2.47 -19860422; 159467; 4.50; 0.00; 5.27; 2.51 -19860423; 193248; 5.46; 0.00; 8.75; 2.55 -19860424; 271979; 7.68; 0.00; 9.28; 2.59 -19860425; 337825; 9.54; 6.26; 8.24; 2.63 -19860426; 366456; 10.35; 6.73; 5.60; 2.67 -19860427; 303471; 8.57; 8.99; 2.69; 2.71 -19860428; 255662; 7.22; 1.01; 3.35; 2.75 -19860429; 226458; 6.39; 0.65; 5.95; 2.79 -19860430; 234476; 6.62; 3.62; 8.52; 2.83 -19860501; 306333; 8.65; 1.71; 7.47; 2.87 -19860502; 309198; 8.73; 0.22; 4.54; 2.90 -19860503; 283716; 8.01; 0.00; 4.50; 2.94 -19860504; 289156; 8.16; 0.00; 6.43; 2.98 -19860505; 317787; 8.97; 0.10; 8.93; 3.02 -19860506; 363595; 10.27; 0.00; 9.23; 3.06 -19860507; 366456; 10.35; 0.00; 8.70; 3.09 -19860508; 392222; 11.07; 0.00; 8.53; 3.13 -19860509; 417991; 11.80; 0.00; 5.88; 3.16 -19860510; 363595; 10.27; 4.29; 3.93; 3.20 -19860511; 312060; 8.81; 4.12; 3.75; 3.24 -19860512; 289156; 8.16; 9.74; 3.38; 3.27 -19860513; 255662; 7.22; 0.63; 1.37; 3.31 -19860514; 229323; 6.47; 12.30; 1.94; 3.34 -19860515; 213577; 6.03; 0.54; 0.86; 3.38 -19860516; 192390; 5.43; 1.17; 1.15; 3.41 -19860517; 181797; 5.13; 5.38; 1.81; 3.44 -19860518; 172922; 4.88; 1.16; 3.31; 3.48 -19860519; 165764; 4.68; 3.04; 2.48; 3.51 -19860520; 172348; 4.87; 11.77; 3.98; 3.54 -19860521; 185806; 5.25; 2.43; 6.22; 3.58 -19860522; 195252; 5.51; 0.01; 6.76; 3.61 -19860523; 217869; 6.15; 0.00; 8.04; 3.64 -19860524; 247931; 7.00; 0.31; 8.06; 3.67 -19860525; 300610; 8.49; 0.65; 11.28; 3.70 -19860526; 397949; 11.24; 2.86; 11.66; 3.73 -19860527; 480972; 13.58; 0.80; 10.44; 3.76 -19860528; 492426; 13.90; 0.00; 6.73; 3.79 -19860529; 452345; 12.77; 1.72; 7.68; 3.81 -19860530; 412264; 11.64; 0.78; 7.07; 3.84 -19860531; 389360; 10.99; 0.00; 6.49; 3.87 -19860601; 397949; 11.24; 0.00; 8.22; 3.90 -19860602; 438030; 12.37; 0.00; 10.30; 3.92 -19860603; 523919; 14.79; 1.13; 11.07; 3.95 -19860604; 644162; 18.19; 22.62; 9.61; 3.97 -19860605; 807348; 22.80; 24.15; 7.50; 4.00 -19860606; 698558; 19.72; 8.26; 7.39; 4.02 -19860607; 592627; 16.73; 1.66; 5.38; 4.04 -19860608; 483838; 13.66; 0.00; 7.70; 4.07 -19860609; 455207; 12.85; 0.00; 8.56; 4.09 -19860610; 463795; 13.10; 0.00; 10.44; 4.11 -19860611; 503876; 14.23; 0.00; 13.42; 4.13 -19860612; 592627; 16.73; 0.00; 15.12; 4.15 -19860613; 672793; 19.00; 0.00; 16.04; 4.17 -19860614; 732912; 20.69; 0.07; 17.70; 4.19 -19860615; 801624; 22.63; 0.40; 18.94; 4.21 -19860616; 850294; 24.01; 0.00; 19.17; 4.23 -19860617; 833117; 23.52; 0.14; 19.33; 4.25 -19860618; 801624; 22.63; 0.00; 19.11; 4.26 -19860619; 744366; 21.02; 0.42; 20.30; 4.28 -19860620; 684243; 19.32; 19.68; 17.19; 4.29 -19860621; 615531; 17.38; 0.81; 14.81; 4.31 -19860622; 529646; 14.95; 0.54; 16.45; 4.32 -19860623; 512465; 14.47; 0.95; 17.81; 4.34 -19860624; 498153; 14.07; 0.00; 17.27; 4.35 -19860625; 463795; 13.10; 0.29; 17.84; 4.36 -19860626; 417991; 11.80; 0.00; 14.46; 4.37 -19860627; 340691; 9.62; 0.00; 13.46; 4.38 -19860628; 297744; 8.41; 0.00; 12.93; 4.39 -19860629; 272839; 7.70; 0.00; 13.40; 4.40 -19860630; 256519; 7.24; 0.00; 16.52; 4.41 -19860701; 246500; 6.96; 0.03; 15.42; 4.42 -19860702; 222165; 6.27; 0.41; 11.89; 4.43 -19860703; 195826; 5.53; 0.00; 13.29; 4.43 -19860704; 180937; 5.11; 0.00; 14.49; 4.44 -19860705; 176357; 4.98; 4.30; 13.25; 4.45 -19860706; 166625; 4.70; 3.24; 13.41; 4.45 -19860707; 162042; 4.58; 1.72; 14.84; 4.45 -19860708; 147726; 4.17; 0.66; 15.20; 4.46 -19860709; 136850; 3.86; 7.77; 12.79; 4.46 -19860710; 138568; 3.91; 18.78; 12.00; 4.46 -19860711; 154884; 4.37; 3.48; 10.30; 4.46 -19860712; 137420; 3.88; 0.09; 11.20; 4.46 -19860713; 118239; 3.34; 0.00; 14.43; 4.46 -19860714; 109937; 3.10; 0.82; 17.62; 4.46 -19860715; 106501; 3.01; 0.00; 17.09; 4.46 -19860716; 99344; 2.81; 0.00; 15.21; 4.46 -19860717; 90755; 2.56; 0.00; 16.25; 4.45 -19860718; 84171; 2.38; 0.89; 18.42; 4.45 -19860719; 80162; 2.26; 1.42; 19.28; 4.44 -19860720; 81593; 2.30; 5.06; 18.41; 4.44 -19860721; 77587; 2.19; 0.24; 16.79; 4.43 -19860722; 68425; 1.93; 0.12; 17.78; 4.43 -19860723; 62411; 1.76; 0.00; 16.01; 4.42 -19860724; 57832; 1.63; 0.00; 15.36; 4.41 -19860725; 53536; 1.51; 0.00; 15.27; 4.40 -19860726; 50100; 1.41; 0.00; 15.25; 4.39 -19860727; 47812; 1.35; 0.00; 16.15; 4.38 -19860728; 44660; 1.26; 0.00; 17.79; 4.37 -19860729; 42372; 1.20; 0.19; 17.99; 4.36 -19860730; 40655; 1.15; 0.18; 19.51; 4.35 -19860731; 38937; 1.10; 0.01; 18.88; 4.34 -19860801; 36932; 1.04; 0.00; 19.03; 4.32 -19860802; 35215; 0.99; 1.19; 18.16; 4.31 -19860803; 35502; 1.00; 0.22; 16.94; 4.29 -19860804; 36072; 1.02; 0.00; 18.01; 4.28 -19860805; 33497; 0.95; 1.25; 19.04; 4.26 -19860806; 33210; 0.94; 12.57; 17.18; 4.25 -19860807; 37506; 1.06; 2.19; 13.38; 4.23 -19860808; 33210; 0.94; 0.44; 11.41; 4.21 -19860809; 31492; 0.89; 0.40; 11.34; 4.19 -19860810; 30349; 0.86; 0.07; 13.30; 4.17 -19860811; 28344; 0.80; 0.04; 14.64; 4.15 -19860812; 26711; 0.75; 0.04; 13.57; 4.13 -19860813; 25652; 0.72; 0.75; 12.26; 4.11 -19860814; 24335; 0.69; 0.09; 10.89; 4.09 -19860815; 24076; 0.68; 0.11; 11.59; 4.07 -19860816; 23304; 0.66; 0.00; 13.50; 4.04 -19860817; 22330; 0.63; 0.00; 14.35; 4.02 -19860818; 21356; 0.60; 0.35; 15.32; 4.00 -19860819; 21101; 0.60; 6.16; 13.39; 3.97 -19860820; 24076; 0.68; 15.72; 10.89; 3.95 -19860821; 33210; 0.94; 0.03; 12.11; 3.92 -19860822; 26998; 0.76; 0.00; 13.14; 3.90 -19860823; 23821; 0.67; 0.00; 13.79; 3.87 -19860824; 22072; 0.62; 0.00; 15.28; 3.84 -19860825; 20871; 0.59; 0.00; 15.29; 3.81 -19860826; 19897; 0.56; 0.00; 15.74; 3.79 -19860827; 19210; 0.54; 0.00; 16.02; 3.76 -19860828; 18551; 0.52; 0.00; 16.31; 3.73 -19860829; 17864; 0.50; 0.00; 15.80; 3.70 -19860830; 17205; 0.49; 0.00; 15.48; 3.67 -19860831; 17007; 0.48; 0.32; 14.88; 3.64 -19860901; 16146; 0.46; 0.68; 13.65; 3.61 -19860902; 15718; 0.44; 0.00; 10.51; 3.57 -19860903; 15318; 0.43; 0.00; 12.64; 3.54 -19860904; 15116; 0.43; 0.20; 13.74; 3.51 -19860905; 14716; 0.42; 0.10; 14.21; 3.48 -19860906; 14514; 0.41; 0.00; 13.41; 3.44 -19860907; 14114; 0.40; 0.00; 13.60; 3.41 -19860908; 13713; 0.39; 0.00; 14.19; 3.38 -19860909; 13543; 0.38; 1.37; 12.70; 3.34 -19860910; 16146; 0.46; 12.58; 10.47; 3.31 -19860911; 21845; 0.62; 5.37; 7.64; 3.27 -19860912; 20386; 0.58; 0.13; 7.45; 3.23 -19860913; 17436; 0.49; 0.00; 7.24; 3.20 -19860914; 16146; 0.46; 0.00; 9.42; 3.16 -19860915; 15318; 0.43; 0.00; 11.64; 3.13 -19860916; 14514; 0.41; 0.00; 11.56; 3.09 -19860917; 13915; 0.39; 0.00; 11.97; 3.05 -19860918; 13543; 0.38; 0.00; 11.22; 3.02 -19860919; 13168; 0.37; 0.00; 11.53; 2.98 -19860920; 12970; 0.37; 0.00; 11.37; 2.94 -19860921; 12598; 0.36; 0.00; 11.11; 2.90 -19860922; 12424; 0.35; 0.00; 11.34; 2.86 -19860923; 12052; 0.34; 0.00; 11.15; 2.82 -19860924; 11854; 0.33; 0.00; 11.66; 2.79 -19860925; 11680; 0.33; 0.00; 12.79; 2.75 -19860926; 11510; 0.32; 2.57; 11.99; 2.71 -19860927; 11309; 0.32; 0.69; 6.59; 2.67 -19860928; 11510; 0.32; 0.00; 8.11; 2.63 -19860929; 11510; 0.32; 0.00; 8.36; 2.59 -19860930; 11309; 0.32; 0.00; 8.40; 2.55 -19861001; 10965; 0.31; 0.00; 9.84; 2.51 -19861002; 10795; 0.30; 0.17; 8.91; 2.47 -19861003; 10795; 0.30; 0.00; 5.51; 2.43 -19861004; 10795; 0.30; 1.25; 3.16; 2.39 -19861005; 10965; 0.31; 0.59; 1.70; 2.35 -19861006; 11139; 0.31; 0.00; 0.67; 2.31 -19861007; 11139; 0.31; 0.00; 4.39; 2.26 -19861008; 11139; 0.31; 0.00; 6.75; 2.22 -19861009; 10965; 0.31; 0.00; 5.69; 2.18 -19861010; 10795; 0.30; 0.43; 7.61; 2.14 -19861011; 11309; 0.32; 2.86; 7.95; 2.10 -19861012; 11482; 0.32; 0.00; 7.05; 2.06 -19861013; 11139; 0.31; 0.00; 7.04; 2.02 -19861014; 10795; 0.30; 0.00; 4.98; 1.98 -19861015; 10593; 0.30; 0.00; 6.01; 1.94 -19861016; 10420; 0.29; 0.00; 8.31; 1.90 -19861017; 10250; 0.29; 0.00; 8.41; 1.86 -19861018; 10076; 0.28; 0.00; 6.97; 1.82 -19861019; 10076; 0.28; 0.24; 6.22; 1.77 -19861020; 9764; 0.28; 2.93; 4.58; 1.74 -19861021; 10795; 0.30; 13.12; 4.13; 1.69 -19861022; 11680; 0.33; 0.46; 2.52; 1.65 -19861023; 11482; 0.32; 0.14; 2.89; 1.61 -19861024; 10965; 0.31; 0.00; 3.94; 1.57 -19861025; 10593; 0.30; 0.00; 4.46; 1.53 -19861026; 10593; 0.30; 0.41; 5.58; 1.50 -19861027; 10420; 0.29; 1.22; 4.84; 1.46 -19861028; 10593; 0.30; 0.41; 6.04; 1.42 -19861029; 10795; 0.30; 0.25; 4.45; 1.38 -19861030; 10420; 0.29; 0.04; 5.18; 1.34 -19861031; 10250; 0.29; 1.32; 3.71; 1.30 -19861101; 10795; 0.30; 7.06; 1.99; 1.26 -19861102; 11309; 0.32; 2.16; 1.68; 1.22 -19861103; 10965; 0.31; 0.00; -0.35; 1.18 -19861104; 10593; 0.30; 0.00; -1.36; 1.15 -19861105; 10076; 0.28; 0.00; -2.40; 1.11 -19861106; 9591; 0.27; 3.51; -1.07; 1.07 -19861107; 11854; 0.33; 3.08; 2.33; 1.03 -19861108; 14315; 0.40; 4.21; 0.45; 1.00 -19861109; 13915; 0.39; 0.55; -2.04; 0.96 -19861110; 12796; 0.36; 8.38; -1.23; 0.93 -19861111; 12226; 0.35; 0.00; -3.51; 0.89 -19861112; 11680; 0.33; 7.15; 0.96; 0.86 -19861113; 14918; 0.42; 0.45; 1.42; 0.82 -19861114; 16348; 0.46; 0.19; -0.91; 0.79 -19861115; 13915; 0.39; 0.00; -0.84; 0.75 -19861116; 12598; 0.36; 0.00; -2.81; 0.72 -19861117; 11139; 0.31; 3.33; -3.60; 0.69 -19861118; 11854; 0.33; 16.03; -2.28; 0.65 -19861119; 15516; 0.44; 3.85; -0.84; 0.62 -19861120; 13915; 0.39; 2.11; 2.56; 0.59 -19861121; 15116; 0.43; 3.51; 4.46; 0.56 -19861122; 20612; 0.58; 5.78; -0.14; 0.53 -19861123; 18980; 0.54; 8.04; -3.99; 0.49 -19861124; 15718; 0.44; 1.71; -1.33; 0.46 -19861125; 16575; 0.47; 7.91; -0.77; 0.43 -19861126; 15948; 0.45; 0.26; -2.39; 0.41 -19861127; 13915; 0.39; 0.22; -3.83; 0.38 -19861128; 12424; 0.35; 0.24; -3.43; 0.35 -19861129; 11680; 0.33; 0.00; -6.51; 0.32 -19861130; 9077; 0.26; 0.00; -6.96; 0.29 -19861201; 7671; 0.22; 0.00; -5.73; 0.27 -19861202; 9247; 0.26; 0.00; -5.49; 0.24 -19861203; 10420; 0.29; 0.08; -4.20; 0.21 -19861204; 12226; 0.35; 2.43; -2.69; 0.19 -19861205; 13543; 0.38; 0.42; -0.66; 0.17 -19861206; 13543; 0.38; 13.93; -2.49; 0.14 -19861207; 13713; 0.39; 2.36; -1.83; 0.12 -19861208; 11854; 0.33; 0.00; -4.88; 0.10 -19861209; 10076; 0.28; 0.39; -5.23; 0.07 -19861210; 10076; 0.28; 2.43; -1.41; 0.05 -19861211; 12226; 0.35; 10.06; 0.73; 0.03 -19861212; 12796; 0.36; 4.47; -3.19; 0.01 -19861213; 12424; 0.35; 3.64; -3.09; 0.00 -19861214; 11680; 0.33; 7.74; -4.02; 0.00 -19861215; 11510; 0.32; 4.11; -3.50; 0.00 -19861216; 12424; 0.35; 3.29; -1.23; 0.00 -19861217; 15116; 0.43; 10.81; -1.32; 0.00 -19861218; 13915; 0.39; 9.15; -3.31; 0.00 -19861219; 12768; 0.36; 7.79; -2.56; 0.00 -19861220; 13915; 0.39; 21.14; -1.48; 0.00 -19861221; 17436; 0.49; 10.26; -0.21; 0.00 -19861222; 16575; 0.47; 4.62; -4.53; 0.00 -19861223; 13168; 0.37; 0.61; -7.46; 0.00 -19861224; 12024; 0.34; 1.43; -8.11; 0.00 -19861225; 12598; 0.36; 5.77; -5.01; 0.00 -19861226; 12226; 0.35; 1.79; -7.18; 0.00 -19861227; 12396; 0.35; 7.93; -3.37; 0.00 -19861228; 12598; 0.36; 1.26; -5.42; 0.00 -19861229; 10250; 0.29; 0.29; -9.81; 0.00 -19861230; 9732; 0.27; 7.92; -6.64; 0.00 -19861231; 9732; 0.27; 0.39; -7.46; 0.00 -19870101; 9878; 0.28; 1.39; -6.58; 0.00 -19870102; 10306; 0.29; 3.57; -6.04; 0.00 -19870103; 12226; 0.35; 2.94; -2.79; 0.00 -19870104; 12598; 0.36; 13.15; -1.69; 0.00 -19870105; 12024; 0.34; 13.99; -3.01; 0.00 -19870106; 12396; 0.35; 9.81; -2.10; 0.00 -19870107; 12226; 0.35; 2.97; -3.13; 0.00 -19870108; 12226; 0.35; 14.79; -1.65; 0.00 -19870109; 11680; 0.33; 0.25; -6.04; 0.00 -19870110; 11139; 0.31; 6.92; -7.29; 0.00 -19870111; 9247; 0.26; 0.05;-10.92; 0.00 -19870112; 12226; 0.35; 14.87; -9.80; 0.00 -19870113; 17205; 0.49; 35.86; -5.14; 0.00 -19870114; 28631; 0.81; 28.55; -0.74; 0.00 -19870115; 24852; 0.70; 9.95; -0.36; 0.00 -19870116; 20612; 0.58; 3.15; -0.49; 0.00 -19870117; 53249; 1.50; 26.34; 0.90; 0.00 -19870118; 106501; 3.01; 13.92; 3.08; 0.00 -19870119; 66420; 1.88; 0.03; 0.16; 0.00 -19870120; 48956; 1.38; 3.10; 0.95; 0.00 -19870121; 37506; 1.06; 0.00; -5.14; 0.00 -19870122; 31779; 0.90; 0.63; -3.40; 0.00 -19870123; 31779; 0.90; 19.78; -0.26; 0.00 -19870124; 33497; 0.95; 22.81; 0.00; 0.00 -19870125; 33784; 0.95; 42.37; -0.49; 0.00 -19870126; 30062; 0.85; 21.16; -3.35; 0.00 -19870127; 25652; 0.72; 0.39; -8.24; 0.00 -19870128; 23304; 0.66; 1.15; -8.74; 0.00 -19870129; 21586; 0.61; 2.17; -8.11; 0.00 -19870130; 18523; 0.52; 0.00;-10.76; 0.00 -19870131; 17007; 0.48; 0.00;-10.50; 0.00 -19870201; 19667; 0.56; 0.50;-10.01; 0.00 -19870202; 20843; 0.59; 2.78; -4.19; 0.00 -19870203; 19897; 0.56; 2.68; -5.09; 0.00 -19870204; 17634; 0.50; 1.62; -9.67; 0.00 -19870205; 15916; 0.45; 0.82;-11.85; 0.00 -19870206; 14918; 0.42; 0.64;-10.78; 0.00 -19870207; 17007; 0.48; 48.62; -9.55; 0.00 -19870208; 17007; 0.48; 12.17;-10.44; 0.00 -19870209; 16348; 0.46; 12.73;-10.12; 0.01 -19870210; 16777; 0.47; 7.63; -5.10; 0.03 -19870211; 17205; 0.49; 4.43; -1.28; 0.05 -19870212; 17436; 0.49; 7.09; -0.18; 0.07 -19870213; 18753; 0.53; 19.04; 0.86; 0.10 -19870214; 21101; 0.60; 1.77; -2.06; 0.12 -19870215; 19210; 0.54; 0.06; -5.67; 0.14 -19870216; 18293; 0.52; 4.90; -6.61; 0.17 -19870217; 17436; 0.49; 0.15; -6.01; 0.19 -19870218; 17007; 0.48; 2.18; -4.74; 0.22 -19870219; 17007; 0.48; 3.89; -2.55; 0.24 -19870220; 18066; 0.51; 8.28; -3.91; 0.27 -19870221; 16348; 0.46; 0.00; -8.88; 0.29 -19870222; 16146; 0.46; 0.00; -7.76; 0.32 -19870223; 15916; 0.45; 1.21; -2.58; 0.35 -19870224; 17007; 0.48; 2.09; -0.72; 0.38 -19870225; 17436; 0.49; 0.00; -3.75; 0.41 -19870226; 17436; 0.49; 0.65; -6.19; 0.44 -19870227; 17007; 0.48; 3.07; -2.61; 0.47 -19870228; 20354; 0.57; 13.44; 0.19; 0.50 -19870301; 28372; 0.80; 0.28; 1.89; 0.53 -19870302; 36072; 1.02; 7.91; 1.71; 0.56 -19870303; 44377; 1.25; 0.15; 1.40; 0.59 -19870304; 45808; 1.29; 2.64; 0.16; 0.62 -19870305; 41799; 1.18; 0.11; -0.96; 0.66 -19870306; 37790; 1.07; 0.00; -1.68; 0.69 -19870307; 34641; 0.98; 0.67; -3.00; 0.72 -19870308; 34067; 0.96; 6.21; -0.78; 0.75 -19870309; 40942; 1.16; 4.30; 0.29; 0.79 -19870310; 41799; 1.18; 1.65; -0.58; 0.82 -19870311; 38363; 1.08; 1.13; -1.09; 0.86 -19870312; 34928; 0.99; 0.19; -2.53; 0.89 -19870313; 33210; 0.94; 0.86; -1.23; 0.93 -19870314; 31206; 0.88; 0.00; -2.02; 0.96 -19870315; 29775; 0.84; 0.23; -0.11; 1.00 -19870316; 30062; 0.85; 7.34; -0.49; 1.04 -19870317; 28914; 0.82; 2.34; -2.52; 1.07 -19870318; 28486; 0.80; 10.34; -0.77; 1.11 -19870319; 33210; 0.94; 3.39; 0.50; 1.15 -19870320; 33784; 0.95; 3.45; -0.67; 1.19 -19870321; 31492; 0.89; 2.55; -4.74; 1.23 -19870322; 30632; 0.86; 5.80; -1.91; 1.26 -19870323; 30062; 0.85; 8.36; -1.17; 1.30 -19870324; 28914; 0.82; 2.90; 0.26; 1.34 -19870325; 29488; 0.83; 16.26; -0.86; 1.38 -19870326; 28542; 0.81; 0.21; -6.22; 1.42 -19870327; 25365; 0.72; 0.00; -9.74; 1.46 -19870328; 22447; 0.63; 0.00; -8.97; 1.50 -19870329; 23332; 0.66; 0.28; -4.43; 1.54 -19870330; 25365; 0.72; 13.50; -0.75; 1.58 -19870331; 24448; 0.69; 3.82; -4.79; 1.62 -19870401; 22645; 0.64; 0.76; -4.96; 1.66 -19870402; 21558; 0.61; 5.67; -3.32; 1.70 -19870403; 22245; 0.63; 4.66; -1.51; 1.74 -19870404; 22989; 0.65; 3.64; -0.77; 1.78 -19870405; 23478; 0.66; 5.99; -0.91; 1.82 -19870406; 25394; 0.72; 3.35; -0.96; 1.86 -19870407; 25652; 0.72; 3.95; -1.14; 1.90 -19870408; 25652; 0.72; 5.80; -1.84; 1.94 -19870409; 24735; 0.70; 0.25; -2.12; 1.98 -19870410; 24880; 0.70; 0.00; -0.45; 2.02 -19870411; 28142; 0.79; 0.00; 0.78; 2.06 -19870412; 36646; 1.03; 0.00; 2.16; 2.10 -19870413; 49814; 1.41; 0.00; 2.73; 2.14 -19870414; 60407; 1.71; 3.65; 3.13; 2.18 -19870415; 67564; 1.91; 6.35; 2.86; 2.23 -19870416; 71000; 2.00; 4.61; 2.51; 2.27 -19870417; 68138; 1.92; 3.31; 1.88; 2.31 -19870418; 66707; 1.88; 0.35; 1.23; 2.35 -19870419; 61841; 1.75; 2.57; 1.45; 2.39 -19870420; 62124; 1.75; 0.13; 2.16; 2.43 -19870421; 64416; 1.82; 0.55; 1.72; 2.47 -19870422; 72434; 2.05; 1.76; 3.48; 2.51 -19870423; 88751; 2.51; 2.29; 2.44; 2.55 -19870424; 85602; 2.42; 3.70; 2.99; 2.59 -19870425; 87320; 2.47; 17.15; 2.64; 2.63 -19870426; 82740; 2.34; 42.00; -0.23; 2.67 -19870427; 82740; 2.34; 12.50; 0.66; 2.71 -19870428; 77014; 2.17; 4.24; -0.27; 2.75 -19870429; 69282; 1.96; 0.10; 1.52; 2.79 -19870430; 68425; 1.93; 0.00; 1.49; 2.83 -19870501; 68425; 1.93; 0.00; 2.64; 2.87 -19870502; 75870; 2.14; 0.00; 4.56; 2.90 -19870503; 101348; 2.86; 6.41; 4.80; 2.94 -19870504; 106215; 3.00; 4.89; 1.20; 2.98 -19870505; 96482; 2.72; 11.84; 0.39; 3.02 -19870506; 90181; 2.55; 9.39; 0.99; 3.06 -19870507; 93617; 2.64; 12.52; 2.06; 3.09 -19870508; 102205; 2.89; 2.93; 4.77; 3.13 -19870509; 129979; 3.67; 0.42; 6.41; 3.16 -19870510; 163189; 4.61; 0.18; 7.75; 3.20 -19870511; 221305; 6.25; 17.81; 6.35; 3.24 -19870512; 238198; 6.73; 0.25; 6.51; 3.27 -19870513; 236764; 6.69; 0.00; 8.12; 3.31 -19870514; 284576; 8.04; 0.00; 11.14; 3.34 -19870515; 397949; 11.24; 0.55; 12.17; 3.38 -19870516; 458072; 12.93; 1.22; 9.17; 3.41 -19870517; 417991; 11.80; 0.00; 7.78; 3.44 -19870518; 406537; 11.48; 1.61; 7.04; 3.48 -19870519; 366456; 10.35; 4.18; 3.66; 3.51 -19870520; 294883; 8.33; 5.84; 1.91; 3.54 -19870521; 255375; 7.21; 0.21; 4.48; 3.58 -19870522; 251940; 7.11; 2.63; 4.92; 3.61 -19870523; 253945; 7.17; 5.04; 6.20; 3.64 -19870524; 260529; 7.36; 3.45; 2.85; 3.67 -19870525; 220448; 6.22; 0.02; 3.11; 3.70 -19870526; 201266; 5.68; 0.54; 4.34; 3.73 -19870527; 208994; 5.90; 4.57; 6.45; 3.76 -19870528; 229036; 6.47; 0.57; 7.65; 3.79 -19870529; 275414; 7.78; 0.06; 8.85; 3.81 -19870530; 346418; 9.78; 0.22; 9.53; 3.84 -19870531; 406537; 11.48; 0.00; 11.22; 3.87 -19870601; 498153; 14.07; 0.00; 11.96; 3.90 -19870602; 561138; 15.84; 7.95; 11.80; 3.92 -19870603; 595492; 16.81; 1.42; 9.01; 3.95 -19870604; 503876; 14.23; 0.03; 9.44; 3.97 -19870605; 480972; 13.58; 0.24; 11.72; 4.00 -19870606; 564000; 15.92; 0.02; 12.24; 4.02 -19870607; 584039; 16.49; 0.00; 8.64; 4.04 -19870608; 521054; 14.71; 0.29; 7.95; 4.07 -19870609; 466661; 13.18; 0.00; 7.95; 4.09 -19870610; 440891; 12.45; 0.00; 9.02; 4.11 -19870611; 455207; 12.85; 0.00; 11.64; 4.13 -19870612; 498153; 14.07; 0.00; 12.15; 4.15 -19870613; 515330; 14.55; 0.14; 10.46; 4.17 -19870614; 466661; 13.18; 0.00; 11.07; 4.19 -19870615; 521054; 14.71; 0.44; 12.72; 4.21 -19870616; 498153; 14.07; 0.28; 8.05; 4.23 -19870617; 403676; 11.40; 6.19; 7.16; 4.25 -19870618; 400810; 11.32; 6.91; 7.74; 4.26 -19870619; 472384; 13.34; 25.81; 7.92; 4.28 -19870620; 501015; 14.15; 6.28; 9.56; 4.29 -19870621; 440891; 12.45; 0.32; 10.33; 4.31 -19870622; 417991; 11.80; 1.06; 11.23; 4.32 -19870623; 417991; 11.80; 3.11; 12.17; 4.34 -19870624; 440891; 12.45; 5.34; 12.75; 4.35 -19870625; 455207; 12.85; 3.32; 9.82; 4.36 -19870626; 392222; 11.07; 21.44; 6.20; 4.37 -19870627; 355006; 10.02; 6.18; 5.62; 4.38 -19870628; 297744; 8.41; 0.52; 5.54; 4.39 -19870629; 257380; 7.27; 0.03; 8.57; 4.40 -19870630; 258811; 7.31; 3.92; 11.69; 4.41 -19870701; 289156; 8.16; 1.03; 14.32; 4.42 -19870702; 326375; 9.22; 0.41; 16.39; 4.43 -19870703; 389360; 10.99; 0.00; 19.17; 4.43 -19870704; 409399; 11.56; 0.40; 20.18; 4.44 -19870705; 409399; 11.56; 0.61; 20.47; 4.45 -19870706; 366456; 10.35; 0.66; 20.37; 4.45 -19870707; 326375; 9.22; 0.19; 19.74; 4.45 -19870708; 303471; 8.57; 0.74; 21.27; 4.46 -19870709; 273696; 7.73; 0.00; 21.31; 4.46 -19870710; 235620; 6.65; 0.02; 21.40; 4.46 -19870711; 207276; 5.85; 0.10; 20.82; 4.46 -19870712; 184372; 5.21; 4.91; 19.86; 4.46 -19870713; 172922; 4.88; 5.45; 19.21; 4.46 -19870714; 156602; 4.42; 13.29; 18.72; 4.46 -19870715; 162329; 4.58; 2.41; 16.87; 4.46 -19870716; 137420; 3.88; 0.59; 16.41; 4.46 -19870717; 118239; 3.34; 0.33; 14.71; 4.45 -19870718; 104210; 2.94; 0.04; 13.10; 4.45 -19870719; 93617; 2.64; 0.00; 15.35; 4.44 -19870720; 86176; 2.43; 0.10; 16.84; 4.44 -19870721; 80162; 2.26; 0.08; 17.14; 4.43 -19870722; 74152; 2.09; 0.08; 16.79; 4.43 -19870723; 68425; 1.93; 0.00; 16.02; 4.42 -19870724; 63272; 1.79; 0.00; 17.19; 4.41 -19870725; 58689; 1.66; 0.00; 17.50; 4.40 -19870726; 54970; 1.55; 0.00; 18.37; 4.39 -19870727; 51818; 1.46; 0.48; 20.49; 4.38 -19870728; 48670; 1.37; 0.02; 19.84; 4.37 -19870729; 50100; 1.41; 21.61; 17.30; 4.36 -19870730; 57832; 1.63; 1.72; 13.39; 4.35 -19870731; 51818; 1.46; 2.71; 10.51; 4.34 -19870801; 48956; 1.38; 0.00; 13.23; 4.32 -19870802; 44090; 1.24; 0.00; 14.18; 4.31 -19870803; 40655; 1.15; 0.00; 14.54; 4.29 -19870804; 38363; 1.08; 0.00; 16.72; 4.28 -19870805; 36072; 1.02; 0.00; 17.56; 4.26 -19870806; 34067; 0.96; 0.25; 16.60; 4.25 -19870807; 34354; 0.97; 9.72; 13.64; 4.23 -19870808; 37219; 1.05; 0.02; 12.18; 4.21 -19870809; 33497; 0.95; 0.00; 13.67; 4.19 -19870810; 30919; 0.87; 0.00; 13.90; 4.17 -19870811; 28914; 0.82; 0.00; 13.86; 4.15 -19870812; 27685; 0.78; 0.00; 14.57; 4.13 -19870813; 26598; 0.75; 0.00; 14.87; 4.11 -19870814; 25567; 0.72; 0.00; 15.06; 4.09 -19870815; 24537; 0.69; 0.11; 15.65; 4.07 -19870816; 23878; 0.67; 5.64; 15.48; 4.04 -19870817; 25652; 0.72; 2.40; 13.56; 4.02 -19870818; 28000; 0.79; 7.76; 12.41; 4.00 -19870819; 33210; 0.94; 13.23; 11.70; 3.97 -19870820; 36359; 1.03; 3.54; 13.28; 3.95 -19870821; 36646; 1.03; 3.23; 13.51; 3.92 -19870822; 32066; 0.91; 6.51; 13.62; 3.90 -19870823; 46378; 1.31; 39.03; 11.84; 3.87 -19870824; 116808; 3.30; 4.84; 8.76; 3.84 -19870825; 86746; 2.45; 0.04; 9.21; 3.81 -19870826; 63272; 1.79; 1.19; 11.97; 3.79 -19870827; 52679; 1.49; 0.87; 15.38; 3.76 -19870828; 52105; 1.47; 12.32; 11.76; 3.73 -19870829; 57545; 1.62; 0.11; 8.22; 3.70 -19870830; 49243; 1.39; 2.04; 9.74; 3.67 -19870831; 45234; 1.28; 2.54; 10.03; 3.64 -19870901; 43803; 1.24; 3.44; 7.76; 3.61 -19870902; 42943; 1.21; 0.30; 9.14; 3.57 -19870903; 39794; 1.12; 0.00; 8.74; 3.54 -19870904; 36646; 1.03; 0.00; 9.68; 3.51 -19870905; 34641; 0.98; 0.00; 12.06; 3.48 -19870906; 32636; 0.92; 0.00; 13.93; 3.44 -19870907; 30919; 0.87; 0.00; 14.22; 3.41 -19870908; 29488; 0.83; 0.00; 13.64; 3.38 -19870909; 28057; 0.79; 0.00; 12.94; 3.34 -19870910; 27026; 0.76; 0.00; 13.02; 3.31 -19870911; 26024; 0.73; 0.00; 12.63; 3.27 -19870912; 25079; 0.71; 0.00; 12.76; 3.23 -19870913; 24391; 0.69; 0.00; 13.42; 3.20 -19870914; 23648; 0.67; 0.00; 13.52; 3.16 -19870915; 22819; 0.64; 0.00; 13.24; 3.13 -19870916; 22330; 0.63; 10.60; 13.29; 3.09 -19870917; 34641; 0.98; 13.59; 9.82; 3.05 -19870918; 39507; 1.12; 0.56; 7.33; 3.02 -19870919; 30632; 0.86; 0.00; 6.59; 2.98 -19870920; 27313; 0.77; 0.00; 7.42; 2.94 -19870921; 25507; 0.72; 0.00; 9.05; 2.90 -19870922; 24221; 0.68; 0.00; 10.83; 2.86 -19870923; 23191; 0.65; 0.00; 11.93; 2.82 -19870924; 22302; 0.63; 0.00; 11.38; 2.79 -19870925; 21558; 0.61; 0.00; 10.28; 2.75 -19870926; 20871; 0.59; 0.00; 8.88; 2.71 -19870927; 20269; 0.57; 0.00; 9.09; 2.67 -19870928; 19869; 0.56; 0.00; 9.14; 2.63 -19870929; 19355; 0.55; 0.00; 9.10; 2.59 -19870930; 18951; 0.54; 0.00; 9.30; 2.55 -19871001; 18580; 0.52; 0.00; 9.91; 2.51 -19871002; 18151; 0.51; 0.00; 10.91; 2.47 -19871003; 17722; 0.50; 1.55; 10.33; 2.43 -19871004; 21817; 0.62; 15.65; 9.68; 2.39 -19871005; 28000; 0.79; 0.43; 10.30; 2.35 -19871006; 23446; 0.66; 18.05; 7.89; 2.31 -19871007; 27427; 0.77; 28.25; 4.50; 2.26 -19871008; 37219; 1.05; 1.75; 4.55; 2.22 -19871009; 32066; 0.91; 0.00; 3.38; 2.18 -19871010; 28914; 0.82; 4.63; 5.22; 2.14 -19871011; 30919; 0.87; 19.67; 3.57; 2.10 -19871012; 38363; 1.08; 8.78; 3.92; 2.06 -19871013; 36932; 1.04; 10.44; 3.55; 2.02 -19871014; 36932; 1.04; 0.58; 5.59; 1.98 -19871015; 36932; 1.04; 3.22; 5.10; 1.94 -19871016; 39507; 1.12; 0.77; 3.52; 1.90 -19871017; 35502; 1.00; 0.08; 7.73; 1.86 -19871018; 35215; 0.99; 2.77; 6.76; 1.82 -19871019; 36072; 1.02; 6.54; 3.75; 1.77 -19871020; 40655; 1.15; 17.77; 4.37; 1.74 -19871021; 69282; 1.96; 62.39; 1.49; 1.69 -19871022; 75583; 2.13; 5.15; -0.29; 1.65 -19871023; 57258; 1.62; 4.85; -1.68; 1.61 -19871024; 49243; 1.39; 0.00; -2.42; 1.57 -19871025; 45808; 1.29; 20.25; -2.27; 1.53 -19871026; 55540; 1.57; 6.11; -0.08; 1.50 -19871027; 50100; 1.41; 1.48; -1.42; 1.46 -19871028; 45521; 1.29; 2.33; -0.07; 1.42 -19871029; 42659; 1.20; 0.08; 2.22; 1.38 -19871030; 44090; 1.24; 1.94; 3.19; 1.34 -19871031; 52679; 1.49; 0.30; 2.53; 1.30 -19871101; 48096; 1.36; 0.09; 1.91; 1.26 -19871102; 48956; 1.38; 6.08; 2.19; 1.22 -19871103; 62698; 1.77; 0.00; 5.62; 1.18 -19871104; 72717; 2.05; 0.00; 4.52; 1.15 -19871105; 69856; 1.97; 0.00; 2.99; 1.11 -19871106; 68712; 1.94; 4.02; 2.08; 1.07 -19871107; 70713; 2.00; 7.67; 1.21; 1.03 -19871108; 65276; 1.84; 0.99; -1.52; 1.00 -19871109; 60694; 1.71; 3.10; -3.33; 0.96 -19871110; 57545; 1.62; 16.50; -4.53; 0.93 -19871111; 56401; 1.59; 1.48; -3.99; 0.89 -19871112; 52105; 1.47; 0.96; -4.92; 0.86 -19871113; 50100; 1.41; 5.30; -3.58; 0.82 -19871114; 50100; 1.41; 8.39; -2.16; 0.79 -19871115; 53823; 1.52; 15.71; 0.36; 0.75 -19871116; 61267; 1.73; 3.65; -0.34; 0.72 -19871117; 56114; 1.58; 3.74; -3.19; 0.69 -19871118; 47812; 1.35; 0.13; -7.59; 0.65 -19871119; 42943; 1.21; 0.00; -8.90; 0.62 -19871120; 40942; 1.16; 0.00; -9.53; 0.59 -19871121; 40081; 1.13; 0.00; -8.71; 0.56 -19871122; 41225; 1.16; 7.55; -8.85; 0.53 -19871123; 45234; 1.28; 15.20; -4.50; 0.49 -19871124; 56401; 1.59; 10.38; -1.20; 0.46 -19871125; 58976; 1.67; 3.17; -5.68; 0.43 -19871126; 51248; 1.45; 33.44; -5.44; 0.41 -19871127; 48670; 1.37; 1.45; -6.52; 0.38 -19871128; 43803; 1.24; 4.22;-11.61; 0.35 -19871129; 40368; 1.14; 3.06;-13.62; 0.32 -19871130; 37219; 1.05; 52.06;-11.71; 0.29 -19871201; 68995; 1.95; 52.48; -4.07; 0.27 -19871202; 235046; 6.64; 13.38; 1.46; 0.24 -19871203; 207276; 5.85; 0.24; 3.72; 0.21 -19871204; 188955; 5.34; 21.46; 2.50; 0.19 -19871205; 193534; 5.46; 0.24; -3.93; 0.17 -19871206; 158606; 4.48; 7.58; -4.90; 0.14 -19871207; 154597; 4.37; 47.28; -2.12; 0.12 -19871208; 164046; 4.63; 3.20; 0.23; 0.10 -19871209; 169200; 4.78; 0.32; 0.67; 0.07 -19871210; 154884; 4.37; 3.52; 0.24; 0.05 -19871211; 141142; 3.99; 0.89; -1.76; 0.03 -19871212; 129405; 3.65; 5.75; -3.93; 0.01 -19871213; 115664; 3.27; 0.62; -8.65; 0.00 -19871214; 105928; 2.99; 0.65; -8.04; 0.00 -19871215; 101348; 2.86; 15.95; -4.18; 0.00 -19871216; 93617; 2.64; 0.23; -7.17; 0.00 -19871217; 85602; 2.42; 0.00; -7.59; 0.00 -19871218; 79875; 2.26; 0.37; -9.40; 0.00 -19871219; 74435; 2.10; 0.00;-10.11; 0.00 -19871220; 71000; 2.00; 0.00;-10.33; 0.00 -19871221; 67277; 1.90; 0.05;-10.00; 0.00 -19871222; 64990; 1.83; 0.76;-10.30; 0.00 -19871223; 67277; 1.90; 0.73; -7.06; 0.00 -19871224; 67851; 1.92; 4.97; -3.17; 0.00 -19871225; 68995; 1.95; 0.09; -1.56; 0.00 -19871226; 70430; 1.99; 16.78; -0.04; 0.00 -19871227; 77871; 2.20; 6.17; -1.80; 0.00 -19871228; 68425; 1.93; 0.69; -5.13; 0.00 -19871229; 66994; 1.89; 3.72; -2.26; 0.00 -19871230; 71287; 2.01; 12.44; -1.83; 0.00 -19871231; 65560; 1.85; 6.66; -6.68; 0.00 -19880101; 53536; 1.51; 0.00;-11.85; 0.00 -19880102; 50674; 1.43; 1.21;-11.57; 0.00 -19880103; 58406; 1.65; 5.99; -8.42; 0.00 -19880104; 60407; 1.71; 16.86; -4.14; 0.00 -19880105; 59263; 1.67; 21.78; -1.49; 0.00 -19880106; 56114; 1.58; 4.66; -2.87; 0.00 -19880107; 52966; 1.50; 3.17; -3.90; 0.00 -19880108; 52679; 1.49; 21.25; -2.15; 0.00 -19880109; 52105; 1.47; 15.77; -1.34; 0.00 -19880110; 49530; 1.40; 1.26; -3.25; 0.00 -19880111; 49243; 1.39; 19.57; -1.56; 0.00 -19880112; 47239; 1.33; 9.92; -4.05; 0.00 -19880113; 45808; 1.29; 1.59; -6.43; 0.00 -19880114; 46378; 1.31; 32.22; -3.71; 0.00 -19880115; 71287; 2.01; 19.47; -0.08; 0.00 -19880116; 98200; 2.77; 0.48; 1.94; 0.00 -19880117; 94764; 2.68; 0.13; 1.08; 0.00 -19880118; 90181; 2.55; 2.28; 0.47; 0.00 -19880119; 84171; 2.38; 0.00; -2.93; 0.00 -19880120; 76440; 2.16; 0.00; -4.95; 0.00 -19880121; 70143; 1.98; 0.00; -5.55; 0.00 -19880122; 66134; 1.87; 1.84; -5.26; 0.00 -19880123; 67277; 1.90; 2.38; -1.89; 0.00 -19880124; 64990; 1.83; 2.07; -2.62; 0.00 -19880125; 60123; 1.70; 2.55; -3.76; 0.00 -19880126; 56114; 1.58; 0.41; -4.46; 0.00 -19880127; 55540; 1.57; 0.82; -0.13; 0.00 -19880128; 55827; 1.58; 0.03; 1.00; 0.00 -19880129; 54110; 1.53; 0.00; -0.29; 0.00 -19880130; 51531; 1.46; 0.00; 0.15; 0.00 -19880131; 49814; 1.41; 0.00; -1.72; 0.00 -19880201; 47812; 1.35; 0.00; -4.41; 0.00 -19880202; 44947; 1.27; 0.00; -3.85; 0.00 -19880203; 40081; 1.13; 0.00; -5.25; 0.00 -19880204; 35785; 1.01; 0.00;-11.25; 0.00 -19880205; 31492; 0.89; 0.00;-12.15; 0.00 -19880206; 30062; 0.85; 0.00; -9.99; 0.00 -19880207; 32923; 0.93; 0.00; -8.45; 0.00 -19880208; 35785; 1.01; 0.25; -4.92; 0.00 -19880209; 38650; 1.09; 0.55; -3.92; 0.01 -19880210; 41512; 1.17; 1.32; -1.83; 0.03 -19880211; 44090; 1.24; 2.75; -0.39; 0.05 -19880212; 48670; 1.37; 14.87; -0.02; 0.07 -19880213; 49530; 1.40; 7.64; -0.04; 0.10 -19880214; 48956; 1.38; 12.31; -0.48; 0.12 -19880215; 47526; 1.34; 6.68; -2.11; 0.14 -19880216; 47812; 1.35; 25.26; -1.71; 0.17 -19880217; 48670; 1.37; 16.43; -2.28; 0.19 -19880218; 47526; 1.34; 0.48; -2.17; 0.22 -19880219; 45234; 1.28; 5.36; -3.95; 0.24 -19880220; 44377; 1.25; 1.78; -3.59; 0.27 -19880221; 41799; 1.18; 0.00; -5.22; 0.29 -19880222; 40368; 1.14; 0.00; -2.76; 0.32 -19880223; 40942; 1.16; 1.79; -0.50; 0.35 -19880224; 40368; 1.14; 5.15; 0.42; 0.38 -19880225; 41512; 1.17; 19.77; 0.14; 0.41 -19880226; 43516; 1.23; 31.74; -1.57; 0.44 -19880227; 43516; 1.23; 13.75; -2.09; 0.47 -19880228; 46952; 1.33; 1.61; -3.74; 0.50 -19880229; 43516; 1.23; 0.17; -7.16; 0.53 -19880301; 42372; 1.20; 6.22; -7.96; 0.56 -19880302; 38363; 1.08; 0.12;-10.75; 0.59 -19880303; 34354; 0.97; 0.33;-10.49; 0.62 -19880304; 33497; 0.95; 0.21;-11.03; 0.66 -19880305; 32350; 0.91; 0.00;-10.54; 0.69 -19880306; 31492; 0.89; 0.43; -4.24; 0.72 -19880307; 32066; 0.91; 0.00; -1.41; 0.75 -19880308; 32923; 0.93; 0.00; -2.15; 0.79 -19880309; 34067; 0.96; 0.07; -0.50; 0.82 -19880310; 35502; 1.00; 5.64; 2.37; 0.86 -19880311; 41799; 1.18; 4.30; -0.67; 0.89 -19880312; 39507; 1.12; 0.84; -5.33; 0.93 -19880313; 38363; 1.08; 0.37; -1.62; 0.96 -19880314; 38076; 1.08; 5.70; -1.49; 1.00 -19880315; 36932; 1.04; 0.00; -2.90; 1.04 -19880316; 36646; 1.03; 0.00; 1.70; 1.07 -19880317; 40081; 1.13; 1.35; 2.88; 1.11 -19880318; 51248; 1.45; 7.31; 2.25; 1.15 -19880319; 58119; 1.64; 10.51; -1.24; 1.19 -19880320; 54396; 1.54; 12.36; -2.95; 1.23 -19880321; 52105; 1.47; 1.76; -1.08; 1.26 -19880322; 50961; 1.44; 11.54; 1.97; 1.30 -19880323; 55254; 1.56; 0.61; 0.74; 1.34 -19880324; 53536; 1.51; 9.91; -1.51; 1.38 -19880325; 52105; 1.47; 4.41; -1.08; 1.42 -19880326; 49243; 1.39; 3.65; -1.23; 1.46 -19880327; 47812; 1.35; 1.44; -1.97; 1.50 -19880328; 46095; 1.30; 4.36; -2.62; 1.54 -19880329; 44090; 1.24; 1.03; -0.86; 1.58 -19880330; 42943; 1.21; 0.00; 2.84; 1.62 -19880331; 48670; 1.37; 3.39; 4.35; 1.66 -19880401; 53823; 1.52; 7.24; 0.97; 1.70 -19880402; 52105; 1.47; 1.30; -0.31; 1.74 -19880403; 54683; 1.54; 0.00; 1.94; 1.78 -19880404; 65847; 1.86; 0.00; 3.93; 1.82 -19880405; 85889; 2.43; 0.08; 5.29; 1.86 -19880406; 112515; 3.18; 0.00; 4.51; 1.90 -19880407; 115664; 3.27; 0.02; 5.52; 1.94 -19880408; 154314; 4.36; 1.35; 6.87; 1.98 -19880409; 205271; 5.80; 3.95; 5.59; 2.02 -19880410; 196113; 5.54; 0.02; 4.79; 2.06 -19880411; 210711; 5.95; 0.34; 6.21; 2.10 -19880412; 232471; 6.56; 13.76; 5.62; 2.14 -19880413; 235907; 6.66; 2.05; 3.96; 2.18 -19880414; 222735; 6.29; 1.06; 2.48; 2.23 -19880415; 213003; 6.01; 8.78; 2.38; 2.27 -19880416; 179219; 5.06; 0.61; -1.36; 2.31 -19880417; 155171; 4.38; 0.00; 1.63; 2.35 -19880418; 139425; 3.94; 3.03; 2.14; 2.39 -19880419; 125683; 3.55; 0.40; 1.23; 2.43 -19880420; 124252; 3.51; 12.06; 1.89; 2.47 -19880421; 119669; 3.38; 0.30; 0.95; 2.51 -19880422; 118239; 3.34; 1.90; 2.59; 2.55 -19880423; 118239; 3.34; 0.02; 4.21; 2.59 -19880424; 133128; 3.76; 7.29; 5.97; 2.63 -19880425; 153166; 4.32; 11.40; 3.53; 2.67 -19880426; 140569; 3.97; 11.44; 0.87; 2.71 -19880427; 132841; 3.75; 1.07; 2.24; 2.75 -19880428; 132267; 3.73; 0.00; 3.44; 2.79 -19880429; 145152; 4.10; 0.00; 4.61; 2.83 -19880430; 166908; 4.71; 0.00; 6.46; 2.87 -19880501; 200405; 5.66; 0.00; 8.00; 2.90 -19880502; 243065; 6.86; 1.90; 7.50; 2.94 -19880503; 285150; 8.05; 2.23; 8.20; 2.98 -19880504; 369318; 10.43; 13.88; 7.36; 3.02 -19880505; 369318; 10.43; 1.90; 5.87; 3.06 -19880506; 343552; 9.70; 0.02; 7.47; 3.09 -19880507; 375045; 10.59; 0.00; 8.56; 3.13 -19880508; 429441; 12.13; 0.00; 10.03; 3.16 -19880509; 503876; 14.23; 0.04; 11.24; 3.20 -19880510; 558273; 15.76; 15.60; 11.14; 3.24 -19880511; 655612; 18.51; 6.16; 6.93; 3.27 -19880512; 506742; 14.31; 0.24; 6.32; 3.31 -19880513; 472384; 13.34; 5.50; 11.96; 3.34 -19880514; 647024; 18.27; 7.06; 11.42; 3.38 -19880515; 572588; 16.17; 0.00; 6.19; 3.41 -19880516; 518192; 14.63; 0.00; 9.49; 3.44 -19880517; 523919; 14.79; 0.00; 9.18; 3.48 -19880518; 492426; 13.90; 0.00; 6.07; 3.51 -19880519; 452345; 12.77; 1.40; 8.92; 3.54 -19880520; 458072; 12.93; 0.04; 8.21; 3.58 -19880521; 426580; 12.04; 0.15; 7.85; 3.61 -19880522; 426580; 12.04; 0.73; 8.78; 3.64 -19880523; 446618; 12.61; 2.32; 10.95; 3.67 -19880524; 472384; 13.34; 3.32; 10.52; 3.70 -19880525; 523919; 14.79; 6.73; 8.08; 3.73 -19880526; 426580; 12.04; 0.10; 7.22; 3.76 -19880527; 426580; 12.04; 2.48; 12.19; 3.79 -19880528; 472384; 13.34; 5.35; 8.93; 3.81 -19880529; 380772; 10.75; 0.02; 6.13; 3.84 -19880530; 349279; 9.86; 7.06; 7.04; 3.87 -19880531; 360729; 10.19; 7.69; 6.88; 3.90 -19880601; 346418; 9.78; 1.22; 6.40; 3.92 -19880602; 326375; 9.22; 0.20; 7.43; 3.95 -19880603; 309198; 8.73; 0.89; 6.15; 3.97 -19880604; 281715; 7.95; 0.00; 6.46; 4.00 -19880605; 280854; 7.93; 0.13; 8.04; 4.02 -19880606; 300610; 8.49; 1.54; 10.55; 4.04 -19880607; 340691; 9.62; 0.66; 12.77; 4.07 -19880608; 406537; 11.48; 3.85; 13.18; 4.09 -19880609; 438030; 12.37; 0.33; 12.78; 4.11 -19880610; 406537; 11.48; 6.62; 10.93; 4.13 -19880611; 380772; 10.75; 2.25; 8.86; 4.15 -19880612; 337825; 9.54; 11.36; 7.84; 4.17 -19880613; 306333; 8.65; 3.22; 3.56; 4.19 -19880614; 256233; 7.23; 0.00; 7.33; 4.21 -19880615; 233615; 6.60; 2.55; 8.04; 4.23 -19880616; 267686; 7.56; 21.10; 8.47; 4.25 -19880617; 340691; 9.62; 10.62; 9.30; 4.26 -19880618; 306333; 8.65; 0.05; 10.46; 4.28 -19880619; 303471; 8.57; 1.02; 13.14; 4.29 -19880620; 340691; 9.62; 5.59; 14.53; 4.31 -19880621; 337825; 9.54; 9.83; 11.48; 4.32 -19880622; 329237; 9.30; 1.24; 9.18; 4.34 -19880623; 270261; 7.63; 2.38; 7.94; 4.35 -19880624; 228175; 6.44; 1.38; 8.10; 4.36 -19880625; 208424; 5.88; 0.11; 6.86; 4.37 -19880626; 184372; 5.21; 0.00; 6.93; 4.38 -19880627; 174640; 4.93; 0.00; 10.01; 4.39 -19880628; 179793; 5.08; 0.00; 13.47; 4.40 -19880629; 198974; 5.62; 0.00; 17.11; 4.41 -19880630; 216438; 6.11; 0.13; 16.12; 4.42 -19880701; 210425; 5.94; 0.00; 13.64; 4.43 -19880702; 181797; 5.13; 0.00; 11.82; 4.43 -19880703; 168626; 4.76; 0.00; 14.72; 4.44 -19880704; 164620; 4.65; 0.00; 14.88; 4.45 -19880705; 157462; 4.45; 0.00; 15.16; 4.45 -19880706; 154314; 4.36; 0.00; 17.82; 4.45 -19880707; 153166; 4.32; 0.12; 17.53; 4.46 -19880708; 142860; 4.03; 0.07; 16.16; 4.46 -19880709; 130549; 3.69; 0.20; 15.51; 4.46 -19880710; 119099; 3.36; 0.47; 14.84; 4.46 -19880711; 109650; 3.10; 1.29; 16.12; 4.46 -19880712; 133128; 3.76; 28.13; 14.28; 4.46 -19880713; 128261; 3.62; 0.33; 12.40; 4.46 -19880714; 100204; 2.83; 0.33; 12.62; 4.46 -19880715; 88177; 2.49; 0.00; 14.52; 4.46 -19880716; 80449; 2.27; 0.04; 16.80; 4.45 -19880717; 75870; 2.14; 0.33; 17.26; 4.45 -19880718; 74152; 2.09; 6.11; 14.89; 4.44 -19880719; 70713; 2.00; 1.41; 16.58; 4.44 -19880720; 64416; 1.82; 6.00; 15.61; 4.43 -19880721; 70713; 2.00; 12.73; 16.01; 4.43 -19880722; 62411; 1.76; 0.07; 15.03; 4.42 -19880723; 55540; 1.57; 1.40; 17.57; 4.41 -19880724; 55827; 1.58; 8.80; 16.73; 4.40 -19880725; 58976; 1.67; 0.26; 15.96; 4.39 -19880726; 51248; 1.45; 0.11; 17.47; 4.38 -19880727; 46378; 1.31; 0.01; 15.89; 4.37 -19880728; 43230; 1.22; 0.00; 13.29; 4.36 -19880729; 40368; 1.14; 0.00; 14.58; 4.35 -19880730; 38363; 1.08; 0.47; 16.02; 4.34 -19880731; 36932; 1.04; 0.16; 17.76; 4.32 -19880801; 37790; 1.07; 10.61; 17.91; 4.31 -19880802; 48096; 1.36; 8.15; 17.74; 4.29 -19880803; 45521; 1.29; 3.04; 16.36; 4.28 -19880804; 40368; 1.14; 13.43; 14.79; 4.26 -19880805; 41512; 1.17; 0.18; 14.98; 4.25 -19880806; 38363; 1.08; 4.03; 16.36; 4.23 -19880807; 35502; 1.00; 1.94; 13.81; 4.21 -19880808; 38076; 1.08; 3.36; 11.28; 4.19 -19880809; 36646; 1.03; 0.55; 11.64; 4.17 -19880810; 35215; 0.99; 0.46; 13.40; 4.15 -19880811; 32350; 0.91; 0.21; 14.49; 4.13 -19880812; 30349; 0.86; 0.24; 15.16; 4.11 -19880813; 29201; 0.82; 0.06; 14.93; 4.09 -19880814; 28344; 0.80; 3.68; 14.46; 4.07 -19880815; 30919; 0.87; 18.11; 13.26; 4.04 -19880816; 44090; 1.24; 2.94; 10.09; 4.02 -19880817; 36932; 1.04; 0.07; 10.12; 4.00 -19880818; 31492; 0.89; 1.51; 11.17; 3.97 -19880819; 29488; 0.83; 0.02; 11.60; 3.95 -19880820; 28457; 0.80; 0.92; 12.25; 3.92 -19880821; 28429; 0.80; 0.50; 14.74; 3.90 -19880822; 27313; 0.77; 8.10; 16.52; 3.87 -19880823; 28602; 0.81; 3.94; 15.17; 3.84 -19880824; 29201; 0.82; 0.31; 15.41; 3.81 -19880825; 27228; 0.77; 4.48; 15.67; 3.79 -19880826; 31492; 0.89; 5.23; 10.08; 3.76 -19880827; 32636; 0.92; 0.04; 8.81; 3.73 -19880828; 28631; 0.81; 0.00; 12.96; 3.70 -19880829; 26137; 0.74; 0.00; 14.30; 3.67 -19880830; 24537; 0.69; 0.00; 15.33; 3.64 -19880831; 23248; 0.66; 0.00; 15.94; 3.61 -19880901; 22245; 0.63; 0.00; 17.70; 3.57 -19880902; 21300; 0.60; 0.00; 15.69; 3.54 -19880903; 20414; 0.58; 0.00; 13.05; 3.51 -19880904; 19897; 0.56; 0.00; 14.88; 3.48 -19880905; 19384; 0.55; 1.38; 15.37; 3.44 -19880906; 23991; 0.68; 21.26; 12.32; 3.41 -19880907; 27313; 0.77; 0.23; 6.54; 3.38 -19880908; 23648; 0.67; 0.00; 6.59; 3.34 -19880909; 21385; 0.60; 0.00; 8.89; 3.31 -19880910; 20241; 0.57; 0.00; 11.12; 3.27 -19880911; 19525; 0.55; 6.54; 10.31; 3.23 -19880912; 21817; 0.62; 1.80; 9.91; 3.20 -19880913; 21930; 0.62; 0.00; 9.21; 3.16 -19880914; 20042; 0.57; 0.00; 10.57; 3.13 -19880915; 18951; 0.54; 0.05; 11.79; 3.09 -19880916; 18580; 0.52; 12.03; 14.03; 3.05 -19880917; 22560; 0.64; 9.05; 13.74; 3.02 -19880918; 25996; 0.73; 10.24; 12.26; 2.98 -19880919; 30919; 0.87; 0.04; 10.18; 2.94 -19880920; 24048; 0.68; 0.00; 11.88; 2.90 -19880921; 21445; 0.61; 0.00; 13.19; 2.86 -19880922; 20156; 0.57; 1.29; 12.51; 2.82 -19880923; 20698; 0.58; 4.60; 11.34; 2.79 -19880924; 20669; 0.58; 0.60; 10.75; 2.75 -19880925; 19582; 0.55; 0.00; 10.71; 2.71 -19880926; 18725; 0.53; 0.05; 11.47; 2.67 -19880927; 18066; 0.51; 0.00; 11.62; 2.63 -19880928; 17577; 0.50; 0.00; 12.31; 2.59 -19880929; 17120; 0.48; 0.00; 12.35; 2.55 -19880930; 16664; 0.47; 0.00; 12.86; 2.51 -19881001; 16260; 0.46; 0.00; 11.67; 2.47 -19881002; 16979; 0.48; 9.38; 10.22; 2.43 -19881003; 20042; 0.57; 0.81; 6.82; 2.39 -19881004; 19469; 0.55; 0.14; 3.87; 2.35 -19881005; 18325; 0.52; 2.86; 2.21; 2.31 -19881006; 18608; 0.53; 0.19; 5.68; 2.26 -19881007; 17751; 0.50; 0.14; 6.54; 2.22 -19881008; 17035; 0.48; 0.00; 7.68; 2.18 -19881009; 16433; 0.46; 1.18; 9.61; 2.14 -19881010; 16033; 0.45; 3.74; 9.42; 2.10 -19881011; 16749; 0.47; 2.04; 8.39; 2.06 -19881012; 17149; 0.48; 0.14; 8.04; 2.02 -19881013; 16547; 0.47; 0.00; 8.99; 1.98 -19881014; 15860; 0.45; 0.00; 7.71; 1.94 -19881015; 15318; 0.43; 0.00; 4.53; 1.90 -19881016; 14974; 0.42; 0.00; 4.21; 1.86 -19881017; 14801; 0.42; 1.56; 3.10; 1.82 -19881018; 14716; 0.42; 0.33; -0.39; 1.77 -19881019; 14400; 0.41; 0.00; 0.15; 1.74 -19881020; 14000; 0.40; 0.00; 1.35; 1.69 -19881021; 14142; 0.40; 0.00; 1.54; 1.65 -19881022; 14142; 0.40; 0.00; 1.55; 1.61 -19881023; 14315; 0.40; 0.00; 1.51; 1.57 -19881024; 13944; 0.39; 0.85; 1.63; 1.53 -19881025; 17836; 0.50; 9.04; 2.92; 1.50 -19881026; 18923; 0.53; 0.29; 2.82; 1.46 -19881027; 16777; 0.47; 0.11; 2.53; 1.42 -19881028; 15633; 0.44; 0.27; 2.90; 1.38 -19881029; 15116; 0.43; 0.00; 2.77; 1.34 -19881030; 15002; 0.42; 0.03; 1.91; 1.30 -19881031; 14744; 0.42; 1.28; 1.95; 1.26 -19881101; 20042; 0.57; 20.37; 2.61; 1.22 -19881102; 25968; 0.73; 1.39; 1.26; 1.18 -19881103; 21671; 0.61; 0.91; 4.15; 1.15 -19881104; 19497; 0.55; 0.00; 3.20; 1.11 -19881105; 18410; 0.52; 0.00; 2.08; 1.07 -19881106; 17549; 0.50; 0.00; 1.50; 1.03 -19881107; 16862; 0.48; 0.23; 1.20; 1.00 -19881108; 16320; 0.46; 0.56; 2.22; 0.96 -19881109; 16320; 0.46; 0.02; 5.26; 0.93 -19881110; 16203; 0.46; 0.18; 2.88; 0.89 -19881111; 15916; 0.45; 0.02; 0.34; 0.86 -19881112; 15346; 0.43; 0.00; -2.69; 0.82 -19881113; 13228; 0.37; 0.00; -5.14; 0.79 -19881114; 10678; 0.30; 0.23; -5.55; 0.75 -19881115; 11539; 0.33; 2.52; -3.35; 0.72 -19881116; 16348; 0.46; 1.83; 0.42; 0.69 -19881117; 19295; 0.54; 9.12; 3.10; 0.65 -19881118; 23534; 0.66; 0.83; 2.96; 0.62 -19881119; 22015; 0.62; 0.00; 1.04; 0.59 -19881120; 19097; 0.54; 0.00; -2.18; 0.56 -19881121; 16947; 0.48; 0.04; -5.28; 0.53 -19881122; 15718; 0.44; 0.05; -0.69; 0.49 -19881123; 17205; 0.49; 0.00; -2.59; 0.46 -19881124; 15172; 0.43; 4.49; -1.17; 0.43 -19881125; 17694; 0.50; 9.48; -1.21; 0.41 -19881126; 18951; 0.54; 2.74; -7.66; 0.38 -19881127; 11394; 0.32; 0.00;-12.75; 0.35 -19881128; 8730; 0.25; 0.04;-11.95; 0.32 -19881129; 10678; 0.30; 0.00; -8.46; 0.29 -19881130; 18038; 0.51; 0.00; -6.66; 0.27 -19881201; 17149; 0.48; 0.00; -6.01; 0.24 -19881202; 15403; 0.43; 0.00; -6.84; 0.21 -19881203; 14744; 0.42; 0.00; -7.82; 0.19 -19881204; 14315; 0.40; 0.35; -7.43; 0.17 -19881205; 12569; 0.35; 0.00; -5.91; 0.14 -19881206; 13055; 0.37; 6.50; -4.81; 0.12 -19881207; 16377; 0.46; 8.88; -1.52; 0.10 -19881208; 17035; 0.48; 5.83; -0.54; 0.07 -19881209; 18668; 0.53; 1.14; -1.22; 0.05 -19881210; 16805; 0.47; 0.41; -1.98; 0.03 -19881211; 15605; 0.44; 0.06; -1.49; 0.01 -19881212; 13887; 0.39; 0.00; -4.07; 0.00 -19881213; 13026; 0.37; 0.00; -4.73; 0.00 -19881214; 11567; 0.33; 0.00; -6.45; 0.00 -19881215; 11539; 0.33; 0.00; -6.11; 0.00 -19881216; 11309; 0.32; 0.00; -2.44; 0.00 -19881217; 11167; 0.32; 0.00; -4.88; 0.00 -19881218; 11167; 0.32; 0.77; -6.09; 0.00 -19881219; 11309; 0.32; 0.06; -7.86; 0.00 -19881220; 11595; 0.33; 0.37; -9.39; 0.00 -19881221; 11882; 0.34; 0.25; -7.52; 0.00 -19881222; 12169; 0.34; 0.32; -5.41; 0.00 -19881223; 12885; 0.36; 13.02; -5.49; 0.00 -19881224; 13600; 0.38; 0.49; -4.48; 0.00 -19881225; 14315; 0.40; 21.41; -4.25; 0.00 -19881226; 15172; 0.43; 8.06; -0.49; 0.00 -19881227; 15746; 0.44; 4.21; -0.18; 0.00 -19881228; 16033; 0.45; 0.00; -5.37; 0.00 -19881229; 15746; 0.44; 0.00; -7.97; 0.00 -19881230; 15459; 0.44; 0.16; -8.93; 0.00 -19881231; 14602; 0.41; 0.14; -9.61; 0.00 -19890101; 13600; 0.38; 0.42;-10.70; 0.00 -19890102; 12739; 0.36; 3.62;-12.06; 0.00 -19890103; 11882; 0.34; 6.87;-10.58; 0.00 -19890104; 11167; 0.32; 6.94; -8.96; 0.00 -19890105; 10880; 0.31; 0.02;-11.74; 0.00 -19890106; 10880; 0.31; 0.03;-11.22; 0.00 -19890107; 10880; 0.31; 1.77;-10.98; 0.00 -19890108; 11167; 0.32; 0.22;-10.80; 0.00 -19890109; 11309; 0.32; 0.24;-10.61; 0.00 -19890110; 11882; 0.34; 0.07; -9.01; 0.00 -19890111; 13026; 0.37; 0.00; -8.31; 0.00 -19890112; 13887; 0.39; 12.04; -4.12; 0.00 -19890113; 14602; 0.41; 3.22; -2.18; 0.00 -19890114; 16033; 0.45; 6.60; -1.59; 0.00 -19890115; 17464; 0.49; 18.48; -1.61; 0.00 -19890116; 19182; 0.54; 7.64; -1.96; 0.00 -19890117; 20326; 0.57; 2.59; 0.23; 0.00 -19890118; 21186; 0.60; 3.12; 1.74; 0.00 -19890119; 21473; 0.61; 2.04; -0.24; 0.00 -19890120; 21186; 0.60; 0.09; -2.84; 0.00 -19890121; 20612; 0.58; 0.12; -4.28; 0.00 -19890122; 19755; 0.56; 0.00; -3.69; 0.00 -19890123; 18325; 0.52; 0.00; -5.21; 0.00 -19890124; 17177; 0.48; 0.00; -6.74; 0.00 -19890125; 15172; 0.43; 0.00; -8.56; 0.00 -19890126; 14602; 0.41; 0.00; -7.22; 0.00 -19890127; 13887; 0.39; 0.00; -3.98; 0.00 -19890128; 13313; 0.38; 0.00; -3.09; 0.00 -19890129; 12885; 0.36; 0.00; -5.33; 0.00 -19890130; 12598; 0.36; 0.00; -5.82; 0.00 -19890131; 12885; 0.36; 0.24; -6.14; 0.00 -19890201; 13313; 0.38; 0.44; -5.11; 0.00 -19890202; 13455; 0.38; 0.00; -1.72; 0.00 -19890203; 13313; 0.38; 0.00; -5.02; 0.00 -19890204; 13168; 0.37; 0.06; -4.88; 0.00 -19890205; 12885; 0.36; 0.00; -5.54; 0.00 -19890206; 12598; 0.36; 0.00; -5.57; 0.00 -19890207; 12598; 0.36; 0.00; -4.86; 0.00 -19890208; 12885; 0.36; 1.01; -3.62; 0.00 -19890209; 13168; 0.37; 2.01; -2.43; 0.01 -19890210; 14170; 0.40; 3.08; -1.04; 0.03 -19890211; 15459; 0.44; 2.11; 1.64; 0.05 -19890212; 16320; 0.46; 0.48; 1.74; 0.07 -19890213; 17751; 0.50; 1.26; 2.26; 0.10 -19890214; 18325; 0.52; 0.00; -1.08; 0.12 -19890215; 18038; 0.51; 0.00; -0.61; 0.14 -19890216; 17751; 0.50; 0.00; 2.03; 0.17 -19890217; 18353; 0.52; 0.00; 1.11; 0.19 -19890218; 18353; 0.52; 0.00; 2.57; 0.22 -19890219; 18810; 0.53; 0.00; 1.39; 0.24 -19890220; 18753; 0.53; 1.13; 1.74; 0.27 -19890221; 20928; 0.59; 5.80; -0.11; 0.29 -19890222; 22819; 0.64; 5.91; -0.13; 0.32 -19890223; 21300; 0.60; 0.80; -1.38; 0.35 -19890224; 19097; 0.54; 0.93; -3.41; 0.38 -19890225; 17577; 0.50; 3.51; -4.52; 0.41 -19890226; 17092; 0.48; 9.32; -3.76; 0.44 -19890227; 16805; 0.47; 4.45; -2.75; 0.47 -19890228; 17322; 0.49; 9.62; -2.03; 0.50 -19890301; 18495; 0.52; 6.96; -1.89; 0.53 -19890302; 17779; 0.50; 0.63; -1.81; 0.56 -19890303; 16890; 0.48; 0.94; -3.86; 0.59 -19890304; 16664; 0.47; 0.65; -2.50; 0.62 -19890305; 16320; 0.46; 0.00; -1.64; 0.66 -19890306; 16320; 0.46; 0.00; 1.21; 0.69 -19890307; 18381; 0.52; 8.15; 1.94; 0.72 -19890308; 21760; 0.61; 6.71; 0.77; 0.75 -19890309; 23648; 0.67; 13.85; -0.24; 0.79 -19890310; 22847; 0.65; 1.17; -1.69; 0.82 -19890311; 20528; 0.58; 0.32; -2.59; 0.86 -19890312; 20156; 0.57; 1.87; 0.86; 0.89 -19890313; 20127; 0.57; 2.06; -0.58; 0.93 -19890314; 19355; 0.55; 1.22; -3.76; 0.96 -19890315; 17577; 0.50; 0.00; -4.61; 1.00 -19890316; 17262; 0.49; 1.72; -2.33; 1.04 -19890317; 18038; 0.51; 8.56; -2.21; 1.07 -19890318; 18009; 0.51; 2.64; -3.04; 1.11 -19890319; 18236; 0.51; 22.42; -2.82; 1.15 -19890320; 17549; 0.50; 4.28; -5.08; 1.19 -19890321; 17492; 0.49; 0.16; -1.25; 1.23 -19890322; 18179; 0.51; 0.17; 3.54; 1.26 -19890323; 20928; 0.59; 4.59; 2.71; 1.30 -19890324; 22532; 0.64; 1.30; 1.31; 1.34 -19890325; 22589; 0.64; 0.24; -0.75; 1.38 -19890326; 22330; 0.63; 3.66; -0.45; 1.42 -19890327; 29201; 0.82; 30.51; -1.18; 1.46 -19890328; 29775; 0.84; 3.44; -3.64; 1.50 -19890329; 26109; 0.74; 0.96; -3.10; 1.54 -19890330; 24565; 0.69; 0.00; -2.04; 1.58 -19890331; 24565; 0.69; 2.48; -2.21; 1.62 -19890401; 24593; 0.69; 12.56; -2.09; 1.66 -19890402; 23563; 0.67; 0.60; -4.02; 1.70 -19890403; 22072; 0.62; 0.00; -0.39; 1.74 -19890404; 22330; 0.63; 0.00; 3.72; 1.78 -19890405; 28344; 0.80; 0.00; 5.78; 1.82 -19890406; 39224; 1.11; 0.00; 6.72; 1.86 -19890407; 56114; 1.58; 0.00; 8.20; 1.90 -19890408; 79018; 2.23; 0.06; 9.33; 1.94 -19890409; 101922; 2.88; 1.24; 6.40; 1.98 -19890410; 89611; 2.53; 0.04; 2.13; 2.02 -19890411; 78158; 2.21; 0.00; 2.50; 2.06 -19890412; 74722; 2.11; 0.00; 4.18; 2.10 -19890413; 78731; 2.22; 1.66; 4.27; 2.14 -19890414; 73865; 2.09; 0.13; 2.95; 2.18 -19890415; 70143; 1.98; 0.06; 3.66; 2.23 -19890416; 77300; 2.18; 0.87; 5.00; 2.27 -19890417; 73291; 2.07; 0.00; 0.48; 2.31 -19890418; 71574; 2.02; 0.00; -0.64; 2.35 -19890419; 70143; 1.98; 0.00; 0.18; 2.39 -19890420; 67277; 1.90; 0.07; 2.62; 2.43 -19890421; 69569; 1.96; 0.00; 5.98; 2.47 -19890422; 80162; 2.26; 0.00; 8.76; 2.51 -19890423; 109363; 3.09; 0.00; 11.98; 2.55 -19890424; 154884; 4.37; 0.00; 13.19; 2.59 -19890425; 204988; 5.79; 0.00; 13.36; 2.63 -19890426; 240486; 6.79; 0.00; 12.04; 2.67 -19890427; 214147; 6.05; 0.00; 6.07; 2.71 -19890428; 198114; 5.59; 0.00; 8.86; 2.75 -19890429; 202123; 5.71; 0.25; 9.68; 2.79 -19890430; 208424; 5.88; 0.00; 10.75; 2.83 -19890501; 239055; 6.75; 7.50; 11.96; 2.87 -19890502; 284576; 8.04; 5.73; 10.34; 2.90 -19890503; 257950; 7.28; 6.25; 7.03; 2.94 -19890504; 215008; 6.07; 3.66; 2.73; 2.98 -19890505; 176931; 5.00; 0.36; 1.89; 3.02 -19890506; 153453; 4.33; 0.62; 1.76; 3.06 -19890507; 139712; 3.94; 1.56; 6.09; 3.09 -19890508; 150305; 4.24; 0.88; 7.28; 3.13 -19890509; 158606; 4.48; 4.79; 9.10; 3.16 -19890510; 186950; 5.28; 10.10; 9.44; 3.20 -19890511; 202984; 5.73; 1.21; 6.94; 3.24 -19890512; 174926; 4.94; 0.00; 7.71; 3.27 -19890513; 175784; 4.96; 0.16; 9.75; 3.31 -19890514; 185806; 5.25; 1.42; 7.83; 3.34 -19890515; 162616; 4.59; 0.68; 3.97; 3.38 -19890516; 147156; 4.16; 14.21; 3.00; 3.41 -19890517; 147156; 4.16; 26.45; 1.97; 3.44 -19890518; 138568; 3.91; 2.27; 3.23; 3.48 -19890519; 142286; 4.02; 9.53; 4.54; 3.51 -19890520; 141142; 3.99; 0.73; 7.31; 3.54 -19890521; 143434; 4.05; 4.82; 7.69; 3.58 -19890522; 147156; 4.16; 0.95; 8.56; 3.61 -19890523; 148587; 4.20; 7.55; 9.09; 3.64 -19890524; 166625; 4.70; 4.28; 6.64; 3.67 -19890525; 166625; 4.70; 2.89; 7.19; 3.70 -19890526; 158606; 4.48; 5.15; 6.34; 3.73 -19890527; 156032; 4.41; 6.71; 3.86; 3.76 -19890528; 145439; 4.11; 7.15; 2.50; 3.79 -19890529; 135416; 3.82; 0.00; 4.79; 3.81 -19890530; 125970; 3.56; 0.16; 6.78; 3.84 -19890531; 124252; 3.51; 0.29; 12.12; 3.87 -19890601; 142860; 4.03; 2.02; 13.01; 3.90 -19890602; 165764; 4.68; 0.21; 9.81; 3.92 -19890603; 149161; 4.21; 0.00; 11.58; 3.95 -19890604; 144004; 4.07; 0.08; 14.25; 3.97 -19890605; 158033; 4.46; 0.11; 16.10; 4.00 -19890606; 164620; 4.65; 2.61; 18.89; 4.02 -19890607; 172348; 4.87; 3.12; 18.22; 4.04 -19890608; 166625; 4.70; 10.16; 15.87; 4.07 -19890609; 142286; 4.02; 0.10; 11.35; 4.09 -19890610; 119386; 3.37; 1.85; 11.85; 4.11 -19890611; 107645; 3.04; 4.15; 11.25; 4.13 -19890612; 102492; 2.89; 1.90; 10.94; 4.15 -19890613; 94478; 2.67; 5.38; 11.07; 4.17 -19890614; 91899; 2.59; 4.43; 11.91; 4.19 -19890615; 87033; 2.46; 0.92; 12.45; 4.21 -19890616; 79588; 2.25; 0.56; 11.65; 4.23 -19890617; 73004; 2.06; 0.00; 12.42; 4.25 -19890618; 67277; 1.90; 0.00; 14.69; 4.26 -19890619; 62985; 1.78; 1.35; 15.20; 4.28 -19890620; 61267; 1.73; 1.57; 14.08; 4.29 -19890621; 58119; 1.64; 0.07; 13.54; 4.31 -19890622; 54110; 1.53; 0.00; 13.80; 4.32 -19890623; 50387; 1.42; 0.00; 14.27; 4.34 -19890624; 47239; 1.33; 0.00; 14.92; 4.35 -19890625; 44090; 1.24; 0.00; 15.63; 4.36 -19890626; 41799; 1.18; 0.00; 15.34; 4.37 -19890627; 38937; 1.10; 0.00; 13.84; 4.38 -19890628; 37219; 1.05; 0.00; 13.04; 4.39 -19890629; 35502; 1.00; 0.00; 13.79; 4.40 -19890630; 33497; 0.95; 0.00; 12.14; 4.41 -19890701; 32350; 0.91; 1.53; 14.42; 4.42 -19890702; 32636; 0.92; 0.45; 14.11; 4.43 -19890703; 31492; 0.89; 2.50; 10.00; 4.43 -19890704; 30632; 0.86; 5.12; 9.22; 4.44 -19890705; 32350; 0.91; 1.18; 10.26; 4.45 -19890706; 30919; 0.87; 0.61; 10.68; 4.45 -19890707; 29775; 0.84; 0.00; 10.22; 4.45 -19890708; 27799; 0.78; 0.00; 13.80; 4.46 -19890709; 26194; 0.74; 0.20; 14.55; 4.46 -19890710; 25135; 0.71; 0.58; 13.21; 4.46 -19890711; 23821; 0.67; 0.00; 13.18; 4.46 -19890712; 23074; 0.65; 1.04; 14.42; 4.46 -19890713; 22560; 0.64; 0.04; 13.27; 4.46 -19890714; 21845; 0.62; 0.00; 12.60; 4.46 -19890715; 20871; 0.59; 0.00; 15.87; 4.46 -19890716; 19897; 0.56; 0.00; 17.64; 4.46 -19890717; 19210; 0.54; 1.01; 15.26; 4.45 -19890718; 20871; 0.59; 12.38; 12.55; 4.45 -19890719; 26453; 0.75; 1.70; 14.24; 4.44 -19890720; 23821; 0.67; 0.00; 15.69; 4.44 -19890721; 20612; 0.58; 1.25; 18.00; 4.43 -19890722; 20612; 0.58; 0.42; 18.36; 4.43 -19890723; 18980; 0.54; 0.21; 19.89; 4.42 -19890724; 17864; 0.50; 13.60; 16.56; 4.41 -19890725; 21586; 0.61; 3.78; 15.47; 4.40 -19890726; 24335; 0.69; 1.52; 16.26; 4.39 -19890727; 21586; 0.61; 0.33; 16.50; 4.38 -19890728; 19210; 0.54; 0.00; 17.03; 4.37 -19890729; 17666; 0.50; 0.00; 14.33; 4.36 -19890730; 16348; 0.46; 0.00; 12.16; 4.35 -19890731; 15718; 0.44; 0.00; 15.30; 4.34 -19890801; 15116; 0.43; 0.00; 17.42; 4.32 -19890802; 14315; 0.40; 0.00; 17.56; 4.31 -19890803; 13915; 0.39; 0.00; 18.32; 4.29 -19890804; 13341; 0.38; 1.36; 17.43; 4.28 -19890805; 12970; 0.37; 0.00; 16.40; 4.26 -19890806; 12796; 0.36; 0.40; 16.61; 4.25 -19890807; 12226; 0.35; 0.05; 16.92; 4.23 -19890808; 11680; 0.33; 0.18; 16.58; 4.21 -19890809; 11309; 0.32; 0.00; 16.25; 4.19 -19890810; 11139; 0.31; 0.00; 15.98; 4.17 -19890811; 10795; 0.30; 0.00; 16.30; 4.15 -19890812; 10420; 0.29; 0.00; 17.32; 4.13 -19890813; 10076; 0.28; 0.00; 18.14; 4.11 -19890814; 9732; 0.27; 0.29; 18.17; 4.09 -19890815; 9591; 0.27; 0.03; 17.79; 4.07 -19890816; 9421; 0.27; 0.00; 17.79; 4.04 -19890817; 9247; 0.26; 0.00; 18.02; 4.02 -19890818; 8904; 0.25; 0.00; 18.97; 4.00 -19890819; 8589; 0.24; 0.00; 19.24; 3.97 -19890820; 8273; 0.23; 0.00; 19.47; 3.95 -19890821; 8132; 0.23; 0.07; 17.88; 3.92 -19890822; 8132; 0.23; 3.13; 16.33; 3.90 -19890823; 8589; 0.24; 0.93; 15.41; 3.87 -19890824; 9247; 0.26; 10.54; 13.22; 3.84 -19890825; 14315; 0.40; 3.01; 11.13; 3.81 -19890826; 17205; 0.49; 13.59; 9.84; 3.79 -19890827; 24852; 0.70; 2.97; 9.83; 3.76 -19890828; 17864; 0.50; 7.40; 8.03; 3.73 -19890829; 18094; 0.51; 7.27; 9.91; 3.70 -19890830; 29488; 0.83; 27.11; 8.08; 3.67 -19890831; 44660; 1.26; 2.52; 8.22; 3.64 -19890901; 32066; 0.91; 0.00; 10.33; 3.61 -19890902; 23304; 0.66; 0.00; 12.23; 3.57 -19890903; 18980; 0.54; 0.10; 13.56; 3.54 -19890904; 17205; 0.49; 0.42; 16.26; 3.51 -19890905; 15690; 0.44; 0.81; 16.35; 3.48 -19890906; 14716; 0.42; 0.00; 15.03; 3.44 -19890907; 13798; 0.39; 0.21; 14.67; 3.41 -19890908; 13168; 0.37; 0.82; 13.12; 3.38 -19890909; 12739; 0.36; 0.00; 9.30; 3.34 -19890910; 12339; 0.35; 0.00; 10.80; 3.31 -19890911; 11882; 0.34; 0.00; 11.03; 3.27 -19890912; 11450; 0.32; 0.00; 11.04; 3.23 -19890913; 11107; 0.31; 0.00; 12.22; 3.20 -19890914; 10823; 0.31; 0.04; 12.29; 3.16 -19890915; 10678; 0.30; 4.21; 11.66; 3.13 -19890916; 12198; 0.34; 15.83; 8.90; 3.09 -19890917; 15346; 0.43; 1.88; 8.49; 3.05 -19890918; 15888; 0.45; 0.50; 9.92; 3.02 -19890919; 13855; 0.39; 2.94; 9.76; 2.98 -19890920; 16834; 0.48; 14.79; 8.50; 2.94 -19890921; 26137; 0.74; 9.20; 6.34; 2.90 -19890922; 26194; 0.74; 4.84; 5.36; 2.86 -19890923; 23478; 0.66; 0.83; 5.60; 2.82 -19890924; 21243; 0.60; 3.28; 6.19; 2.79 -19890925; 21987; 0.62; 4.90; 4.18; 2.75 -19890926; 23046; 0.65; 0.12; 6.87; 2.71 -19890927; 21300; 0.60; 2.70; 5.74; 2.67 -19890928; 21416; 0.60; 15.45; 7.32; 2.63 -19890929; 30062; 0.85; 13.27; 7.44; 2.59 -19890930; 36646; 1.03; 5.88; 4.97; 2.55 -19891001; 34641; 0.98; 0.06; 5.70; 2.51 -19891002; 29201; 0.82; 0.27; 5.13; 2.47 -19891003; 25822; 0.73; 0.00; 4.99; 2.43 -19891004; 23417; 0.66; 0.00; 2.98; 2.39 -19891005; 21817; 0.62; 0.00; 3.14; 2.35 -19891006; 20729; 0.59; 7.31; 3.67; 2.31 -19891007; 23478; 0.66; 21.42; 4.15; 2.26 -19891008; 29775; 0.84; 0.63; 4.33; 2.22 -19891009; 28114; 0.79; 8.72; 4.13; 2.18 -19891010; 28602; 0.81; 0.08; 1.37; 2.14 -19891011; 25851; 0.73; 0.06; 2.61; 2.10 -19891012; 23906; 0.68; 0.02; 5.79; 2.06 -19891013; 23276; 0.66; 0.02; 6.61; 2.02 -19891014; 23591; 0.67; 0.00; 6.81; 1.98 -19891015; 23478; 0.66; 0.00; 7.24; 1.94 -19891016; 22674; 0.64; 0.00; 6.79; 1.90 -19891017; 22015; 0.62; 0.00; 6.41; 1.86 -19891018; 21356; 0.60; 0.00; 6.47; 1.82 -19891019; 20584; 0.58; 0.00; 6.53; 1.77 -19891020; 19925; 0.56; 0.05; 5.05; 1.74 -19891021; 19384; 0.55; 0.00; 3.62; 1.69 -19891022; 18810; 0.53; 0.04; 4.45; 1.65 -19891023; 18381; 0.52; 0.22; 4.51; 1.61 -19891024; 17949; 0.51; 1.87; 6.65; 1.57 -19891025; 23506; 0.66; 29.35; 5.80; 1.53 -19891026; 36072; 1.02; 3.65; 4.19; 1.50 -19891027; 30919; 0.87; 0.52; 1.65; 1.46 -19891028; 26683; 0.75; 0.05; 1.93; 1.42 -19891029; 26683; 0.75; 2.59; 3.51; 1.38 -19891030; 29775; 0.84; 17.34; 2.02; 1.34 -19891031; 34354; 0.97; 4.33; 0.73; 1.30 -19891101; 31492; 0.89; 3.72; 0.10; 1.26 -19891102; 36646; 1.03; 11.23; 0.73; 1.22 -19891103; 37506; 1.06; 0.13; -2.64; 1.18 -19891104; 32066; 0.91; 1.60; -0.74; 1.15 -19891105; 30632; 0.86; 6.28; -0.23; 1.11 -19891106; 32066; 0.91; 8.00; 0.22; 1.07 -19891107; 32066; 0.91; 4.37; -1.04; 1.03 -19891108; 30349; 0.86; 5.46; -4.58; 1.00 -19891109; 26998; 0.76; 3.49; -5.14; 0.96 -19891110; 26998; 0.76; 0.35; -0.65; 0.93 -19891111; 27540; 0.78; 0.00; -0.95; 0.89 -19891112; 26453; 0.75; 0.00; 0.06; 0.86 -19891113; 26711; 0.75; 9.53; -0.95; 0.82 -19891114; 28631; 0.81; 8.42; -0.85; 0.79 -19891115; 37790; 1.07; 26.65; -1.09; 0.75 -19891116; 37790; 1.07; 6.13; -2.48; 0.72 -19891117; 33210; 0.94; 2.05; -5.17; 0.69 -19891118; 29488; 0.83; 0.25; -9.91; 0.65 -19891119; 22072; 0.62; 0.04;-12.41; 0.62 -19891120; 16575; 0.47; 0.00;-13.86; 0.59 -19891121; 14886; 0.42; 1.75;-13.99; 0.56 -19891122; 17751; 0.50; 31.83;-12.33; 0.53 -19891123; 21760; 0.61; 16.73; -7.53; 0.49 -19891124; 28057; 0.79; 9.76; -3.51; 0.46 -19891125; 40368; 1.14; 20.42; -1.49; 0.43 -19891126; 93904; 2.65; 20.02; 0.95; 0.41 -19891127; 80162; 2.26; 13.21; -1.99; 0.38 -19891128; 68425; 1.93; 9.18; -1.07; 0.35 -19891129; 68712; 1.94; 8.26; 0.51; 0.32 -19891130; 71000; 2.00; 0.09; -3.04; 0.29 -19891201; 62124; 1.75; 56.84; -3.11; 0.27 -19891202; 207850; 5.87; 42.43; -0.38; 0.24 -19891203; 265682; 7.50; 14.56; 2.02; 0.21 -19891204; 183802; 5.19; 9.68; 0.48; 0.19 -19891205; 136850; 3.86; 2.98; -4.84; 0.17 -19891206; 115377; 3.26; 27.56; -2.93; 0.14 -19891207; 108793; 3.07; 20.48; -2.58; 0.12 -19891208; 91899; 2.59; 5.75; -7.43; 0.10 -19891209; 82167; 2.32; 3.10; -6.97; 0.07 -19891210; 80449; 2.27; 16.38; -3.98; 0.05 -19891211; 77300; 2.18; 8.17; -0.04; 0.03 -19891212; 78731; 2.22; 9.38; 0.54; 0.01 -19891213; 85602; 2.42; 44.86; 0.72; 0.00 -19891214; 131410; 3.71; 20.03; 1.19; 0.00 -19891215; 152880; 4.32; 17.44; 0.61; 0.00 -19891216; 146009; 4.12; 1.64; -1.77; 0.00 -19891217; 123105; 3.48; 3.79; -5.92; 0.00 -19891218; 109363; 3.09; 5.38; -4.41; 0.00 -19891219; 95908; 2.71; 7.85; -4.84; 0.00 -19891220; 81593; 2.30; 0.00; -9.83; 0.00 -19891221; 73291; 2.07; 0.14;-10.21; 0.00 -19891222; 75870; 2.14; 2.70; -7.53; 0.00 -19891223; 71574; 2.02; 8.54; -4.34; 0.00 -19891224; 66134; 1.87; 0.17; -5.81; 0.00 -19891225; 61554; 1.74; 0.00; -4.61; 0.00 -19891226; 58976; 1.67; 0.05; -5.72; 0.00 -19891227; 52105; 1.47; 0.00; -9.09; 0.00 -19891228; 43516; 1.23; 0.24; -9.96; 0.00 -19891229; 52105; 1.47; 9.37; -8.44; 0.00 -19891230; 55254; 1.56; 10.02; -5.55; 0.00 -19891231; 48956; 1.38; 2.69;-10.01; 0.00 -19900101; 35785; 1.01; 0.00;-11.08; 0.00 -19900102; 33784; 0.95; 1.20;-10.55; 0.00 -19900103; 37219; 1.05; 22.85; -9.42; 0.00 -19900104; 41512; 1.17; 4.20; -3.28; 0.00 -19900105; 45808; 1.29; 5.17; -0.72; 0.00 -19900106; 49243; 1.39; 2.89; 0.76; 0.00 -19900107; 46095; 1.30; 1.33; -0.01; 0.00 -19900108; 44660; 1.26; 12.77; -0.37; 0.00 -19900109; 49243; 1.39; 1.42; 0.45; 0.00 -19900110; 46095; 1.30; 2.06; -0.70; 0.00 -19900111; 44947; 1.27; 5.45; -1.41; 0.00 -19900112; 44947; 1.27; 9.00; -0.46; 0.00 -19900113; 44660; 1.26; 1.29; -0.78; 0.00 -19900114; 45234; 1.28; 4.52; -0.11; 0.00 -19900115; 46095; 1.30; 1.74; -1.49; 0.00 -19900116; 44947; 1.27; 3.94; -2.97; 0.00 -19900117; 45521; 1.29; 7.15; -1.60; 0.00 -19900118; 46378; 1.31; 3.98; -0.72; 0.00 -19900119; 45521; 1.29; 2.98; -2.22; 0.00 -19900120; 45234; 1.28; 6.68; -1.99; 0.00 -19900121; 44660; 1.26; 6.73; 0.30; 0.00 -19900122; 45521; 1.29; 3.94; -0.02; 0.00 -19900123; 44090; 1.24; 0.03; -3.34; 0.00 -19900124; 41799; 1.18; 0.23; -4.88; 0.00 -19900125; 40942; 1.16; 5.22; -3.04; 0.00 -19900126; 42943; 1.21; 11.45; -1.28; 0.00 -19900127; 40655; 1.15; 0.11; -1.12; 0.00 -19900128; 39507; 1.12; 6.14; -3.02; 0.00 -19900129; 39224; 1.11; 5.83; -1.85; 0.00 -19900130; 37506; 1.06; 0.39; -5.64; 0.00 -19900131; 35785; 1.01; 7.75; -5.47; 0.00 -19900201; 37506; 1.06; 10.36; -5.66; 0.00 -19900202; 39224; 1.11; 8.80; -2.31; 0.00 -19900203; 40655; 1.15; 4.03; 1.00; 0.00 -19900204; 40942; 1.16; 0.38; -0.09; 0.00 -19900205; 40942; 1.16; 0.54; -0.47; 0.00 -19900206; 47812; 1.35; 7.71; 1.21; 0.00 -19900207; 51248; 1.45; 2.52; -0.04; 0.00 -19900208; 54683; 1.54; 6.73; 0.40; 0.00 -19900209; 55254; 1.56; 5.45; -2.21; 0.01 -19900210; 52392; 1.48; 1.81; -3.54; 0.03 -19900211; 49814; 1.41; 3.51; -6.14; 0.05 -19900212; 43516; 1.23; 0.27; -8.91; 0.07 -19900213; 38076; 1.08; 0.04; -9.06; 0.10 -19900214; 40655; 1.15; 0.09; -8.02; 0.12 -19900215; 41225; 1.16; 11.68; -5.19; 0.14 -19900216; 39224; 1.11; 0.89; -4.32; 0.17 -19900217; 36932; 1.04; 0.72; -5.11; 0.19 -19900218; 35785; 1.01; 5.64; -3.04; 0.22 -19900219; 35502; 1.00; 2.91; -0.66; 0.24 -19900220; 36932; 1.04; 0.00; 1.64; 0.27 -19900221; 37219; 1.05; 0.00; -0.26; 0.29 -19900222; 35785; 1.01; 0.00; 1.39; 0.32 -19900223; 37219; 1.05; 2.53; 0.29; 0.35 -19900224; 39507; 1.12; 3.20; -0.02; 0.38 -19900225; 43516; 1.23; 17.40; -0.40; 0.41 -19900226; 46095; 1.30; 5.81; 0.24; 0.44 -19900227; 47526; 1.34; 15.54; -0.46; 0.47 -19900228; 46665; 1.32; 1.55; -1.22; 0.50 -19900301; 45234; 1.28; 1.41; -3.95; 0.53 -19900302; 41225; 1.16; 0.00; -7.31; 0.56 -19900303; 36072; 1.02; 0.28; -8.57; 0.59 -19900304; 40942; 1.16; 4.77; -5.59; 0.62 -19900305; 46095; 1.30; 10.98; -1.54; 0.66 -19900306; 44090; 1.24; 0.23; 1.62; 0.69 -19900307; 42372; 1.20; 0.54; 0.66; 0.72 -19900308; 43803; 1.24; 6.87; 1.37; 0.75 -19900309; 58976; 1.67; 11.76; 1.81; 0.79 -19900310; 62985; 1.78; 0.09; 0.73; 0.82 -19900311; 61554; 1.74; 1.48; -0.03; 0.86 -19900312; 60694; 1.71; 8.02; -1.15; 0.89 -19900313; 58119; 1.64; 2.25; -1.38; 0.93 -19900314; 56401; 1.59; 12.43; -1.87; 0.96 -19900315; 53249; 1.50; 0.73; -2.00; 1.00 -19900316; 50387; 1.42; 0.00; 1.11; 1.04 -19900317; 50961; 1.44; 0.00; 4.83; 1.07 -19900318; 58689; 1.66; 0.00; 6.69; 1.11 -19900319; 67851; 1.92; 0.00; 4.51; 1.15 -19900320; 72434; 2.05; 0.00; 4.31; 1.19 -19900321; 80162; 2.26; 0.00; 5.50; 1.23 -19900322; 93904; 2.65; 0.26; 6.10; 1.26 -19900323; 111655; 3.15; 5.01; 5.61; 1.30 -19900324; 130549; 3.69; 0.74; 3.95; 1.34 -19900325; 124252; 3.51; 0.47; 4.05; 1.38 -19900326; 120530; 3.40; 0.00; 6.59; 1.42 -19900327; 135416; 3.82; 0.00; 6.90; 1.46 -19900328; 162616; 4.59; 0.00; 8.17; 1.50 -19900329; 186377; 5.26; 0.09; 9.29; 1.54 -19900330; 224170; 6.33; 7.77; 7.37; 1.58 -19900331; 264251; 7.46; 3.22; 7.59; 1.62 -19900401; 289156; 8.16; 4.44; 6.66; 1.66 -19900402; 275988; 7.79; 6.71; 2.71; 1.70 -19900403; 230180; 6.50; 0.56; 1.57; 1.74 -19900404; 198688; 5.61; 2.30; 2.13; 1.78 -19900405; 178932; 5.05; 4.51; 2.07; 1.82 -19900406; 161185; 4.55; 7.05; 2.33; 1.86 -19900407; 153453; 4.33; 4.81; 2.77; 1.90 -19900408; 141716; 4.00; 0.44; 4.22; 1.94 -19900409; 135416; 3.82; 0.00; 4.34; 1.98 -19900410; 135989; 3.84; 0.10; 5.92; 2.02 -19900411; 158606; 4.48; 5.29; 5.11; 2.06 -19900412; 154314; 4.36; 0.00; 1.51; 2.10 -19900413; 143434; 4.05; 0.04; 1.44; 2.14 -19900414; 141142; 3.99; 1.34; 4.61; 2.18 -19900415; 138568; 3.91; 5.51; 4.81; 2.23 -19900416; 151736; 4.28; 7.93; 4.75; 2.27 -19900417; 146009; 4.12; 2.45; 1.85; 2.31 -19900418; 136850; 3.86; 0.00; 3.67; 2.35 -19900419; 135989; 3.84; 0.31; 5.81; 2.39 -19900420; 149161; 4.21; 19.40; 4.89; 2.43 -19900421; 158033; 4.46; 4.08; 1.89; 2.47 -19900422; 146009; 4.12; 11.01; 2.14; 2.51 -19900423; 139712; 3.94; 0.44; 2.42; 2.55 -19900424; 131980; 3.73; 0.00; 4.42; 2.59 -19900425; 137994; 3.90; 0.00; 8.89; 2.63 -19900426; 173779; 4.91; 11.27; 9.06; 2.67 -19900427; 222735; 6.29; 4.94; 7.16; 2.71 -19900428; 241347; 6.81; 0.75; 6.76; 2.75 -19900429; 241917; 6.83; 0.12; 6.13; 2.79 -19900430; 230754; 6.52; 15.68; 6.07; 2.83 -19900501; 276562; 7.81; 5.46; 6.31; 2.87 -19900502; 270261; 7.63; 2.86; 6.75; 2.90 -19900503; 268830; 7.59; 2.06; 4.61; 2.94 -19900504; 245069; 6.92; 1.88; 0.89; 2.98 -19900505; 216438; 6.11; 0.10; 1.52; 3.02 -19900506; 195826; 5.53; 0.96; 4.58; 3.06 -19900507; 189242; 5.34; 1.55; 4.87; 3.09 -19900508; 187808; 5.30; 0.57; 6.70; 3.13 -19900509; 193821; 5.47; 5.45; 7.46; 3.16 -19900510; 254228; 7.18; 11.55; 7.82; 3.20 -19900511; 289156; 8.16; 11.85; 5.52; 3.24 -19900512; 254802; 7.19; 3.19; 5.35; 3.27 -19900513; 248788; 7.02; 3.19; 8.66; 3.31 -19900514; 280567; 7.92; 0.27; 11.11; 3.34 -19900515; 326375; 9.22; 7.18; 8.04; 3.38 -19900516; 312060; 8.81; 4.90; 3.95; 3.41 -19900517; 273410; 7.72; 1.46; 3.68; 3.44 -19900518; 249649; 7.05; 2.36; 6.19; 3.48 -19900519; 254228; 7.18; 0.15; 8.56; 3.51 -19900520; 286294; 8.08; 0.21; 9.91; 3.54 -19900521; 320648; 9.05; 3.09; 11.20; 3.58 -19900522; 366456; 10.35; 7.38; 7.18; 3.61 -19900523; 317787; 8.97; 23.71; 1.54; 3.64 -19900524; 284576; 8.04; 12.34; 2.41; 3.67 -19900525; 254228; 7.18; 2.63; 3.68; 3.70 -19900526; 229323; 6.47; 0.08; 5.01; 3.73 -19900527; 215008; 6.07; 3.70; 7.06; 3.76 -19900528; 232471; 6.56; 0.64; 9.27; 3.79 -19900529; 248788; 7.02; 3.35; 7.23; 3.81 -19900530; 226458; 6.39; 1.01; 3.52; 3.84 -19900531; 213577; 6.03; 4.23; 6.31; 3.87 -19900601; 216438; 6.11; 0.10; 8.17; 3.90 -19900602; 239629; 6.77; 0.00; 10.28; 3.92 -19900603; 282285; 7.97; 0.00; 12.14; 3.95 -19900604; 343552; 9.70; 0.00; 13.40; 3.97 -19900605; 395087; 11.16; 0.00; 14.44; 4.00 -19900606; 452345; 12.77; 0.00; 14.78; 4.02 -19900607; 466661; 13.18; 0.00; 13.54; 4.04 -19900608; 443757; 12.53; 0.00; 13.46; 4.07 -19900609; 429441; 12.13; 0.67; 11.66; 4.09 -19900610; 363595; 10.27; 9.41; 8.10; 4.11 -19900611; 306333; 8.65; 0.61; 8.96; 4.13 -19900612; 271979; 7.68; 0.10; 9.76; 4.15 -19900613; 271979; 7.68; 0.15; 11.20; 4.17 -19900614; 289156; 8.16; 1.84; 11.04; 4.19 -19900615; 275127; 7.77; 0.52; 7.62; 4.21 -19900616; 239629; 6.77; 0.08; 6.44; 4.23 -19900617; 212142; 5.99; 0.00; 10.34; 4.25 -19900618; 220734; 6.23; 2.64; 12.31; 4.26 -19900619; 237625; 6.71; 0.01; 10.69; 4.28 -19900620; 218443; 6.17; 0.16; 10.63; 4.29 -19900621; 218443; 6.17; 0.33; 12.59; 4.31 -19900622; 225888; 6.38; 1.91; 13.66; 4.32 -19900623; 227318; 6.42; 0.26; 13.31; 4.34 -19900624; 224170; 6.33; 14.92; 12.57; 4.35 -19900625; 283146; 7.99; 26.80; 9.25; 4.36 -19900626; 243635; 6.88; 0.04; 9.84; 4.37 -19900627; 204988; 5.79; 0.24; 12.61; 4.38 -19900628; 197257; 5.57; 0.47; 15.62; 4.39 -19900629; 207850; 5.87; 0.74; 15.95; 4.40 -19900630; 200692; 5.67; 3.99; 14.17; 4.41 -19900701; 187808; 5.30; 1.29; 13.71; 4.42 -19900702; 176357; 4.98; 4.80; 13.43; 4.43 -19900703; 175784; 4.96; 12.18; 11.71; 4.43 -19900704; 187808; 5.30; 11.10; 11.26; 4.44 -19900705; 170344; 4.81; 0.44; 12.18; 4.45 -19900706; 150305; 4.24; 1.43; 14.29; 4.45 -19900707; 141716; 4.00; 2.91; 15.75; 4.45 -19900708; 144004; 4.07; 5.66; 15.28; 4.46 -19900709; 140285; 3.96; 2.17; 15.99; 4.46 -19900710; 128261; 3.62; 1.65; 14.72; 4.46 -19900711; 118239; 3.34; 0.00; 10.89; 4.46 -19900712; 104784; 2.96; 0.00; 11.78; 4.46 -19900713; 95908; 2.71; 0.00; 14.33; 4.46 -19900714; 89611; 2.53; 0.00; 16.62; 4.46 -19900715; 86176; 2.43; 4.04; 18.31; 4.46 -19900716; 87607; 2.47; 2.73; 15.67; 4.46 -19900717; 85028; 2.40; 0.75; 13.89; 4.45 -19900718; 76153; 2.15; 0.01; 12.43; 4.45 -19900719; 69282; 1.96; 0.00; 12.44; 4.44 -19900720; 64129; 1.81; 0.19; 13.21; 4.44 -19900721; 60407; 1.71; 0.01; 13.73; 4.43 -19900722; 56401; 1.59; 0.00; 15.74; 4.43 -19900723; 53249; 1.50; 0.00; 17.67; 4.42 -19900724; 50961; 1.44; 0.00; 18.53; 4.41 -19900725; 48096; 1.36; 0.00; 17.36; 4.40 -19900726; 45521; 1.29; 0.00; 18.07; 4.39 -19900727; 42943; 1.21; 0.27; 18.96; 4.38 -19900728; 42086; 1.19; 3.15; 15.79; 4.37 -19900729; 40081; 1.13; 0.14; 17.22; 4.36 -19900730; 38076; 1.08; 0.00; 16.61; 4.35 -19900731; 36646; 1.03; 0.00; 17.15; 4.34 -19900801; 34641; 0.98; 0.00; 16.62; 4.32 -19900802; 32923; 0.93; 0.00; 16.53; 4.31 -19900803; 30919; 0.87; 0.00; 17.05; 4.29 -19900804; 29488; 0.83; 0.00; 17.93; 4.28 -19900805; 28344; 0.80; 0.00; 19.73; 4.26 -19900806; 27257; 0.77; 0.00; 18.50; 4.25 -19900807; 26194; 0.74; 0.00; 17.65; 4.23 -19900808; 25135; 0.71; 0.00; 18.08; 4.21 -19900809; 24335; 0.69; 0.02; 18.94; 4.19 -19900810; 23304; 0.66; 0.05; 17.58; 4.17 -19900811; 22330; 0.63; 0.00; 15.84; 4.15 -19900812; 21586; 0.61; 4.99; 15.60; 4.13 -19900813; 25394; 0.72; 9.74; 11.90; 4.11 -19900814; 26998; 0.76; 0.92; 10.98; 4.09 -19900815; 25394; 0.72; 13.77; 13.76; 4.07 -19900816; 32923; 0.93; 7.81; 10.47; 4.04 -19900817; 35215; 0.99; 4.32; 7.46; 4.02 -19900818; 34928; 0.99; 0.25; 10.72; 4.00 -19900819; 29775; 0.84; 0.30; 11.89; 3.97 -19900820; 26194; 0.74; 0.96; 13.59; 3.95 -19900821; 24335; 0.69; 0.39; 13.32; 3.92 -19900822; 25911; 0.73; 17.28; 11.24; 3.90 -19900823; 33497; 0.95; 0.12; 11.34; 3.87 -19900824; 29775; 0.84; 0.00; 12.78; 3.84 -19900825; 25135; 0.71; 0.00; 12.25; 3.81 -19900826; 23074; 0.65; 0.30; 12.31; 3.79 -19900827; 22072; 0.62; 0.00; 11.06; 3.76 -19900828; 21101; 0.60; 0.00; 11.35; 3.73 -19900829; 20386; 0.58; 0.06; 12.81; 3.70 -19900830; 19440; 0.55; 0.92; 12.14; 3.67 -19900831; 19667; 0.56; 2.22; 13.22; 3.64 -19900901; 21586; 0.61; 4.04; 16.21; 3.61 -19900902; 20871; 0.59; 0.10; 16.87; 3.57 -19900903; 18980; 0.54; 0.05; 17.97; 3.54 -19900904; 17864; 0.50; 0.00; 17.59; 3.51 -19900905; 17436; 0.49; 1.91; 15.55; 3.48 -19900906; 18325; 0.52; 10.56; 15.24; 3.44 -19900907; 20612; 0.58; 17.32; 13.41; 3.41 -19900908; 28085; 0.79; 1.07; 10.66; 3.38 -19900909; 28344; 0.80; 0.00; 11.23; 3.34 -19900910; 23304; 0.66; 3.15; 10.82; 3.31 -19900911; 22560; 0.64; 3.34; 7.86; 3.27 -19900912; 25135; 0.71; 11.48; 7.32; 3.23 -19900913; 34928; 0.99; 0.00; 7.51; 3.20 -19900914; 29775; 0.84; 0.07; 9.67; 3.16 -19900915; 26453; 0.75; 0.41; 9.00; 3.13 -19900916; 24852; 0.70; 0.00; 6.35; 3.09 -19900917; 23821; 0.67; 1.12; 3.06; 3.05 -19900918; 23304; 0.66; 2.97; 3.32; 3.02 -19900919; 22560; 0.64; 0.92; 4.83; 2.98 -19900920; 21586; 0.61; 0.00; 5.73; 2.94 -19900921; 20871; 0.59; 0.00; 6.24; 2.90 -19900922; 20386; 0.58; 0.36; 6.41; 2.86 -19900923; 19667; 0.56; 0.00; 10.00; 2.82 -19900924; 18980; 0.54; 0.00; 12.57; 2.79 -19900925; 18325; 0.52; 0.00; 13.62; 2.75 -19900926; 17864; 0.50; 0.00; 15.14; 2.71 -19900927; 17205; 0.49; 0.00; 12.71; 2.67 -19900928; 17205; 0.49; 3.24; 9.29; 2.63 -19900929; 17864; 0.50; 0.00; 9.79; 2.59 -19900930; 17666; 0.50; 0.34; 9.07; 2.55 -19901001; 16890; 0.48; 0.41; 8.33; 2.51 -19901002; 16175; 0.46; 0.00; 5.86; 2.47 -19901003; 16033; 0.45; 0.00; 6.29; 2.43 -19901004; 15488; 0.44; 0.00; 6.45; 2.39 -19901005; 15261; 0.43; 0.00; 6.42; 2.35 -19901006; 15087; 0.43; 0.00; 6.95; 2.31 -19901007; 15116; 0.43; 0.00; 7.86; 2.26 -19901008; 14886; 0.42; 0.00; 8.94; 2.22 -19901009; 14457; 0.41; 0.00; 9.56; 2.18 -19901010; 14170; 0.40; 0.00; 7.97; 2.14 -19901011; 13887; 0.39; 0.00; 8.22; 2.10 -19901012; 13600; 0.38; 0.00; 4.90; 2.06 -19901013; 13313; 0.38; 0.00; 3.19; 2.02 -19901014; 13111; 0.37; 0.00; 5.17; 1.98 -19901015; 13026; 0.37; 0.00; 6.57; 1.94 -19901016; 12824; 0.36; 0.00; 6.48; 1.90 -19901017; 12654; 0.36; 0.00; 6.49; 1.86 -19901018; 12598; 0.36; 0.06; 6.77; 1.82 -19901019; 12396; 0.35; 0.00; 7.05; 1.77 -19901020; 12396; 0.35; 0.07; 6.86; 1.74 -19901021; 12396; 0.35; 2.04; 5.92; 1.69 -19901022; 12569; 0.35; 0.18; 2.06; 1.65 -19901023; 12396; 0.35; 0.02; 3.98; 1.61 -19901024; 12198; 0.34; 0.07; 5.37; 1.57 -19901025; 11854; 0.33; 0.00; 1.07; 1.53 -19901026; 12024; 0.34; 0.00; 1.73; 1.50 -19901027; 11539; 0.33; 0.01; 1.60; 1.46 -19901028; 11709; 0.33; 1.03; 3.68; 1.42 -19901029; 12768; 0.36; 7.56; 2.99; 1.38 -19901030; 14287; 0.40; 0.56; 0.24; 1.34 -19901031; 12768; 0.36; 0.00; -1.88; 1.30 -19901101; 11539; 0.33; 0.00; -1.15; 1.26 -19901102; 11709; 0.33; 0.25; 0.59; 1.22 -19901103; 13511; 0.38; 2.07; 2.12; 1.18 -19901104; 16518; 0.47; 5.23; 3.94; 1.15 -19901105; 16749; 0.47; 0.07; -1.97; 1.11 -19901106; 14085; 0.40; 0.00; -1.19; 1.07 -19901107; 12396; 0.35; 2.09; 2.06; 1.03 -19901108; 19727; 0.56; 33.07; 2.73; 1.00 -19901109; 32350; 0.91; 1.09; -3.67; 0.96 -19901110; 18264; 0.52; 0.06;-11.01; 0.93 -19901111; 10136; 0.29; 0.12;-12.68; 0.89 -19901112; 9506; 0.27; 0.63;-10.16; 0.86 -19901113; 12768; 0.36; 1.74; -7.50; 0.82 -19901114; 14886; 0.42; 0.00;-10.38; 0.79 -19901115; 12569; 0.35; 0.00; -9.52; 0.75 -19901116; 12198; 0.34; 3.03; -7.21; 0.72 -19901117; 14687; 0.41; 14.89; -2.48; 0.69 -19901118; 17177; 0.48; 19.33; -3.10; 0.65 -19901119; 14886; 0.42; 17.01;-10.28; 0.62 -19901120; 11854; 0.33; 0.46;-12.77; 0.59 -19901121; 12941; 0.37; 0.00;-11.87; 0.56 -19901122; 13140; 0.37; 0.78;-11.09; 0.53 -19901123; 13511; 0.38; 0.20; -7.68; 0.49 -19901124; 14687; 0.41; 1.44; -6.69; 0.46 -19901125; 14485; 0.41; 0.16; -5.53; 0.43 -19901126; 14287; 0.40; 0.36; -4.80; 0.41 -19901127; 14085; 0.40; 8.70; -8.15; 0.38 -19901128; 13887; 0.39; 18.33; -5.09; 0.35 -19901129; 13685; 0.39; 2.86; -4.63; 0.32 -19901130; 14886; 0.42; 20.68; -3.69; 0.29 -19901201; 16749; 0.47; 15.03; -2.66; 0.27 -19901202; 15289; 0.43; 3.74; -5.54; 0.24 -19901203; 14287; 0.40; 8.56; -4.85; 0.21 -19901204; 18264; 0.52; 28.85; -2.16; 0.19 -19901205; 18753; 0.53; 2.55; -7.04; 0.17 -19901206; 14687; 0.41; 0.46;-10.33; 0.14 -19901207; 11854; 0.33; 0.00;-12.30; 0.12 -19901208; 11167; 0.32; 2.16;-12.64; 0.10 -19901209; 12452; 0.35; 9.57;-10.45; 0.07 -19901210; 15172; 0.43; 1.27; -7.20; 0.05 -19901211; 16890; 0.48; 25.32; -4.15; 0.03 -19901212; 17035; 0.48; 1.56; -4.11; 0.01 -19901213; 14886; 0.42; 0.00;-11.22; 0.00 -19901214; 13168; 0.37; 6.97; -8.49; 0.00 -19901215; 12885; 0.36; 3.57; -6.02; 0.00 -19901216; 13026; 0.37; 0.22; -9.62; 0.00 -19901217; 13455; 0.38; 0.79; -9.56; 0.00 -19901218; 14170; 0.40; 6.14; -8.51; 0.00 -19901219; 14744; 0.42; 1.04; -6.63; 0.00 -19901220; 14886; 0.42; 3.75; -4.67; 0.00 -19901221; 14457; 0.41; 8.72; -2.84; 0.00 -19901222; 14029; 0.40; 10.32; -1.78; 0.00 -19901223; 13600; 0.38; 5.12; -4.07; 0.00 -19901224; 13600; 0.38; 17.09; -1.97; 0.00 -19901225; 13455; 0.38; 0.10; -5.71; 0.00 -19901226; 12885; 0.36; 0.23;-10.29; 0.00 -19901227; 12169; 0.34; 4.78; -9.06; 0.00 -19901228; 11309; 0.32; 1.68;-12.62; 0.00 -19901229; 10593; 0.30; 0.03;-12.68; 0.00 -19901230; 9591; 0.27; 0.00;-12.10; 0.00 -19901231; 9162; 0.26; 0.75;-12.32; 0.00 -19910101; 9304; 0.26; 0.00;-10.46; 0.00 -19910102; 10165; 0.29; 0.88;-10.68; 0.00 -19910103; 12739; 0.36; 0.22;-12.75; 0.00 -19910104; 13887; 0.39; 1.52;-11.80; 0.00 -19910105; 14029; 0.40; 0.05;-10.34; 0.00 -19910106; 12885; 0.36; 0.00;-10.18; 0.00 -19910107; 12739; 0.36; 0.00;-10.42; 0.00 -19910108; 13313; 0.38; 0.00;-11.12; 0.00 -19910109; 14315; 0.40; 1.66;-10.26; 0.00 -19910110; 15031; 0.42; 18.66; -9.06; 0.00 -19910111; 16320; 0.46; 15.64; -6.39; 0.00 -19910112; 16462; 0.46; 8.41; -5.01; 0.00 -19910113; 16033; 0.45; 3.70; -4.86; 0.00 -19910114; 15459; 0.44; 8.28; -9.38; 0.00 -19910115; 15172; 0.43; 12.97; -8.35; 0.00 -19910116; 14744; 0.42; 0.07; -9.18; 0.00 -19910117; 14457; 0.41; 0.00; -9.72; 0.00 -19910118; 14315; 0.40; 0.00;-10.28; 0.00 -19910119; 14315; 0.40; 2.14; -8.94; 0.00 -19910120; 14315; 0.40; 3.77; -5.29; 0.00 -19910121; 14886; 0.42; 14.49; -2.76; 0.00 -19910122; 14744; 0.42; 0.46; -6.38; 0.00 -19910123; 14170; 0.40; 0.20;-10.55; 0.00 -19910124; 14457; 0.41; 4.76;-10.14; 0.00 -19910125; 14170; 0.40; 0.20; -9.84; 0.00 -19910126; 14170; 0.40; 1.05;-10.19; 0.00 -19910127; 14029; 0.40; 4.42;-10.80; 0.00 -19910128; 13887; 0.39; 1.73; -9.75; 0.00 -19910129; 13742; 0.39; 0.05;-10.50; 0.00 -19910130; 13026; 0.37; 0.00; -9.62; 0.00 -19910131; 12885; 0.36; 0.14; -9.94; 0.00 -19910201; 12598; 0.36; 1.21;-12.77; 0.00 -19910202; 12598; 0.36; 0.92;-12.07; 0.00 -19910203; 12885; 0.36; 10.59;-11.60; 0.00 -19910204; 13168; 0.37; 2.55; -8.48; 0.00 -19910205; 13600; 0.38; 9.48; -3.46; 0.00 -19910206; 14315; 0.40; 3.98; -3.20; 0.00 -19910207; 15172; 0.43; 28.66; -2.05; 0.00 -19910208; 16033; 0.45; 2.90; -6.97; 0.00 -19910209; 16462; 0.46; 0.43; -3.97; 0.01 -19910210; 16603; 0.47; 16.29; -0.52; 0.03 -19910211; 18179; 0.51; 6.75; 0.16; 0.05 -19910212; 21186; 0.60; 14.93; 0.62; 0.07 -19910213; 30632; 0.86; 33.55; 0.89; 0.10 -19910214; 34354; 0.97; 17.17; -1.39; 0.12 -19910215; 28631; 0.81; 1.88; -5.04; 0.14 -19910216; 23191; 0.65; 4.48; -6.46; 0.17 -19910217; 21473; 0.61; 5.86; -2.76; 0.19 -19910218; 19755; 0.56; 3.47; -0.87; 0.22 -19910219; 19040; 0.54; 3.68; -1.35; 0.24 -19910220; 18038; 0.51; 1.22; -3.67; 0.27 -19910221; 17322; 0.49; 4.86; -4.00; 0.29 -19910222; 16603; 0.47; 0.21; -4.10; 0.32 -19910223; 16603; 0.47; 2.95; -5.68; 0.35 -19910224; 17177; 0.48; 4.16; -3.26; 0.38 -19910225; 19182; 0.54; 0.21; -0.08; 0.41 -19910226; 20899; 0.59; 2.30; 0.18; 0.44 -19910227; 21186; 0.60; 3.47; 0.10; 0.47 -19910228; 19755; 0.56; 10.63; -1.68; 0.50 -19910301; 18038; 0.51; 1.33; -4.53; 0.53 -19910302; 17322; 0.49; 0.20; -4.41; 0.56 -19910303; 17177; 0.48; 0.71; -5.28; 0.59 -19910304; 18038; 0.51; 1.85; -3.23; 0.62 -19910305; 21501; 0.61; 6.78; 1.30; 0.66 -19910306; 36932; 1.04; 2.58; 1.79; 0.69 -19910307; 64990; 1.83; 13.44; 2.05; 0.72 -19910308; 78444; 2.21; 1.92; -0.42; 0.75 -19910309; 64703; 1.83; 2.30; -1.69; 0.79 -19910310; 54970; 1.55; 0.00; 0.20; 0.82 -19910311; 51818; 1.46; 0.00; 1.43; 0.86 -19910312; 53823; 1.52; 0.46; 1.51; 0.89 -19910313; 56401; 1.59; 0.00; 0.64; 0.93 -19910314; 55540; 1.57; 0.00; 1.68; 0.96 -19910315; 57832; 1.63; 0.00; 2.89; 1.00 -19910316; 64990; 1.83; 10.78; 1.91; 1.04 -19910317; 65560; 1.85; 1.25; 1.22; 1.07 -19910318; 59550; 1.68; 0.11; 1.87; 1.11 -19910319; 56401; 1.59; 0.16; 1.89; 1.15 -19910320; 55827; 1.58; 0.17; 1.00; 1.19 -19910321; 56688; 1.60; 0.00; 1.83; 1.23 -19910322; 58406; 1.65; 0.00; 2.31; 1.26 -19910323; 60407; 1.71; 0.00; 2.09; 1.30 -19910324; 62985; 1.78; 0.00; 3.34; 1.34 -19910325; 68995; 1.95; 0.00; 3.54; 1.38 -19910326; 67564; 1.91; 4.55; 0.47; 1.42 -19910327; 66707; 1.88; 16.25; -0.34; 1.46 -19910328; 77014; 2.17; 17.16; -1.39; 1.50 -19910329; 80449; 2.27; 2.40; -0.04; 1.54 -19910330; 73291; 2.07; 6.11; -0.54; 1.58 -19910331; 67564; 1.91; 3.60; -1.21; 1.62 -19910401; 61267; 1.73; 2.45; -2.70; 1.66 -19910402; 56401; 1.59; 5.18; -2.66; 1.70 -19910403; 52392; 1.48; 1.24; -2.00; 1.74 -19910404; 50387; 1.42; 6.10; 0.88; 1.78 -19910405; 51248; 1.45; 0.15; 5.06; 1.82 -19910406; 60694; 1.71; 6.76; 3.97; 1.86 -19910407; 75583; 2.13; 2.15; 3.43; 1.90 -19910408; 81593; 2.30; 0.08; 3.58; 1.94 -19910409; 85889; 2.43; 21.66; 2.32; 1.98 -19910410; 89037; 2.51; 1.68; -0.30; 2.02 -19910411; 82454; 2.33; 1.48; -1.49; 2.06 -19910412; 74435; 2.10; 2.09; 1.19; 2.10 -19910413; 74435; 2.10; 7.75; 2.38; 2.14 -19910414; 71000; 2.00; 0.11; 2.37; 2.18 -19910415; 71287; 2.01; 1.31; 4.60; 2.23 -19910416; 74152; 2.09; 2.12; 6.87; 2.27 -19910417; 90181; 2.55; 6.39; 6.36; 2.31 -19910418; 117668; 3.32; 1.75; 2.23; 2.35 -19910419; 99057; 2.80; 0.49; 1.34; 2.39 -19910420; 89611; 2.53; 1.66; 2.23; 2.43 -19910421; 84741; 2.39; 0.08; 2.78; 2.47 -19910422; 87320; 2.47; 10.91; 4.01; 2.51 -19910423; 95908; 2.71; 6.92; 3.93; 2.55 -19910424; 109650; 3.10; 6.85; 4.54; 2.59 -19910425; 115664; 3.27; 1.24; 5.23; 2.63 -19910426; 123679; 3.49; 0.34; 6.12; 2.67 -19910427; 141716; 4.00; 0.00; 7.45; 2.71 -19910428; 171204; 4.83; 0.08; 8.27; 2.75 -19910429; 204701; 5.78; 0.33; 8.12; 2.79 -19910430; 236194; 6.67; 2.99; 8.20; 2.83 -19910501; 259098; 7.32; 1.78; 6.86; 2.87 -19910502; 265395; 7.49; 2.04; 7.33; 2.90 -19910503; 262533; 7.41; 0.43; 7.40; 2.94 -19910504; 283146; 7.99; 12.93; 7.71; 2.98 -19910505; 386499; 10.91; 11.86; 6.41; 3.02 -19910506; 409399; 11.56; 10.59; 4.33; 3.06 -19910507; 323514; 9.13; 4.80; 3.15; 3.09 -19910508; 275414; 7.78; 3.54; 3.54; 3.13 -19910509; 237625; 6.71; 2.16; 4.28; 3.16 -19910510; 215294; 6.08; 0.44; 5.16; 3.20 -19910511; 208137; 5.88; 0.00; 6.70; 3.24 -19910512; 213290; 6.02; 0.00; 6.58; 3.27 -19910513; 226745; 6.40; 0.00; 9.06; 3.31 -19910514; 263964; 7.45; 0.00; 9.16; 3.34 -19910515; 306333; 8.65; 0.59; 12.04; 3.38 -19910516; 406537; 11.48; 0.37; 10.94; 3.41 -19910517; 395087; 11.16; 0.00; 7.90; 3.44 -19910518; 372183; 10.51; 0.00; 8.66; 3.48 -19910519; 352141; 9.94; 0.00; 8.39; 3.51 -19910520; 357868; 10.10; 0.00; 9.91; 3.54 -19910521; 377906; 10.67; 0.00; 10.72; 3.58 -19910522; 423714; 11.96; 0.38; 12.75; 3.61 -19910523; 472384; 13.34; 5.21; 13.76; 3.64 -19910524; 555411; 15.68; 4.91; 12.49; 3.67 -19910525; 492426; 13.90; 0.04; 12.08; 3.70 -19910526; 489565; 13.82; 0.07; 13.81; 3.73 -19910527; 506742; 14.31; 0.19; 11.57; 3.76 -19910528; 412264; 11.64; 0.72; 5.35; 3.79 -19910529; 314925; 8.89; 0.83; 3.83; 3.81 -19910530; 261099; 7.37; 1.57; 4.29; 3.84 -19910531; 238198; 6.73; 0.07; 8.25; 3.87 -19910601; 230467; 6.51; 0.13; 9.07; 3.90 -19910602; 232471; 6.56; 0.00; 12.22; 3.92 -19910603; 269404; 7.61; 0.00; 13.66; 3.95 -19910604; 320648; 9.05; 0.00; 12.96; 3.97 -19910605; 323514; 9.13; 0.71; 11.41; 4.00 -19910606; 297744; 8.41; 1.79; 7.63; 4.02 -19910607; 244782; 6.91; 3.25; 5.83; 4.04 -19910608; 214721; 6.06; 0.48; 6.74; 4.07 -19910609; 199835; 5.64; 0.00; 10.15; 4.09 -19910610; 209568; 5.92; 0.00; 13.56; 4.11 -19910611; 233329; 6.59; 0.00; 15.51; 4.13 -19910612; 259668; 7.33; 0.00; 15.88; 4.15 -19910613; 269404; 7.61; 0.00; 14.07; 4.17 -19910614; 243922; 6.89; 0.00; 10.50; 4.19 -19910615; 208994; 5.90; 0.00; 9.06; 4.21 -19910616; 189525; 5.35; 0.29; 10.29; 4.23 -19910617; 181797; 5.13; 16.19; 9.18; 4.25 -19910618; 184659; 5.21; 6.91; 6.60; 4.26 -19910619; 166625; 4.70; 0.75; 8.44; 4.28 -19910620; 149444; 4.22; 0.74; 9.67; 4.29 -19910621; 147156; 4.16; 3.01; 11.51; 4.31 -19910622; 145152; 4.10; 0.04; 11.86; 4.32 -19910623; 139712; 3.94; 0.00; 12.18; 4.34 -19910624; 133698; 3.77; 0.00; 14.01; 4.35 -19910625; 130262; 3.68; 0.02; 15.69; 4.36 -19910626; 129692; 3.66; 1.32; 16.99; 4.37 -19910627; 122248; 3.45; 0.67; 17.25; 4.38 -19910628; 113372; 3.20; 0.00; 16.49; 4.39 -19910629; 101635; 2.87; 0.47; 17.14; 4.40 -19910630; 94478; 2.67; 0.74; 14.17; 4.41 -19910701; 88177; 2.49; 5.73; 9.43; 4.42 -19910702; 85889; 2.43; 0.03; 8.31; 4.43 -19910703; 74722; 2.11; 1.10; 11.55; 4.43 -19910704; 69856; 1.97; 0.34; 15.28; 4.44 -19910705; 67564; 1.91; 0.56; 16.98; 4.45 -19910706; 64990; 1.83; 0.08; 16.16; 4.45 -19910707; 62411; 1.76; 1.45; 16.51; 4.45 -19910708; 57832; 1.63; 0.00; 16.93; 4.46 -19910709; 53823; 1.52; 0.00; 16.87; 4.46 -19910710; 49814; 1.41; 0.00; 16.43; 4.46 -19910711; 47239; 1.33; 0.00; 13.91; 4.46 -19910712; 44660; 1.26; 0.00; 11.85; 4.46 -19910713; 42086; 1.19; 0.00; 11.25; 4.46 -19910714; 39794; 1.12; 0.00; 11.95; 4.46 -19910715; 37790; 1.07; 0.00; 13.94; 4.46 -19910716; 35502; 1.00; 0.00; 17.46; 4.46 -19910717; 33784; 0.95; 0.00; 18.90; 4.45 -19910718; 32066; 0.91; 0.00; 19.28; 4.45 -19910719; 30632; 0.86; 0.03; 19.91; 4.44 -19910720; 28914; 0.82; 0.31; 20.93; 4.44 -19910721; 27770; 0.78; 0.39; 19.41; 4.43 -19910722; 26913; 0.76; 1.08; 19.23; 4.43 -19910723; 26626; 0.75; 0.13; 16.53; 4.42 -19910724; 24678; 0.70; 0.13; 16.36; 4.41 -19910725; 23304; 0.66; 0.00; 16.59; 4.40 -19910726; 22274; 0.63; 0.09; 16.17; 4.39 -19910727; 21243; 0.60; 0.15; 16.98; 4.38 -19910728; 20729; 0.59; 3.69; 16.02; 4.37 -19910729; 22274; 0.63; 0.00; 16.10; 4.36 -19910730; 20729; 0.59; 0.00; 15.58; 4.35 -19910731; 19012; 0.54; 0.00; 16.42; 4.34 -19910801; 18038; 0.51; 0.00; 16.74; 4.32 -19910802; 17379; 0.49; 0.00; 16.29; 4.31 -19910803; 16749; 0.47; 0.00; 16.19; 4.29 -19910804; 16090; 0.45; 0.00; 17.10; 4.28 -19910805; 15690; 0.44; 0.00; 17.23; 4.26 -19910806; 15087; 0.43; 0.00; 15.24; 4.25 -19910807; 14687; 0.41; 0.00; 16.41; 4.23 -19910808; 14485; 0.41; 0.00; 16.42; 4.21 -19910809; 14085; 0.40; 0.00; 16.49; 4.19 -19910810; 13685; 0.39; 0.00; 16.93; 4.17 -19910811; 13313; 0.38; 0.00; 17.76; 4.15 -19910812; 12768; 0.36; 0.08; 17.38; 4.13 -19910813; 12941; 0.37; 6.91; 14.69; 4.11 -19910814; 14287; 0.40; 0.28; 15.83; 4.09 -19910815; 15289; 0.43; 8.15; 15.44; 4.07 -19910816; 15087; 0.43; 0.45; 15.37; 4.04 -19910817; 14485; 0.41; 0.88; 16.72; 4.02 -19910818; 14085; 0.40; 1.27; 16.73; 4.00 -19910819; 14085; 0.40; 3.05; 16.52; 3.97 -19910820; 14485; 0.41; 0.28; 15.88; 3.95 -19910821; 13685; 0.39; 7.09; 15.08; 3.92 -19910822; 14287; 0.40; 0.00; 15.37; 3.90 -19910823; 14485; 0.41; 4.09; 16.51; 3.87 -19910824; 20729; 0.59; 0.57; 15.87; 3.84 -19910825; 15087; 0.43; 0.00; 14.45; 3.81 -19910826; 13140; 0.37; 2.78; 14.24; 3.79 -19910827; 13140; 0.37; 2.15; 13.18; 3.76 -19910828; 14085; 0.40; 0.33; 13.33; 3.73 -19910829; 12569; 0.35; 1.83; 15.84; 3.70 -19910830; 12768; 0.36; 7.03; 16.14; 3.67 -19910831; 24678; 0.70; 12.86; 13.20; 3.64 -19910901; 27483; 0.78; 0.20; 12.52; 3.61 -19910902; 18523; 0.52; 0.48; 15.11; 3.57 -19910903; 15289; 0.43; 1.60; 14.85; 3.54 -19910904; 14485; 0.41; 0.19; 10.99; 3.51 -19910905; 13140; 0.37; 0.00; 11.43; 3.48 -19910906; 12396; 0.35; 0.00; 13.91; 3.44 -19910907; 11854; 0.33; 0.00; 15.85; 3.41 -19910908; 11394; 0.32; 0.13; 16.03; 3.38 -19910909; 10908; 0.31; 0.55; 14.38; 3.34 -19910910; 10763; 0.30; 0.05; 10.35; 3.31 -19910911; 10451; 0.30; 0.00; 8.34; 3.27 -19910912; 10451; 0.30; 0.00; 9.29; 3.23 -19910913; 10278; 0.29; 0.00; 10.58; 3.20 -19910914; 9963; 0.28; 0.00; 12.51; 3.16 -19910915; 9647; 0.27; 0.00; 14.14; 3.13 -19910916; 9647; 0.27; 0.00; 14.21; 3.09 -19910917; 9332; 0.26; 0.00; 13.49; 3.05 -19910918; 9191; 0.26; 0.00; 13.89; 3.02 -19910919; 8875; 0.25; 0.00; 13.33; 2.98 -19910920; 8730; 0.25; 0.00; 14.14; 2.94 -19910921; 8589; 0.24; 0.00; 14.25; 2.90 -19910922; 8475; 0.24; 0.00; 12.74; 2.86 -19910923; 8475; 0.24; 0.00; 11.89; 2.82 -19910924; 8475; 0.24; 0.00; 11.59; 2.79 -19910925; 8330; 0.24; 0.24; 9.97; 2.75 -19910926; 8589; 0.24; 1.32; 11.61; 2.71 -19910927; 8875; 0.25; 0.00; 12.32; 2.67 -19910928; 8730; 0.25; 0.00; 11.20; 2.63 -19910929; 8475; 0.24; 0.00; 9.88; 2.59 -19910930; 8330; 0.24; 0.00; 9.31; 2.55 -19911001; 8188; 0.23; 0.00; 8.19; 2.51 -19911002; 8330; 0.24; 0.00; 8.94; 2.47 -19911003; 8188; 0.23; 0.00; 8.10; 2.43 -19911004; 8043; 0.23; 0.22; 9.73; 2.39 -19911005; 7901; 0.22; 0.00; 11.11; 2.35 -19911006; 7901; 0.22; 0.00; 11.30; 2.31 -19911007; 7901; 0.22; 0.00; 11.24; 2.26 -19911008; 7873; 0.22; 0.00; 8.68; 2.22 -19911009; 7845; 0.22; 0.00; 6.39; 2.18 -19911010; 7788; 0.22; 0.00; 7.78; 2.14 -19911011; 7845; 0.22; 0.00; 9.64; 2.10 -19911012; 7901; 0.22; 0.00; 9.49; 2.06 -19911013; 7845; 0.22; 0.00; 9.58; 2.02 -19911014; 7788; 0.22; 0.43; 9.78; 1.98 -19911015; 8160; 0.23; 12.63; 8.04; 1.94 -19911016; 9449; 0.27; 0.22; 7.45; 1.90 -19911017; 11450; 0.32; 5.57; 6.54; 1.86 -19911018; 11394; 0.32; 16.04; 1.34; 1.82 -19911019; 20758; 0.59; 26.24; 2.63; 1.77 -19911020; 22015; 0.62; 5.57; 2.13; 1.74 -19911021; 17205; 0.49; 2.39; 1.68; 1.69 -19911022; 14085; 0.40; 3.86; 1.11; 1.65 -19911023; 14886; 0.42; 2.44; 3.66; 1.61 -19911024; 15690; 0.44; 2.33; 4.83; 1.57 -19911025; 16118; 0.46; 7.45; 5.30; 1.53 -19911026; 24678; 0.70; 2.05; 4.70; 1.50 -19911027; 21243; 0.60; 2.77; 1.94; 1.46 -19911028; 18353; 0.52; 1.58; 1.41; 1.42 -19911029; 17205; 0.49; 1.88; 1.51; 1.38 -19911030; 15087; 0.43; 0.12; 0.06; 1.34 -19911031; 13685; 0.39; 0.06; -0.82; 1.30 -19911101; 12569; 0.35; 0.00; -1.33; 1.26 -19911102; 11709; 0.33; 0.00; -2.89; 1.22 -19911103; 11224; 0.32; 0.28; -0.08; 1.18 -19911104; 11854; 0.33; 1.51; -0.67; 1.15 -19911105; 12198; 0.34; 0.59; 0.01; 1.11 -19911106; 11854; 0.33; 1.15; 1.08; 1.07 -19911107; 11394; 0.32; 0.00; -0.25; 1.03 -19911108; 10908; 0.31; 0.00; -1.62; 1.00 -19911109; 10278; 0.29; 0.00; -2.59; 0.96 -19911110; 10451; 0.30; 1.29; -1.54; 0.93 -19911111; 10420; 0.29; 0.04; -2.26; 0.89 -19911112; 9963; 0.28; 0.00; -3.42; 0.86 -19911113; 8447; 0.24; 0.00; -4.56; 0.82 -19911114; 6584; 0.19; 0.00; -4.61; 0.79 -19911115; 7271; 0.21; 0.00; -4.42; 0.75 -19911116; 8447; 0.24; 0.06; -5.19; 0.72 -19911117; 12711; 0.36; 12.34; -2.60; 0.69 -19911118; 19497; 0.55; 9.64; -2.85; 0.65 -19911119; 15661; 0.44; 2.25; -4.45; 0.62 -19911120; 12481; 0.35; 0.07; -6.21; 0.59 -19911121; 9676; 0.27; 0.00; -7.98; 0.56 -19911122; 8419; 0.24; 1.61; -8.47; 0.53 -19911123; 8932; 0.25; 7.16; -5.87; 0.49 -19911124; 12052; 0.34; 11.30; -6.83; 0.46 -19911125; 11826; 0.33; 4.97; -5.50; 0.43 -19911126; 10593; 0.30; 0.32; -9.57; 0.41 -19911127; 10136; 0.29; 3.78; -7.37; 0.38 -19911128; 7501; 0.21; 0.04;-12.03; 0.35 -19911129; 6014; 0.17; 0.00;-12.66; 0.32 -19911130; 6584; 0.19; 1.07;-11.89; 0.29 -19911201; 10335; 0.29; 0.22; -7.06; 0.27 -19911202; 16979; 0.48; 18.37; -2.05; 0.24 -19911203; 26283; 0.74; 8.34; 1.42; 0.21 -19911204; 34354; 0.97; 31.28; 2.68; 0.19 -19911205; 39794; 1.12; 0.96; 0.40; 0.17 -19911206; 26970; 0.76; 3.17; 0.88; 0.14 -19911207; 27884; 0.79; 2.81; 1.19; 0.12 -19911208; 25252; 0.71; 0.36; 2.05; 0.10 -19911209; 23248; 0.66; 0.64; 1.99; 0.07 -19911210; 29775; 0.84; 18.63; -1.38; 0.05 -19911211; 24735; 0.70; 2.14; -7.50; 0.03 -19911212; 21902; 0.62; 10.52; -5.14; 0.01 -19911213; 19897; 0.56; 2.20; -4.08; 0.00 -19911214; 18636; 0.53; 0.57; -0.87; 0.00 -19911215; 19667; 0.56; 20.72; -1.73; 0.00 -19911216; 20928; 0.59; 0.66; -4.66; 0.00 -19911217; 20414; 0.58; 4.18; -2.97; 0.00 -19911218; 24994; 0.71; 0.41; 0.24; 0.00 -19911219; 22504; 0.64; 1.18; -3.10; 0.00 -19911220; 20698; 0.58; 0.75; -1.30; 0.00 -19911221; 19727; 0.56; 1.30; -1.40; 0.00 -19911222; 20042; 0.57; 5.35; -2.47; 0.00 -19911223; 17577; 0.50; 0.04; -5.99; 0.00 -19911224; 16890; 0.48; 0.05; -3.00; 0.00 -19911225; 17351; 0.49; 9.39; -1.56; 0.00 -19911226; 17921; 0.51; 0.07; -1.75; 0.00 -19911227; 16720; 0.47; 0.00; -4.09; 0.00 -19911228; 14918; 0.42; 0.00; -5.23; 0.00 -19911229; 13511; 0.38; 0.00; -7.66; 0.00 -19911230; 12654; 0.36; 1.34; -7.46; 0.00 -19911231; 12913; 0.36; 5.15; -6.68; 0.00 -19920101; 15374; 0.43; 10.67; -2.49; 0.00 -19920102; 16320; 0.46; 0.46; -2.24; 0.00 -19920103; 16890; 0.48; 6.10; -2.41; 0.00 -19920104; 15002; 0.42; 7.64; -6.57; 0.00 -19920105; 17007; 0.48; 31.96; -3.72; 0.00 -19920106; 15261; 0.43; 3.95; -9.58; 0.00 -19920107; 14514; 0.41; 1.58;-11.07; 0.00 -19920108; 13685; 0.39; 20.42;-12.18; 0.00 -19920109; 12683; 0.36; 16.40;-11.20; 0.00 -19920110; 12024; 0.34; 10.03; -9.49; 0.00 -19920111; 11737; 0.33; 5.63; -9.20; 0.00 -19920112; 15059; 0.43; 40.86; -2.40; 0.00 -19920113; 30632; 0.86; 17.26; 0.91; 0.00 -19920114; 38076; 1.08; 14.36; 2.03; 0.00 -19920115; 44660; 1.26; 1.70; -0.59; 0.00 -19920116; 35785; 1.01; 3.28; -2.57; 0.00 -19920117; 30919; 0.87; 3.17; -1.39; 0.00 -19920118; 26881; 0.76; 1.08; -4.35; 0.00 -19920119; 20641; 0.58; 0.00; -8.83; 0.00 -19920120; 18636; 0.53; 0.52; -9.44; 0.00 -19920121; 22330; 0.63; 0.00; -6.35; 0.00 -19920122; 20269; 0.57; 0.24; -8.04; 0.00 -19920123; 19925; 0.56; 0.24; -4.08; 0.00 -19920124; 19755; 0.56; 0.65; -0.83; 0.00 -19920125; 18923; 0.53; 1.55; -4.63; 0.00 -19920126; 12970; 0.37; 0.00;-12.21; 0.00 -19920127; 10823; 0.31; 0.04;-13.19; 0.00 -19920128; 9591; 0.27; 0.00;-10.55; 0.00 -19920129; 9732; 0.27; 0.00;-10.73; 0.00 -19920130; 10880; 0.31; 0.06;-10.11; 0.00 -19920131; 13742; 0.39; 0.19; -9.15; 0.00 -19920201; 18895; 0.53; 11.05; -7.77; 0.00 -19920202; 24193; 0.68; 4.41; -2.51; 0.00 -19920203; 29201; 0.82; 17.06; -0.22; 0.00 -19920204; 33210; 0.94; 3.08; -0.61; 0.00 -19920205; 27629; 0.78; 0.36; -4.60; 0.00 -19920206; 24852; 0.70; 3.84; -3.12; 0.00 -19920207; 22560; 0.64; 2.62; -1.12; 0.00 -19920208; 20584; 0.58; 0.00; -1.42; 0.00 -19920209; 18781; 0.53; 0.00; -3.84; 0.01 -19920210; 18353; 0.52; 0.00; -4.58; 0.03 -19920211; 17836; 0.50; 0.00; -4.46; 0.05 -19920212; 17549; 0.50; 4.18; -4.31; 0.07 -19920213; 17177; 0.48; 16.20; -7.33; 0.10 -19920214; 16292; 0.46; 2.03;-12.45; 0.12 -19920215; 15633; 0.44; 1.23;-10.96; 0.14 -19920216; 15516; 0.44; 0.00; -8.12; 0.17 -19920217; 16635; 0.47; 1.79; -6.19; 0.19 -19920218; 19554; 0.55; 9.24; 0.09; 0.22 -19920219; 27972; 0.79; 11.40; 2.18; 0.24 -19920220; 36072; 1.02; 8.46; 1.32; 0.27 -19920221; 38650; 1.09; 2.93; -0.64; 0.29 -19920222; 35502; 1.00; 2.06; -0.41; 0.32 -19920223; 32636; 0.92; 0.72; -0.47; 0.35 -19920224; 30349; 0.86; 0.00; -2.06; 0.38 -19920225; 28602; 0.81; 0.00; -0.44; 0.41 -19920226; 28602; 0.81; 0.27; 1.28; 0.44 -19920227; 30632; 0.86; 2.68; 3.34; 0.47 -19920228; 38363; 1.08; 6.77; 1.20; 0.50 -19920229; 46095; 1.30; 0.00; 2.26; 0.53 -19920301; 44377; 1.25; 0.00; 1.42; 0.56 -19920302; 42659; 1.20; 1.28; -0.46; 0.59 -19920303; 41512; 1.17; 6.80; -0.24; 0.62 -19920304; 50961; 1.44; 26.29; -4.47; 0.66 -19920305; 47526; 1.34; 13.63; -6.84; 0.69 -19920306; 42659; 1.20; 0.00; -6.25; 0.72 -19920307; 40655; 1.15; 1.46; -4.05; 0.75 -19920308; 38650; 1.09; 5.02; -2.69; 0.79 -19920309; 36359; 1.03; 2.02; -0.20; 0.82 -19920310; 35785; 1.01; 0.00; 2.52; 0.86 -19920311; 38076; 1.08; 6.79; 0.79; 0.89 -19920312; 36932; 1.04; 1.17; -1.61; 0.93 -19920313; 35215; 0.99; 8.22; -0.60; 0.96 -19920314; 35502; 1.00; 18.74; 1.14; 1.00 -19920315; 35215; 0.99; 5.39; -3.44; 1.04 -19920316; 33210; 0.94; 0.65; -3.36; 1.07 -19920317; 31492; 0.89; 4.44; -2.47; 1.11 -19920318; 31492; 0.89; 0.80; -0.69; 1.15 -19920319; 31206; 0.88; 2.61; 0.90; 1.19 -19920320; 30062; 0.85; 0.06; 0.68; 1.23 -19920321; 30062; 0.85; 1.80; 1.02; 1.26 -19920322; 29775; 0.84; 0.29; 0.77; 1.30 -19920323; 29775; 0.84; 0.66; -0.04; 1.34 -19920324; 28631; 0.81; 2.22; -1.99; 1.38 -19920325; 27140; 0.77; 0.07; -2.54; 1.42 -19920326; 26570; 0.75; 0.60; -2.41; 1.46 -19920327; 26998; 0.76; 1.28; -0.78; 1.50 -19920328; 26081; 0.74; 0.05; -0.16; 1.54 -19920329; 25624; 0.72; 7.57; 1.77; 1.58 -19920330; 26881; 0.76; 6.64; -1.99; 1.62 -19920331; 25450; 0.72; 0.52; -2.57; 1.66 -19920401; 24792; 0.70; 1.54; -2.19; 1.70 -19920402; 24763; 0.70; 0.40; -0.30; 1.74 -19920403; 25252; 0.71; 0.37; 0.51; 1.78 -19920404; 26311; 0.74; 0.19; 1.81; 1.82 -19920405; 28631; 0.81; 5.25; 3.84; 1.86 -19920406; 36646; 1.03; 11.73; 1.43; 1.90 -19920407; 36359; 1.03; 0.21; -0.39; 1.94 -19920408; 33497; 0.95; 0.46; 0.23; 1.98 -19920409; 35215; 0.99; 10.99; 1.06; 2.02 -19920410; 41225; 1.16; 4.89; 0.87; 2.06 -19920411; 40942; 1.16; 0.84; 2.84; 2.10 -19920412; 44090; 1.24; 0.00; 4.32; 2.14 -19920413; 50387; 1.42; 0.08; 7.16; 2.18 -19920414; 65276; 1.84; 3.76; 7.18; 2.23 -19920415; 86459; 2.44; 0.41; 6.16; 2.27 -19920416; 88464; 2.50; 0.10; 6.28; 2.31 -19920417; 98770; 2.79; 0.00; 9.22; 2.35 -19920418; 127975; 3.61; 0.00; 9.91; 2.39 -19920419; 160898; 4.54; 0.00; 10.24; 2.43 -19920420; 194678; 5.50; 0.22; 11.14; 2.47 -19920421; 227889; 6.43; 0.00; 9.03; 2.51 -19920422; 244495; 6.90; 0.00; 10.49; 2.55 -19920423; 273983; 7.74; 3.79; 9.98; 2.59 -19920424; 334964; 9.46; 8.37; 8.16; 2.63 -19920425; 294883; 8.33; 0.00; 8.62; 2.67 -19920426; 294883; 8.33; 0.16; 10.63; 2.71 -19920427; 332102; 9.38; 0.04; 11.87; 2.75 -19920428; 372183; 10.51; 2.95; 12.54; 2.79 -19920429; 406537; 11.48; 14.48; 8.15; 2.83 -19920430; 320648; 9.05; 2.57; 5.32; 2.87 -19920501; 281141; 7.94; 0.96; 8.86; 2.90 -19920502; 317787; 8.97; 4.43; 11.08; 2.94 -19920503; 372183; 10.51; 0.39; 12.32; 2.98 -19920504; 380772; 10.75; 0.00; 12.28; 3.02 -19920505; 389360; 10.99; 0.00; 12.56; 3.06 -19920506; 403676; 11.40; 10.63; 10.46; 3.09 -19920507; 369318; 10.43; 4.05; 8.51; 3.13 -19920508; 343552; 9.70; 1.01; 10.12; 3.16 -19920509; 332102; 9.38; 13.96; 7.09; 3.20 -19920510; 303471; 8.57; 12.82; 5.82; 3.24 -19920511; 262533; 7.41; 0.00; 6.21; 3.27 -19920512; 238198; 6.73; 0.00; 7.13; 3.31 -19920513; 227031; 6.41; 5.03; 7.69; 3.34 -19920514; 224453; 6.34; 0.95; 8.53; 3.38 -19920515; 227031; 6.41; 18.65; 7.88; 3.41 -19920516; 232758; 6.57; 5.38; 4.62; 3.44 -19920517; 205271; 5.80; 0.03; 7.62; 3.48 -19920518; 210141; 5.93; 0.07; 9.93; 3.51 -19920519; 220734; 6.23; 0.00; 12.02; 3.54 -19920520; 270261; 7.63; 0.00; 13.70; 3.58 -19920521; 332102; 9.38; 1.59; 14.90; 3.61 -19920522; 349279; 9.86; 12.73; 12.27; 3.64 -19920523; 334964; 9.46; 31.47; 4.03; 3.67 -19920524; 248788; 7.02; 2.61; 2.41; 3.70 -19920525; 237625; 6.71; 67.86; 2.62; 3.73 -19920526; 246500; 6.96; 6.55; 3.81; 3.76 -19920527; 230467; 6.51; 6.32; 5.75; 3.79 -19920528; 218443; 6.17; 1.63; 7.06; 3.81 -19920529; 219300; 6.19; 0.09; 7.94; 3.84 -19920530; 215008; 6.07; 1.25; 7.79; 3.87 -19920531; 213290; 6.02; 1.66; 8.97; 3.90 -19920601; 226458; 6.39; 11.62; 7.42; 3.92 -19920602; 251940; 7.11; 11.17; 5.79; 3.95 -19920603; 228462; 6.45; 8.30; 5.78; 3.97 -19920604; 213860; 6.04; 2.54; 6.57; 4.00 -19920605; 204414; 5.77; 3.24; 5.88; 4.02 -19920606; 197830; 5.59; 7.75; 6.65; 4.04 -19920607; 190386; 5.38; 1.17; 7.83; 4.07 -19920608; 186090; 5.25; 0.23; 11.43; 4.09 -19920609; 206419; 5.83; 2.42; 13.03; 4.11 -19920610; 230180; 6.50; 2.37; 13.25; 4.13 -19920611; 250222; 7.07; 12.07; 12.84; 4.15 -19920612; 256233; 7.23; 14.17; 9.47; 4.17 -19920613; 242204; 6.84; 1.56; 9.79; 4.19 -19920614; 217299; 6.14; 23.84; 8.51; 4.21 -19920615; 280280; 7.91; 1.75; 9.91; 4.23 -19920616; 229893; 6.49; 0.02; 12.74; 4.25 -19920617; 225027; 6.35; 0.20; 13.83; 4.26 -19920618; 218730; 6.18; 1.14; 14.02; 4.28 -19920619; 204128; 5.76; 1.14; 14.66; 4.29 -19920620; 184946; 5.22; 0.93; 13.71; 4.31 -19920621; 171778; 4.85; 0.00; 15.62; 4.32 -19920622; 157462; 4.45; 2.77; 14.55; 4.34 -19920623; 146009; 4.12; 5.29; 10.98; 4.35 -19920624; 130262; 3.68; 0.04; 9.50; 4.36 -19920625; 116808; 3.30; 0.52; 12.36; 4.37 -19920626; 111941; 3.16; 10.03; 11.46; 4.38 -19920627; 123392; 3.48; 2.91; 8.59; 4.39 -19920628; 108506; 3.06; 0.00; 10.98; 4.40 -19920629; 95908; 2.71; 1.25; 13.26; 4.41 -19920630; 90181; 2.55; 1.49; 13.99; 4.42 -19920701; 85889; 2.43; 3.68; 13.88; 4.43 -19920702; 84458; 2.38; 20.88; 14.14; 4.43 -19920703; 101061; 2.85; 11.53; 13.40; 4.44 -19920704; 92473; 2.61; 1.50; 12.99; 4.45 -19920705; 85028; 2.40; 4.36; 13.21; 4.45 -19920706; 79875; 2.26; 2.11; 13.90; 4.45 -19920707; 73004; 2.06; 0.00; 15.59; 4.46 -19920708; 67277; 1.90; 0.92; 16.72; 4.46 -19920709; 64129; 1.81; 1.81; 16.53; 4.46 -19920710; 62985; 1.78; 0.73; 14.38; 4.46 -19920711; 58406; 1.65; 0.89; 13.23; 4.46 -19920712; 54110; 1.53; 6.09; 13.23; 4.46 -19920713; 53536; 1.51; 4.11; 12.64; 4.46 -19920714; 56688; 1.60; 7.09; 9.89; 4.46 -19920715; 62985; 1.78; 1.65; 12.50; 4.46 -19920716; 56401; 1.59; 0.00; 13.74; 4.45 -19920717; 50100; 1.41; 0.00; 13.19; 4.45 -19920718; 46378; 1.31; 0.00; 12.61; 4.44 -19920719; 43803; 1.24; 0.00; 13.34; 4.44 -19920720; 41799; 1.18; 0.00; 15.30; 4.43 -19920721; 40081; 1.13; 0.00; 16.94; 4.43 -19920722; 38076; 1.08; 0.04; 19.41; 4.42 -19920723; 36072; 1.02; 0.09; 19.04; 4.41 -19920724; 34067; 0.96; 0.00; 17.01; 4.40 -19920725; 32636; 0.92; 0.00; 16.37; 4.39 -19920726; 31206; 0.88; 0.00; 16.31; 4.38 -19920727; 29488; 0.83; 0.25; 16.84; 4.37 -19920728; 28372; 0.80; 0.00; 17.49; 4.36 -19920729; 27196; 0.77; 0.00; 17.98; 4.35 -19920730; 25794; 0.73; 0.56; 16.79; 4.34 -19920731; 24965; 0.70; 1.37; 16.31; 4.32 -19920801; 24965; 0.70; 0.00; 16.71; 4.31 -19920802; 24133; 0.68; 0.75; 15.02; 4.29 -19920803; 23878; 0.67; 0.11; 13.57; 4.28 -19920804; 23878; 0.67; 0.04; 11.23; 4.26 -19920805; 22819; 0.64; 0.00; 11.99; 4.25 -19920806; 21760; 0.61; 0.00; 11.37; 4.23 -19920807; 20984; 0.59; 0.00; 12.41; 4.21 -19920808; 20241; 0.57; 0.05; 14.50; 4.19 -19920809; 19497; 0.55; 0.00; 14.32; 4.17 -19920810; 19040; 0.54; 0.00; 14.31; 4.15 -19920811; 18580; 0.52; 0.18; 16.01; 4.13 -19920812; 18123; 0.51; 0.29; 16.25; 4.11 -19920813; 17666; 0.50; 0.00; 15.69; 4.09 -19920814; 17205; 0.49; 0.87; 15.38; 4.07 -19920815; 16749; 0.47; 0.00; 15.22; 4.04 -19920816; 16320; 0.46; 0.04; 13.53; 4.02 -19920817; 16118; 0.46; 0.52; 13.36; 4.00 -19920818; 22015; 0.62; 16.67; 10.46; 3.97 -19920819; 22819; 0.64; 0.02; 7.37; 3.95 -19920820; 19755; 0.56; 0.15; 11.88; 3.92 -19920821; 17892; 0.51; 0.04; 12.41; 3.90 -19920822; 16749; 0.47; 0.00; 12.95; 3.87 -19920823; 15916; 0.45; 0.00; 12.91; 3.84 -19920824; 15289; 0.43; 0.00; 13.44; 3.81 -19920825; 14687; 0.41; 0.00; 11.93; 3.79 -19920826; 14287; 0.40; 0.00; 11.97; 3.76 -19920827; 14085; 0.40; 0.85; 11.40; 3.73 -19920828; 14287; 0.40; 0.00; 8.47; 3.70 -19920829; 14287; 0.40; 0.00; 7.83; 3.67 -19920830; 13685; 0.39; 0.53; 7.41; 3.64 -19920831; 14085; 0.40; 8.81; 8.60; 3.61 -19920901; 16118; 0.46; 0.18; 10.79; 3.57 -19920902; 19267; 0.54; 18.06; 11.30; 3.54 -19920903; 26081; 0.74; 0.40; 9.62; 3.51 -19920904; 19982; 0.56; 0.00; 11.76; 3.48 -19920905; 16547; 0.47; 0.00; 13.32; 3.44 -19920906; 15087; 0.43; 0.08; 13.97; 3.41 -19920907; 14485; 0.41; 0.33; 13.39; 3.38 -19920908; 13887; 0.39; 0.20; 14.13; 3.34 -19920909; 13511; 0.38; 0.00; 14.46; 3.31 -19920910; 13140; 0.37; 11.15; 14.31; 3.27 -19920911; 16118; 0.46; 11.24; 15.02; 3.23 -19920912; 20499; 0.58; 2.31; 12.46; 3.20 -19920913; 20241; 0.57; 6.32; 13.78; 3.16 -19920914; 21760; 0.61; 0.02; 14.85; 3.13 -19920915; 17205; 0.49; 1.45; 12.01; 3.09 -19920916; 15488; 0.44; 0.19; 11.58; 3.05 -19920917; 14886; 0.42; 0.00; 12.69; 3.02 -19920918; 14687; 0.41; 16.42; 8.99; 2.98 -19920919; 20758; 0.59; 7.23; 8.53; 2.94 -19920920; 39224; 1.11; 14.81; 8.63; 2.90 -19920921; 54110; 1.53; 7.05; 5.86; 2.86 -19920922; 42086; 1.19; 1.46; 4.99; 2.82 -19920923; 33210; 0.94; 2.10; 7.84; 2.79 -19920924; 31206; 0.88; 0.00; 8.08; 2.75 -19920925; 28631; 0.81; 0.00; 8.24; 2.71 -19920926; 25507; 0.72; 0.00; 9.57; 2.67 -19920927; 23332; 0.66; 0.00; 11.55; 2.63 -19920928; 21501; 0.61; 0.00; 11.26; 2.59 -19920929; 20241; 0.57; 0.00; 11.72; 2.55 -19920930; 19267; 0.54; 0.00; 11.49; 2.51 -19921001; 18495; 0.52; 0.00; 8.95; 2.47 -19921002; 17807; 0.50; 0.00; 8.92; 2.43 -19921003; 17290; 0.49; 0.00; 10.24; 2.39 -19921004; 16720; 0.47; 0.00; 10.90; 2.35 -19921005; 16203; 0.46; 0.00; 10.89; 2.31 -19921006; 15746; 0.44; 0.00; 10.98; 2.26 -19921007; 15374; 0.43; 0.00; 12.17; 2.22 -19921008; 15087; 0.43; 0.00; 11.29; 2.18 -19921009; 14659; 0.41; 0.00; 7.66; 2.14 -19921010; 14287; 0.40; 0.00; 5.88; 2.10 -19921011; 14085; 0.40; 0.00; 7.16; 2.06 -19921012; 14315; 0.40; 13.03; 6.92; 2.02 -19921013; 18438; 0.52; 0.99; 6.29; 1.98 -19921014; 18123; 0.51; 11.55; 2.86; 1.94 -19921015; 17892; 0.51; 6.82; 2.61; 1.90 -19921016; 18123; 0.51; 0.80; 3.21; 1.86 -19921017; 16979; 0.48; 2.70; 3.02; 1.82 -19921018; 16749; 0.47; 0.35; 3.30; 1.77 -19921019; 16547; 0.47; 0.00; 4.24; 1.74 -19921020; 16118; 0.46; 0.00; 5.24; 1.69 -19921021; 15690; 0.44; 3.68; 5.51; 1.65 -19921022; 15916; 0.45; 1.81; 2.06; 1.61 -19921023; 16320; 0.46; 0.00; -0.41; 1.57 -19921024; 15289; 0.43; 0.00; 0.46; 1.53 -19921025; 14886; 0.42; 2.60; 0.62; 1.50 -19921026; 15690; 0.44; 7.13; 1.48; 1.46 -19921027; 15690; 0.44; 0.04; 1.46; 1.42 -19921028; 15087; 0.43; 0.00; 0.71; 1.38 -19921029; 14687; 0.41; 0.00; 2.17; 1.34 -19921030; 14287; 0.40; 0.00; 2.54; 1.30 -19921031; 14485; 0.41; 0.00; 4.29; 1.26 -19921101; 14287; 0.40; 0.13; 2.62; 1.22 -19921102; 15690; 0.44; 9.54; 3.26; 1.18 -19921103; 18123; 0.51; 0.46; 1.98; 1.15 -19921104; 17436; 0.49; 0.00; 7.37; 1.11 -19921105; 16547; 0.47; 2.29; 4.83; 1.07 -19921106; 21760; 0.61; 17.00; 2.81; 1.03 -19921107; 58406; 1.65; 64.85; 4.30; 1.00 -19921108; 113659; 3.21; 15.25; 3.58; 0.96 -19921109; 81023; 2.29; 10.21; 1.86; 0.93 -19921110; 64129; 1.81; 1.65; 0.01; 0.89 -19921111; 51818; 1.46; 2.54; -2.26; 0.86 -19921112; 45234; 1.28; 0.38; -2.38; 0.82 -19921113; 40081; 1.13; 0.00; -3.86; 0.79 -19921114; 33210; 0.94; 0.04; -6.54; 0.75 -19921115; 28372; 0.80; 0.00; -7.44; 0.72 -19921116; 27196; 0.77; 0.00; -7.27; 0.69 -19921117; 27196; 0.77; 0.00; -5.85; 0.65 -19921118; 30919; 0.87; 1.01; -2.35; 0.62 -19921119; 32066; 0.91; 1.20; -2.29; 0.59 -19921120; 29488; 0.83; 0.00; -3.09; 0.56 -19921121; 28085; 0.79; 7.47; -1.37; 0.53 -19921122; 36072; 1.02; 2.29; -2.00; 0.49 -19921123; 27770; 0.78; 2.10; -6.85; 0.46 -19921124; 24678; 0.70; 0.19; -6.04; 0.43 -19921125; 24133; 0.68; 0.35; -7.30; 0.41 -19921126; 23074; 0.65; 0.34; -3.59; 0.38 -19921127; 25224; 0.71; 3.87; -0.67; 0.35 -19921128; 29201; 0.82; 0.72; 0.03; 0.32 -19921129; 27483; 0.78; 16.31; -0.10; 0.29 -19921130; 27483; 0.78; 1.82; -3.36; 0.27 -19921201; 25224; 0.71; 3.08; -4.18; 0.24 -19921202; 23074; 0.65; 36.62; -3.29; 0.21 -19921203; 34067; 0.96; 4.63; 1.03; 0.19 -19921204; 45234; 1.28; 10.85; -0.07; 0.17 -19921205; 39224; 1.11; 7.92; -5.00; 0.14 -19921206; 34641; 0.98; 3.71; -5.37; 0.12 -19921207; 31779; 0.90; 0.48; -7.14; 0.10 -19921208; 24965; 0.70; 0.25;-11.12; 0.07 -19921209; 21760; 0.61; 0.14;-10.28; 0.05 -19921210; 25507; 0.72; 3.55; -6.39; 0.03 -19921211; 29201; 0.82; 0.96; -0.56; 0.01 -19921212; 28631; 0.81; 0.00; 0.07; 0.00 -19921213; 27685; 0.78; 0.08; -3.07; 0.00 -19921214; 24792; 0.70; 0.25; -3.38; 0.00 -19921215; 25280; 0.71; 0.69; 1.92; 0.00 -19921216; 28114; 0.79; 0.00; 0.48; 0.00 -19921217; 27629; 0.78; 0.22; -0.15; 0.00 -19921218; 26853; 0.76; 0.54; -3.05; 0.00 -19921219; 24909; 0.70; 0.81; -5.86; 0.00 -19921220; 24020; 0.68; 2.94; -4.35; 0.00 -19921221; 30349; 0.86; 19.22; -2.02; 0.00 -19921222; 69856; 1.97; 34.98; 0.91; 0.00 -19921223; 79875; 2.26; 3.96; 1.14; 0.00 -19921224; 66707; 1.88; 11.85; -0.11; 0.00 -19921225; 118525; 3.35; 56.57; 1.12; 0.00 -19921226; 292021; 8.25; 23.05; 4.53; 0.00 -19921227; 303471; 8.57; 11.19; 4.51; 0.00 -19921228; 241060; 6.81; 2.60; 1.32; 0.00 -19921229; 182654; 5.16; 0.14; -1.69; 0.00 -19921230; 176357; 4.98; 22.55; -0.49; 0.00 -19921231; 183802; 5.19; 0.08; 1.21; 0.00 -19930101; 158893; 4.49; 0.08; 2.23; 0.00 -19930102; 140285; 3.96; 0.00; 1.34; 0.00 -19930103; 125109; 3.53; 0.00; 0.69; 0.00 -19930104; 112799; 3.18; 0.75; -0.54; 0.00 -19930105; 103923; 2.93; 0.00; 0.17; 0.00 -19930106; 94478; 2.67; 0.00; -1.69; 0.00 -19930107; 88751; 2.51; 0.00; -1.86; 0.00 -19930108; 81306; 2.30; 0.00; -3.34; 0.00 -19930109; 77300; 2.18; 0.00; -2.09; 0.00 -19930110; 72147; 2.04; 0.00; -3.94; 0.00 -19930111; 64703; 1.83; 0.00; -4.42; 0.00 -19930112; 62411; 1.76; 0.00; -4.86; 0.00 -19930113; 62698; 1.77; 0.00; -5.01; 0.00 -19930114; 58119; 1.64; 0.00; -4.19; 0.00 -19930115; 53536; 1.51; 0.00; -4.58; 0.00 -19930116; 50961; 1.44; 0.00; -4.98; 0.00 -19930117; 49243; 1.39; 3.66; -4.50; 0.00 -19930118; 52679; 1.49; 0.00; -2.05; 0.00 -19930119; 51531; 1.46; 0.00; -1.09; 0.00 -19930120; 48956; 1.38; 0.00; -1.27; 0.00 -19930121; 46952; 1.33; 0.00; -0.04; 0.00 -19930122; 46665; 1.32; 0.56; 1.09; 0.00 -19930123; 50387; 1.42; 13.92; 1.14; 0.00 -19930124; 60123; 1.70; 16.78; 0.32; 0.00 -19930125; 52392; 1.48; 2.05; -0.20; 0.00 -19930126; 47812; 1.35; 1.56; -2.81; 0.00 -19930127; 47239; 1.33; 1.81; -1.80; 0.00 -19930128; 46665; 1.32; 3.21; -0.16; 0.00 -19930129; 45521; 1.29; 0.15; -0.22; 0.00 -19930130; 43516; 1.23; 0.08; -1.32; 0.00 -19930131; 42372; 1.20; 1.16; -1.15; 0.00 -19930201; 41799; 1.18; 0.00; -1.67; 0.00 -19930202; 37790; 1.07; 0.00; -4.93; 0.00 -19930203; 33784; 0.95; 0.00; -5.27; 0.00 -19930204; 34928; 0.99; 0.00; -5.52; 0.00 -19930205; 34641; 0.98; 0.00; -5.52; 0.00 -19930206; 35785; 1.01; 0.40; -6.16; 0.00 -19930207; 36932; 1.04; 0.00; -3.80; 0.00 -19930208; 37219; 1.05; 0.75; -1.94; 0.00 -19930209; 36072; 1.02; 4.13; -6.90; 0.01 -19930210; 25567; 0.72; 0.08;-10.79; 0.03 -19930211; 23619; 0.67; 12.34;-10.74; 0.05 -19930212; 37219; 1.05; 29.76; -6.45; 0.07 -19930213; 43516; 1.23; 5.81; -0.26; 0.10 -19930214; 58406; 1.65; 19.22; 0.74; 0.12 -19930215; 65847; 1.86; 3.78; 0.42; 0.14 -19930216; 91616; 2.59; 40.82; 1.08; 0.17 -19930217; 135702; 3.83; 8.07; 1.20; 0.19 -19930218; 108506; 3.06; 5.61; 1.34; 0.22 -19930219; 116234; 3.28; 21.94; 2.11; 0.24 -19930220; 120243; 3.40; 1.32; -1.25; 0.27 -19930221; 103640; 2.93; 0.30; -0.32; 0.29 -19930222; 91329; 2.58; 0.00; 1.11; 0.32 -19930223; 83598; 2.36; 0.00; 3.20; 0.35 -19930224; 79018; 2.23; 1.02; 3.34; 0.38 -19930225; 77300; 2.18; 2.34; 2.39; 0.41 -19930226; 74152; 2.09; 6.43; 1.76; 0.44 -19930227; 70713; 2.00; 0.95; 0.84; 0.47 -19930228; 67277; 1.90; 0.00; -0.08; 0.50 -19930301; 64703; 1.83; 1.01; -0.51; 0.53 -19930302; 62698; 1.77; 0.86; -0.07; 0.56 -19930303; 60980; 1.72; 0.00; 0.24; 0.59 -19930304; 59836; 1.69; 0.28; 1.79; 0.62 -19930305; 58406; 1.65; 0.89; -0.08; 0.66 -19930306; 56114; 1.58; 0.00; -0.34; 0.69 -19930307; 53823; 1.52; 0.00; -0.22; 0.72 -19930308; 52679; 1.49; 0.01; 0.91; 0.75 -19930309; 51248; 1.45; 0.06; 1.28; 0.79 -19930310; 50387; 1.42; 0.00; 1.72; 0.82 -19930311; 50100; 1.41; 0.00; 2.70; 0.86 -19930312; 50387; 1.42; 0.00; 3.49; 0.89 -19930313; 50961; 1.44; 0.00; 3.49; 0.93 -19930314; 51531; 1.46; 0.00; 3.11; 0.96 -19930315; 52105; 1.47; 0.31; 3.91; 1.00 -19930316; 55827; 1.58; 12.43; 1.33; 1.04 -19930317; 55540; 1.57; 3.41; -0.48; 1.07 -19930318; 52392; 1.48; 0.58; -0.57; 1.11 -19930319; 50961; 1.44; 0.00; 0.50; 1.15 -19930320; 50961; 1.44; 0.00; 3.12; 1.19 -19930321; 50674; 1.43; 0.12; 2.34; 1.23 -19930322; 50961; 1.44; 9.82; 3.21; 1.26 -19930323; 52392; 1.48; 0.87; 1.89; 1.30 -19930324; 50387; 1.42; 0.25; 3.52; 1.34 -19930325; 50674; 1.43; 6.14; 3.02; 1.38 -19930326; 56688; 1.60; 26.61; 1.99; 1.42 -19930327; 59263; 1.67; 1.22; 3.91; 1.46 -19930328; 58119; 1.64; 0.81; 3.13; 1.50 -19930329; 58976; 1.67; 15.52; 1.95; 1.54 -19930330; 60694; 1.71; 4.41; -0.24; 1.58 -19930331; 58119; 1.64; 2.80; 1.79; 1.62 -19930401; 62124; 1.75; 6.40; 1.42; 1.66 -19930402; 59550; 1.68; 1.06; 0.12; 1.70 -19930403; 58976; 1.67; 8.60; -0.36; 1.74 -19930404; 57258; 1.62; 0.43; -0.46; 1.78 -19930405; 56401; 1.59; 8.51; 3.25; 1.82 -19930406; 58689; 1.66; 2.27; 0.44; 1.86 -19930407; 56971; 1.61; 1.71; -0.87; 1.90 -19930408; 54970; 1.55; 0.84; -1.22; 1.94 -19930409; 57545; 1.62; 8.21; 0.72; 1.98 -19930410; 55827; 1.58; 0.11; 0.45; 2.02 -19930411; 55540; 1.57; 4.52; 0.54; 2.06 -19930412; 58406; 1.65; 8.52; 1.12; 2.10 -19930413; 55540; 1.57; 1.08; 0.43; 2.14 -19930414; 54970; 1.55; 0.23; 4.35; 2.18 -19930415; 59836; 1.69; 0.00; 7.50; 2.23 -19930416; 71860; 2.03; 0.00; 7.94; 2.27 -19930417; 77587; 2.19; 0.00; 5.79; 2.31 -19930418; 84458; 2.38; 0.00; 7.22; 2.35 -19930419; 100488; 2.84; 0.00; 10.19; 2.39 -19930420; 115951; 3.27; 1.20; 7.98; 2.43 -19930421; 122248; 3.45; 3.94; 4.84; 2.47 -19930422; 118525; 3.35; 4.36; 5.72; 2.51 -19930423; 139712; 3.94; 1.20; 11.49; 2.55 -19930424; 219587; 6.20; 11.43; 9.59; 2.59 -19930425; 223022; 6.30; 1.38; 6.18; 2.63 -19930426; 195252; 5.51; 6.48; 6.18; 2.67 -19930427; 188955; 5.34; 2.30; 6.93; 2.71 -19930428; 198974; 5.62; 8.17; 7.53; 2.75 -19930429; 254228; 7.18; 2.34; 10.34; 2.79 -19930430; 286294; 8.08; 0.00; 12.44; 2.83 -19930501; 337825; 9.54; 0.75; 12.45; 2.87 -19930502; 360729; 10.19; 0.76; 7.59; 2.90 -19930503; 268830; 7.59; 0.00; 3.74; 2.94 -19930504; 229036; 6.47; 4.75; 2.25; 2.98 -19930505; 196396; 5.55; 1.27; 1.05; 3.02 -19930506; 176644; 4.99; 0.44; 2.61; 3.06 -19930507; 159180; 4.49; 0.15; 2.92; 3.09 -19930508; 146869; 4.15; 0.82; 3.79; 3.13 -19930509; 133985; 3.78; 0.09; 4.43; 3.16 -19930510; 135989; 3.84; 13.54; 5.28; 3.20 -19930511; 145725; 4.11; 16.01; 4.49; 3.24 -19930512; 135989; 3.84; 0.32; 4.40; 3.27 -19930513; 124539; 3.52; 0.32; 5.85; 3.31 -19930514; 127975; 3.61; 7.98; 6.96; 3.34 -19930515; 148013; 4.18; 11.83; 4.89; 3.38 -19930516; 142573; 4.03; 1.63; 4.41; 3.41 -19930517; 135132; 3.82; 0.23; 7.27; 3.44 -19930518; 137707; 3.89; 0.01; 8.27; 3.48 -19930519; 149731; 4.23; 4.42; 9.66; 3.51 -19930520; 178362; 5.04; 6.67; 9.86; 3.54 -19930521; 314925; 8.89; 38.75; 8.78; 3.58 -19930522; 435168; 12.29; 3.11; 7.26; 3.61 -19930523; 323514; 9.13; 2.02; 10.87; 3.64 -19930524; 323514; 9.13; 1.09; 11.90; 3.67 -19930525; 332102; 9.38; 8.84; 11.72; 3.70 -19930526; 326375; 9.22; 0.74; 11.18; 3.73 -19930527; 297744; 8.41; 0.00; 10.37; 3.76 -19930528; 274557; 7.75; 0.00; 10.65; 3.79 -19930529; 266826; 7.53; 0.00; 12.54; 3.81 -19930530; 267970; 7.57; 7.62; 12.60; 3.84 -19930531; 289156; 8.16; 1.62; 10.41; 3.87 -19930601; 243351; 6.87; 0.66; 9.36; 3.90 -19930602; 216151; 6.10; 2.76; 10.04; 3.92 -19930603; 224453; 6.34; 0.44; 9.89; 3.95 -19930604; 213860; 6.04; 8.74; 9.74; 3.97 -19930605; 221591; 6.26; 9.00; 13.40; 4.00 -19930606; 297744; 8.41; 18.83; 12.04; 4.02 -19930607; 271692; 7.67; 14.72; 7.85; 4.04 -19930608; 346418; 9.78; 23.74; 7.43; 4.07 -19930609; 386499; 10.91; 5.87; 7.91; 4.09 -19930610; 317787; 8.97; 3.23; 7.98; 4.11 -19930611; 275701; 7.78; 5.38; 9.34; 4.13 -19930612; 266539; 7.53; 20.78; 7.93; 4.15 -19930613; 266539; 7.53; 1.24; 6.14; 4.17 -19930614; 245639; 6.94; 9.42; 5.96; 4.19 -19930615; 229323; 6.47; 0.12; 9.11; 4.21 -19930616; 240773; 6.80; 26.17; 8.23; 4.23 -19930617; 297744; 8.41; 4.69; 6.12; 4.25 -19930618; 262816; 7.42; 15.86; 6.47; 4.26 -19930619; 383633; 10.83; 15.10; 10.40; 4.28 -19930620; 386499; 10.91; 3.81; 10.81; 4.29 -19930621; 329237; 9.30; 1.47; 9.28; 4.31 -19930622; 280854; 7.93; 3.33; 12.07; 4.32 -19930623; 264821; 7.48; 0.05; 11.56; 4.34 -19930624; 235046; 6.64; 0.31; 9.95; 4.35 -19930625; 209281; 5.91; 0.00; 13.31; 4.36 -19930626; 192961; 5.45; 0.04; 14.73; 4.37 -19930627; 180653; 5.10; 0.04; 12.80; 4.38 -19930628; 162329; 4.58; 0.31; 10.22; 4.39 -19930629; 145725; 4.11; 0.00; 12.33; 4.40 -19930630; 134845; 3.81; 2.76; 15.79; 4.41 -19930701; 131697; 3.72; 0.28; 15.32; 4.42 -19930702; 122535; 3.46; 0.46; 13.02; 4.43 -19930703; 110511; 3.12; 0.19; 15.48; 4.43 -19930704; 101922; 2.88; 0.00; 17.25; 4.44 -19930705; 95051; 2.68; 0.06; 18.88; 4.45 -19930706; 97339; 2.75; 29.67; 17.61; 4.45 -19930707; 131697; 3.72; 11.69; 9.06; 4.45 -19930708; 111081; 3.14; 0.04; 9.04; 4.46 -19930709; 91616; 2.59; 0.00; 12.54; 4.46 -19930710; 81880; 2.31; 0.00; 13.02; 4.46 -19930711; 75870; 2.14; 0.10; 13.13; 4.46 -19930712; 71000; 2.00; 0.14; 14.18; 4.46 -19930713; 66994; 1.89; 0.00; 14.08; 4.46 -19930714; 63272; 1.79; 0.00; 11.34; 4.46 -19930715; 59550; 1.68; 0.00; 13.36; 4.46 -19930716; 56114; 1.58; 0.20; 15.07; 4.46 -19930717; 53249; 1.50; 0.00; 16.40; 4.45 -19930718; 50674; 1.43; 2.37; 15.69; 4.45 -19930719; 48956; 1.38; 0.00; 15.45; 4.44 -19930720; 46095; 1.30; 0.00; 15.40; 4.44 -19930721; 43803; 1.24; 0.02; 15.10; 4.43 -19930722; 41512; 1.17; 0.00; 14.68; 4.43 -19930723; 39507; 1.12; 0.00; 14.52; 4.42 -19930724; 37790; 1.07; 1.31; 14.64; 4.41 -19930725; 37219; 1.05; 3.42; 14.82; 4.40 -19930726; 39224; 1.11; 1.32; 14.39; 4.39 -19930727; 36359; 1.03; 0.06; 15.77; 4.38 -19930728; 34067; 0.96; 0.22; 17.21; 4.37 -19930729; 32066; 0.91; 0.00; 15.74; 4.36 -19930730; 30632; 0.86; 0.00; 12.85; 4.35 -19930731; 29488; 0.83; 0.00; 13.40; 4.34 -19930801; 28316; 0.80; 0.11; 15.21; 4.32 -19930802; 27370; 0.77; 0.12; 15.20; 4.31 -19930803; 26570; 0.75; 0.00; 14.80; 4.29 -19930804; 25539; 0.72; 0.00; 15.41; 4.28 -19930805; 24622; 0.70; 0.00; 15.55; 4.26 -19930806; 23676; 0.67; 0.00; 16.70; 4.25 -19930807; 22847; 0.65; 0.00; 18.29; 4.23 -19930808; 21987; 0.62; 0.01; 18.55; 4.21 -19930809; 21101; 0.60; 0.00; 17.90; 4.19 -19930810; 20156; 0.57; 0.00; 17.81; 4.17 -19930811; 19755; 0.56; 0.00; 18.39; 4.15 -19930812; 19153; 0.54; 0.05; 18.67; 4.13 -19930813; 18580; 0.52; 0.51; 19.34; 4.11 -19930814; 18066; 0.51; 0.46; 19.82; 4.09 -19930815; 17521; 0.49; 0.14; 18.37; 4.07 -19930816; 17290; 0.49; 0.00; 19.07; 4.04 -19930817; 16692; 0.47; 0.12; 19.13; 4.02 -19930818; 16175; 0.46; 0.00; 17.96; 4.00 -19930819; 16260; 0.46; 1.61; 15.78; 3.97 -19930820; 17205; 0.49; 3.93; 16.80; 3.95 -19930821; 16231; 0.46; 0.02; 15.43; 3.92 -19930822; 15488; 0.44; 0.00; 14.97; 3.90 -19930823; 14946; 0.42; 0.00; 16.38; 3.87 -19930824; 14457; 0.41; 0.03; 17.74; 3.84 -19930825; 13944; 0.39; 0.01; 18.55; 3.81 -19930826; 13543; 0.38; 0.12; 18.59; 3.79 -19930827; 13140; 0.37; 0.00; 16.66; 3.76 -19930828; 12970; 0.37; 0.00; 15.34; 3.73 -19930829; 12796; 0.36; 0.00; 15.07; 3.70 -19930830; 14287; 0.40; 13.58; 12.66; 3.67 -19930831; 17722; 0.50; 0.19; 11.23; 3.64 -19930901; 16749; 0.47; 3.38; 13.86; 3.61 -19930902; 15229; 0.43; 1.41; 12.65; 3.57 -19930903; 14315; 0.40; 0.00; 11.18; 3.54 -19930904; 13742; 0.39; 0.00; 12.00; 3.51 -19930905; 13083; 0.37; 0.00; 12.87; 3.48 -19930906; 12711; 0.36; 0.00; 13.11; 3.44 -19930907; 12368; 0.35; 0.00; 15.21; 3.41 -19930908; 12024; 0.34; 0.00; 16.50; 3.38 -19930909; 11652; 0.33; 0.00; 16.72; 3.34 -19930910; 11280; 0.32; 0.00; 15.11; 3.31 -19930911; 11078; 0.31; 0.00; 14.12; 3.27 -19930912; 10908; 0.31; 0.00; 14.86; 3.23 -19930913; 10650; 0.30; 0.00; 14.53; 3.20 -19930914; 10480; 0.30; 0.00; 13.93; 3.16 -19930915; 10306; 0.29; 0.00; 14.46; 3.13 -19930916; 10076; 0.28; 0.00; 15.94; 3.09 -19930917; 9849; 0.28; 0.00; 17.40; 3.05 -19930918; 9676; 0.27; 0.00; 17.50; 3.02 -19930919; 9793; 0.28; 6.31; 13.12; 2.98 -19930920; 11337; 0.32; 0.02; 6.29; 2.94 -19930921; 12198; 0.34; 3.57; 7.07; 2.90 -19930922; 12569; 0.35; 1.66; 5.13; 2.86 -19930923; 12311; 0.35; 0.00; 4.77; 2.82 -19930924; 11450; 0.32; 2.06; 4.35; 2.79 -19930925; 12598; 0.36; 13.21; 5.26; 2.75 -19930926; 13742; 0.39; 1.09; 4.22; 2.71 -19930927; 15746; 0.44; 29.85; 6.17; 2.67 -19930928; 28631; 0.81; 5.29; 7.52; 2.63 -19930929; 22989; 0.65; 0.51; 6.44; 2.59 -19930930; 18495; 0.52; 0.64; 6.40; 2.55 -19931001; 15718; 0.44; 0.00; 8.02; 2.51 -19931002; 14918; 0.42; 3.58; 5.59; 2.47 -19931003; 15087; 0.43; 1.64; 3.36; 2.43 -19931004; 14287; 0.40; 0.13; 1.84; 2.39 -19931005; 13713; 0.39; 0.00; 1.96; 2.35 -19931006; 13111; 0.37; 0.00; 4.96; 2.31 -19931007; 13111; 0.37; 6.75; 4.99; 2.26 -19931008; 14259; 0.40; 2.66; 3.55; 2.22 -19931009; 15605; 0.44; 11.64; 2.97; 2.18 -19931010; 17606; 0.50; 16.04; 2.58; 2.14 -19931011; 23332; 0.66; 9.57; 2.58; 2.10 -19931012; 23619; 0.67; 1.08; 2.50; 2.06 -19931013; 18725; 0.53; 0.08; 2.18; 2.02 -19931014; 16377; 0.46; 0.00; 3.28; 1.98 -19931015; 15201; 0.43; 0.00; 4.34; 1.94 -19931016; 14602; 0.41; 0.00; 4.02; 1.90 -19931017; 14199; 0.40; 0.00; 5.29; 1.86 -19931018; 13944; 0.39; 0.00; 5.59; 1.82 -19931019; 13628; 0.38; 0.00; 6.53; 1.77 -19931020; 13398; 0.38; 1.29; 5.18; 1.74 -19931021; 13055; 0.37; 0.00; 0.38; 1.69 -19931022; 12885; 0.36; 0.00; 0.12; 1.65 -19931023; 12481; 0.35; 0.00; 0.06; 1.61 -19931024; 12481; 0.35; 1.07; 1.42; 1.57 -19931025; 12998; 0.37; 0.48; 4.69; 1.53 -19931026; 13713; 0.39; 8.96; 5.97; 1.50 -19931027; 16405; 0.46; 1.22; 6.95; 1.46 -19931028; 17177; 0.48; 1.97; 4.56; 1.42 -19931029; 17007; 0.48; 3.69; 2.03; 1.38 -19931030; 17234; 0.49; 0.75; 2.34; 1.34 -19931031; 16692; 0.47; 0.60; 5.93; 1.30 -19931101; 16320; 0.46; 0.12; 5.31; 1.26 -19931102; 15860; 0.45; 0.00; 3.86; 1.22 -19931103; 15289; 0.43; 0.00; 2.98; 1.18 -19931104; 14801; 0.42; 0.15; 1.86; 1.15 -19931105; 14372; 0.41; 0.00; -0.54; 1.11 -19931106; 13887; 0.39; 0.00; -0.84; 1.07 -19931107; 13341; 0.38; 0.00; -0.80; 1.03 -19931108; 13398; 0.38; 0.00; -0.29; 1.00 -19931109; 12885; 0.36; 0.00; -0.67; 0.96 -19931110; 12198; 0.34; 0.00; -0.39; 0.93 -19931111; 11911; 0.34; 0.00; 1.81; 0.89 -19931112; 14085; 0.40; 22.44; 1.33; 0.86 -19931113; 19840; 0.56; 4.86; 1.18; 0.82 -19931114; 20010; 0.56; 7.86; 2.36; 0.79 -19931115; 18580; 0.52; 3.20; -1.03; 0.75 -19931116; 17722; 0.50; 12.57; -0.15; 0.72 -19931117; 21700; 0.61; 18.16; 0.87; 0.69 -19931118; 31779; 0.90; 2.50; -0.27; 0.65 -19931119; 26109; 0.74; 1.05; -2.91; 0.62 -19931120; 20871; 0.59; 0.00; -0.29; 0.59 -19931121; 21760; 0.61; 20.26; 0.91; 0.56 -19931122; 30062; 0.85; 12.29; 0.22; 0.53 -19931123; 28372; 0.80; 9.58; -2.66; 0.49 -19931124; 23991; 0.68; 13.79; -3.17; 0.46 -19931125; 22961; 0.65; 7.01; -3.93; 0.43 -19931126; 20071; 0.57; 0.00; -6.74; 0.41 -19931127; 17379; 0.49; 0.00; -7.04; 0.38 -19931128; 15775; 0.45; 0.00; -7.88; 0.35 -19931129; 13685; 0.39; 2.88; -7.67; 0.32 -19931130; 15031; 0.42; 6.68; -4.86; 0.29 -19931201; 17606; 0.50; 7.13; -2.27; 0.27 -19931202; 24165; 0.68; 32.18; -1.06; 0.24 -19931203; 26711; 0.75; 0.06; -3.74; 0.21 -19931204; 20843; 0.59; 0.25; -1.84; 0.19 -19931205; 19812; 0.56; 13.50; -1.57; 0.17 -19931206; 36646; 1.03; 28.43; 1.06; 0.14 -19931207; 48096; 1.36; 11.48; -0.09; 0.12 -19931208; 37219; 1.05; 0.53; -0.85; 0.10 -19931209; 31206; 0.88; 1.33; -0.03; 0.07 -19931210; 33210; 0.94; 7.22; 0.88; 0.05 -19931211; 32066; 0.91; 5.79; -2.21; 0.03 -19931212; 26109; 0.74; 0.13; -8.41; 0.01 -19931213; 22415; 0.63; 4.00; -6.30; 0.00 -19931214; 25766; 0.73; 4.48; -2.68; 0.00 -19931215; 26368; 0.74; 33.89; -3.45; 0.00 -19931216; 26081; 0.74; 2.55; -3.10; 0.00 -19931217; 22274; 0.63; 0.00; -9.03; 0.00 -19931218; 19440; 0.55; 0.76; -8.79; 0.00 -19931219; 26081; 0.74; 19.52; -3.29; 0.00 -19931220; 39224; 1.11; 2.46; -1.95; 0.00 -19931221; 34354; 0.97; 2.37; -3.38; 0.00 -19931222; 30919; 0.87; 1.89; -4.94; 0.00 -19931223; 27168; 0.77; 0.46; -6.95; 0.00 -19931224; 25365; 0.72; 16.28; -6.57; 0.00 -19931225; 25422; 0.72; 7.42; -4.77; 0.00 -19931226; 24306; 0.69; 7.41; -6.51; 0.00 -19931227; 23850; 0.67; 10.33; -6.10; 0.00 -19931228; 23046; 0.65; 11.01; -7.51; 0.00 -19931229; 22104; 0.62; 0.40; -8.89; 0.00 -19931230; 21186; 0.60; 1.30; -8.63; 0.00 -19931231; 20499; 0.58; 1.95; -9.71; 0.00 -19940101; 19897; 0.56; 2.09; -7.54; 0.00 -19940102; 19182; 0.54; 0.06;-10.21; 0.00 -19940103; 19182; 0.54; 10.12; -8.66; 0.00 -19940104; 19469; 0.55; 11.78; -5.94; 0.00 -19940105; 19323; 0.55; 2.62; -8.79; 0.00 -19940106; 14886; 0.42; 0.00;-11.56; 0.00 -19940107; 16890; 0.48; 0.98; -9.71; 0.00 -19940108; 18325; 0.52; 4.05; -5.41; 0.00 -19940109; 19469; 0.55; 0.00; -5.34; 0.00 -19940110; 19755; 0.56; 1.16; -7.99; 0.00 -19940111; 20042; 0.57; 17.05; -6.53; 0.00 -19940112; 20612; 0.58; 1.48; -3.54; 0.00 -19940113; 21013; 0.59; 4.24; -1.56; 0.00 -19940114; 21300; 0.60; 9.23; -0.29; 0.00 -19940115; 22932; 0.65; 21.50; -2.11; 0.00 -19940116; 20669; 0.58; 39.94; -6.77; 0.00 -19940117; 22847; 0.65; 17.63; -3.61; 0.00 -19940118; 22415; 0.63; 4.47; -1.95; 0.00 -19940119; 22104; 0.62; 5.15; -4.95; 0.00 -19940120; 21101; 0.60; 2.65; -6.16; 0.00 -19940121; 17177; 0.48; 1.59;-10.16; 0.00 -19940122; 15746; 0.44; 15.55;-10.90; 0.00 -19940123; 16490; 0.47; 67.77; -6.65; 0.00 -19940124; 34928; 0.99; 8.37; -0.74; 0.00 -19940125; 40368; 1.14; 4.08; -3.53; 0.00 -19940126; 39224; 1.11; 12.59; -0.58; 0.00 -19940127; 37790; 1.07; 1.49; -1.25; 0.00 -19940128; 32350; 0.91; 0.19; -3.26; 0.00 -19940129; 27228; 0.77; 1.46; -1.62; 0.00 -19940130; 24909; 0.70; 1.40; -0.21; 0.00 -19940131; 25079; 0.71; 12.64; -0.90; 0.00 -19940201; 23761; 0.67; 4.63; -3.39; 0.00 -19940202; 23102; 0.65; 17.37; -3.96; 0.00 -19940203; 21356; 0.60; 0.00;-11.59; 0.00 -19940204; 16862; 0.48; 0.00;-12.47; 0.00 -19940205; 15803; 0.45; 0.00;-11.92; 0.00 -19940206; 15459; 0.44; 0.54;-11.72; 0.00 -19940207; 15746; 0.44; 5.13;-11.76; 0.00 -19940208; 16033; 0.45; 0.19;-12.72; 0.00 -19940209; 15746; 0.44; 0.42;-12.54; 0.01 -19940210; 15459; 0.44; 0.00;-11.00; 0.03 -19940211; 16033; 0.45; 0.00;-10.26; 0.05 -19940212; 17751; 0.50; 0.43; -8.43; 0.07 -19940213; 22876; 0.65; 15.68; -4.47; 0.10 -19940214; 45234; 1.28; 21.03; 0.60; 0.12 -19940215; 79588; 2.25; 6.46; 2.47; 0.14 -19940216; 89611; 2.53; 36.26; 1.52; 0.17 -19940217; 110511; 3.12; 5.16; 0.89; 0.19 -19940218; 112228; 3.17; 4.04; 0.62; 0.22 -19940219; 117095; 3.31; 21.81; 2.23; 0.24 -19940220; 136276; 3.85; 9.25; 2.18; 0.27 -19940221; 179793; 5.08; 32.54; 0.69; 0.29 -19940222; 158320; 4.47; 7.06; -3.02; 0.32 -19940223; 127401; 3.60; 7.16; -6.52; 0.35 -19940224; 103353; 2.92; 0.10; -5.88; 0.38 -19940225; 87894; 2.48; 0.00; -4.48; 0.41 -19940226; 78158; 2.21; 3.32; -2.73; 0.44 -19940227; 73291; 2.07; 2.05; -0.61; 0.47 -19940228; 67277; 1.90; 1.00; -0.66; 0.50 -19940301; 65276; 1.84; 5.07; 0.63; 0.53 -19940302; 70713; 2.00; 4.38; 0.52; 0.56 -19940303; 73004; 2.06; 5.85; 0.13; 0.59 -19940304; 72717; 2.05; 5.32; -0.45; 0.62 -19940305; 69569; 1.96; 0.10; -1.05; 0.66 -19940306; 65276; 1.84; 0.89; -0.71; 0.69 -19940307; 62411; 1.76; 0.16; 0.38; 0.72 -19940308; 60123; 1.70; 3.46; -0.43; 0.75 -19940309; 69569; 1.96; 12.50; 1.99; 0.79 -19940310; 101061; 2.85; 7.28; 3.93; 0.82 -19940311; 121961; 3.44; 10.29; 1.41; 0.86 -19940312; 107932; 3.05; 4.92; -2.93; 0.89 -19940313; 93904; 2.65; 3.29; 0.12; 0.93 -19940314; 86459; 2.44; 9.77; 0.95; 0.96 -19940315; 85602; 2.42; 11.78; -0.79; 1.00 -19940316; 79588; 2.25; 1.15; -2.01; 1.04 -19940317; 75296; 2.13; 0.21; -1.34; 1.07 -19940318; 71287; 2.01; 2.66; -1.57; 1.11 -19940319; 67564; 1.91; 9.64; -2.48; 1.15 -19940320; 63559; 1.79; 1.67; -2.02; 1.19 -19940321; 58976; 1.67; 0.17; -1.65; 1.23 -19940322; 55827; 1.58; 0.04; -0.14; 1.26 -19940323; 54396; 1.54; 2.45; 1.64; 1.30 -19940324; 55254; 1.56; 3.72; 1.48; 1.34 -19940325; 56688; 1.60; 0.18; 1.16; 1.38 -19940326; 60694; 1.71; 0.27; 2.16; 1.42 -19940327; 68995; 1.95; 8.14; 1.71; 1.46 -19940328; 70143; 1.98; 8.42; 1.95; 1.50 -19940329; 71000; 2.00; 3.98; -0.06; 1.54 -19940330; 66994; 1.89; 0.56; -2.34; 1.58 -19940331; 63272; 1.79; 7.05; 0.08; 1.62 -19940401; 61267; 1.73; 2.33; -0.93; 1.66 -19940402; 57258; 1.62; 4.48; -2.10; 1.70 -19940403; 56114; 1.58; 6.98; -0.81; 1.74 -19940404; 54683; 1.54; 1.88; -1.08; 1.78 -19940405; 51531; 1.46; 0.27; -1.87; 1.82 -19940406; 50100; 1.41; 7.97; -2.86; 1.86 -19940407; 48383; 1.37; 1.51; -2.86; 1.90 -19940408; 46095; 1.30; 1.94; -3.76; 1.94 -19940409; 45234; 1.28; 1.79; 0.88; 1.98 -19940410; 44947; 1.27; 0.43; 2.29; 2.02 -19940411; 61554; 1.74; 22.81; 4.37; 2.06 -19940412; 108506; 3.06; 9.04; 4.79; 2.10 -19940413; 121961; 3.44; 4.30; 4.93; 2.14 -19940414; 134845; 3.81; 30.58; 1.49; 2.18 -19940415; 128261; 3.62; 4.71; -1.58; 2.23 -19940416; 113946; 3.22; 1.09; -0.36; 2.27 -19940417; 104497; 2.95; 5.38; 1.48; 2.31 -19940418; 99918; 2.82; 7.44; -0.84; 2.35 -19940419; 90755; 2.56; 1.43; -1.98; 2.39 -19940420; 83311; 2.35; 0.06; -1.71; 2.43 -19940421; 81306; 2.30; 0.00; 2.78; 2.47 -19940422; 88751; 2.51; 0.00; 6.50; 2.51 -19940423; 110511; 3.12; 0.00; 7.27; 2.55 -19940424; 144004; 4.07; 0.00; 5.30; 2.59 -19940425; 158606; 4.48; 0.00; 3.17; 2.63 -19940426; 163189; 4.61; 0.00; 4.17; 2.67 -19940427; 170917; 4.83; 0.00; 5.56; 2.71 -19940428; 190960; 5.39; 11.76; 3.86; 2.75 -19940429; 187808; 5.30; 0.22; 3.09; 2.79 -19940430; 178649; 5.04; 0.00; 5.94; 2.83 -19940501; 187808; 5.30; 0.00; 7.71; 2.87 -19940502; 222735; 6.29; 0.00; 9.46; 2.90 -19940503; 281715; 7.95; 4.28; 5.52; 2.94 -19940504; 253658; 7.16; 1.45; 0.91; 2.98 -19940505; 217582; 6.14; 0.00; 1.38; 3.02 -19940506; 201836; 5.70; 0.44; 4.36; 3.06 -19940507; 214147; 6.05; 5.34; 5.89; 3.09 -19940508; 227031; 6.41; 3.47; 3.56; 3.13 -19940509; 219587; 6.20; 1.13; 3.15; 3.16 -19940510; 206989; 5.84; 0.37; 4.15; 3.20 -19940511; 203270; 5.74; 0.00; 4.71; 3.24 -19940512; 223022; 6.30; 0.00; 5.40; 3.27 -19940513; 232758; 6.57; 0.00; 7.41; 3.31 -19940514; 277706; 7.84; 0.01; 9.51; 3.34 -19940515; 334964; 9.46; 0.38; 8.79; 3.38 -19940516; 380772; 10.75; 0.75; 9.43; 3.41 -19940517; 432303; 12.21; 3.16; 9.04; 3.44 -19940518; 480972; 13.58; 12.89; 6.51; 3.48 -19940519; 409399; 11.56; 1.06; 5.44; 3.51 -19940520; 355006; 10.02; 0.00; 7.00; 3.54 -19940521; 369318; 10.43; 0.00; 9.37; 3.58 -19940522; 417991; 11.80; 0.20; 9.69; 3.61 -19940523; 460934; 13.01; 0.10; 8.03; 3.64 -19940524; 475249; 13.42; 0.00; 9.03; 3.67 -19940525; 503876; 14.23; 0.00; 12.01; 3.70 -19940526; 566861; 16.01; 3.70; 9.19; 3.73 -19940527; 480972; 13.58; 16.20; 3.61; 3.76 -19940528; 400810; 11.32; 16.51; 2.54; 3.79 -19940529; 326375; 9.22; 0.75; 4.15; 3.81 -19940530; 281141; 7.94; 0.00; 4.83; 3.84 -19940531; 257093; 7.26; 0.04; 7.10; 3.87 -19940601; 257093; 7.26; 0.58; 7.78; 3.90 -19940602; 266826; 7.53; 0.79; 9.46; 3.92 -19940603; 297744; 8.41; 2.43; 8.77; 3.95 -19940604; 314925; 8.89; 2.70; 5.79; 3.97 -19940605; 297744; 8.41; 3.10; 5.17; 4.00 -19940606; 280567; 7.92; 8.64; 6.06; 4.02 -19940607; 275701; 7.78; 3.92; 5.58; 4.04 -19940608; 255375; 7.21; 1.20; 6.60; 4.07 -19940609; 260529; 7.36; 0.00; 9.30; 4.09 -19940610; 289156; 8.16; 0.00; 10.75; 4.11 -19940611; 340691; 9.62; 0.00; 12.44; 4.13 -19940612; 406537; 11.48; 1.15; 12.92; 4.15 -19940613; 503876; 14.23; 7.90; 13.83; 4.17 -19940614; 581177; 16.41; 6.40; 13.86; 4.19 -19940615; 572588; 16.17; 0.09; 14.61; 4.21 -19940616; 581177; 16.41; 0.39; 15.72; 4.23 -19940617; 584039; 16.49; 0.01; 14.30; 4.25 -19940618; 546823; 15.44; 0.00; 14.06; 4.26 -19940619; 501015; 14.15; 0.00; 15.06; 4.28 -19940620; 498153; 14.07; 0.90; 16.34; 4.29 -19940621; 483838; 13.66; 0.77; 16.36; 4.31 -19940622; 463795; 13.10; 0.91; 16.41; 4.32 -19940623; 432303; 12.21; 3.95; 15.39; 4.34 -19940624; 392222; 11.07; 0.00; 15.23; 4.35 -19940625; 360729; 10.19; 2.51; 14.81; 4.36 -19940626; 332102; 9.38; 0.08; 16.49; 4.37 -19940627; 323514; 9.13; 6.22; 15.31; 4.38 -19940628; 317787; 8.97; 18.06; 13.09; 4.39 -19940629; 309198; 8.73; 9.79; 15.24; 4.40 -19940630; 300610; 8.49; 4.84; 15.12; 4.41 -19940701; 294883; 8.33; 13.10; 15.02; 4.42 -19940702; 292021; 8.25; 5.23; 14.46; 4.43 -19940703; 252510; 7.13; 4.04; 12.86; 4.43 -19940704; 220448; 6.22; 3.51; 11.02; 4.44 -19940705; 198974; 5.62; 4.53; 9.81; 4.45 -19940706; 185520; 5.24; 0.57; 11.44; 4.45 -19940707; 164046; 4.63; 4.89; 11.29; 4.45 -19940708; 160037; 4.52; 3.56; 12.60; 4.46 -19940709; 148874; 4.20; 1.78; 14.28; 4.46 -19940710; 138568; 3.91; 0.00; 14.13; 4.46 -19940711; 127688; 3.61; 0.06; 15.48; 4.46 -19940712; 120530; 3.40; 1.70; 16.49; 4.46 -19940713; 116808; 3.30; 18.58; 16.97; 4.46 -19940714; 150018; 4.24; 1.00; 13.53; 4.46 -19940715; 121104; 3.42; 1.33; 10.44; 4.46 -19940716; 108506; 3.06; 2.32; 10.42; 4.46 -19940717; 99918; 2.82; 0.00; 10.07; 4.45 -19940718; 90468; 2.55; 0.00; 13.68; 4.45 -19940719; 84741; 2.39; 0.29; 15.98; 4.44 -19940720; 80162; 2.26; 0.00; 17.46; 4.44 -19940721; 75870; 2.14; 0.00; 16.78; 4.43 -19940722; 70713; 2.00; 0.00; 14.79; 4.43 -19940723; 66420; 1.88; 0.00; 12.82; 4.42 -19940724; 62411; 1.76; 0.06; 14.36; 4.41 -19940725; 58976; 1.67; 1.76; 16.71; 4.40 -19940726; 56688; 1.60; 0.35; 17.67; 4.39 -19940727; 53249; 1.50; 0.00; 18.34; 4.38 -19940728; 50674; 1.43; 0.00; 18.33; 4.37 -19940729; 48383; 1.37; 0.12; 18.73; 4.36 -19940730; 45808; 1.29; 2.22; 19.44; 4.35 -19940731; 43803; 1.24; 0.10; 19.64; 4.34 -19940801; 42086; 1.19; 5.65; 17.05; 4.32 -19940802; 43230; 1.22; 0.00; 12.88; 4.31 -19940803; 42086; 1.19; 4.40; 13.04; 4.29 -19940804; 39794; 1.12; 0.53; 14.29; 4.28 -19940805; 37219; 1.05; 0.02; 16.09; 4.26 -19940806; 35502; 1.00; 0.00; 17.64; 4.25 -19940807; 33497; 0.95; 0.02; 18.78; 4.23 -19940808; 32066; 0.91; 1.10; 17.32; 4.21 -19940809; 32066; 0.91; 4.50; 18.19; 4.19 -19940810; 32350; 0.91; 0.62; 18.15; 4.17 -19940811; 30349; 0.86; 3.16; 14.27; 4.15 -19940812; 31206; 0.88; 2.44; 14.25; 4.13 -19940813; 30632; 0.86; 0.17; 14.65; 4.11 -19940814; 28542; 0.81; 0.43; 14.34; 4.09 -19940815; 26881; 0.76; 0.29; 14.67; 4.07 -19940816; 25794; 0.73; 0.03; 16.65; 4.04 -19940817; 24707; 0.70; 0.00; 17.06; 4.02 -19940818; 23733; 0.67; 0.16; 17.40; 4.00 -19940819; 22961; 0.65; 0.23; 19.18; 3.97 -19940820; 22072; 0.62; 4.27; 19.17; 3.95 -19940821; 22645; 0.64; 0.00; 18.82; 3.92 -19940822; 22387; 0.63; 0.00; 18.05; 3.90 -19940823; 20758; 0.59; 0.00; 15.36; 3.87 -19940824; 19755; 0.56; 0.00; 15.21; 3.84 -19940825; 19125; 0.54; 0.32; 15.19; 3.81 -19940826; 18668; 0.53; 0.03; 15.76; 3.79 -19940827; 18123; 0.51; 0.00; 15.98; 3.76 -19940828; 17492; 0.49; 0.00; 14.42; 3.73 -19940829; 17205; 0.49; 2.38; 12.28; 3.70 -19940830; 19097; 0.54; 4.46; 12.18; 3.67 -19940831; 19182; 0.54; 0.00; 12.35; 3.64 -19940901; 18094; 0.51; 0.00; 13.05; 3.61 -19940902; 17035; 0.48; 0.10; 15.02; 3.57 -19940903; 16405; 0.46; 0.06; 16.93; 3.54 -19940904; 16033; 0.45; 0.97; 15.38; 3.51 -19940905; 15516; 0.44; 0.00; 12.49; 3.48 -19940906; 15261; 0.43; 0.00; 12.95; 3.44 -19940907; 14918; 0.42; 0.00; 13.66; 3.41 -19940908; 14602; 0.41; 0.00; 14.76; 3.38 -19940909; 14315; 0.40; 7.83; 15.77; 3.34 -19940910; 21728; 0.61; 13.38; 10.72; 3.31 -19940911; 21987; 0.62; 3.16; 5.00; 3.27 -19940912; 25280; 0.71; 17.50; 6.80; 3.23 -19940913; 25079; 0.71; 0.22; 6.17; 3.20 -19940914; 20584; 0.58; 0.02; 4.58; 3.16 -19940915; 18208; 0.51; 0.00; 4.95; 3.13 -19940916; 17262; 0.49; 0.00; 7.15; 3.09 -19940917; 16348; 0.46; 0.00; 9.61; 3.05 -19940918; 15831; 0.45; 0.04; 11.28; 3.02 -19940919; 15289; 0.43; 0.67; 12.78; 2.98 -19940920; 14918; 0.42; 10.88; 12.82; 2.94 -19940921; 15087; 0.43; 0.13; 11.33; 2.90 -19940922; 15403; 0.43; 0.00; 9.38; 2.86 -19940923; 14801; 0.42; 0.06; 10.50; 2.82 -19940924; 14344; 0.40; 0.49; 8.76; 2.79 -19940925; 14400; 0.41; 1.42; 11.61; 2.75 -19940926; 16603; 0.47; 10.37; 10.38; 2.71 -19940927; 19412; 0.55; 33.57; 7.21; 2.67 -19940928; 39794; 1.12; 12.34; 5.90; 2.63 -19940929; 40081; 1.13; 2.47; 4.78; 2.59 -19940930; 28631; 0.81; 0.00; 4.26; 2.55 -19941001; 24420; 0.69; 1.89; 4.62; 2.51 -19941002; 22015; 0.62; 2.84; 5.24; 2.47 -19941003; 32636; 0.92; 18.25; 5.07; 2.43 -19941004; 33497; 0.95; 8.95; 2.81; 2.39 -19941005; 31206; 0.88; 1.39; 3.98; 2.35 -19941006; 26913; 0.76; 2.44; 3.09; 2.31 -19941007; 30919; 0.87; 11.59; 3.33; 2.26 -19941008; 34354; 0.97; 6.11; 1.89; 2.22 -19941009; 29488; 0.83; 0.30; 2.26; 2.18 -19941010; 26626; 0.75; 0.05; 3.11; 2.14 -19941011; 25794; 0.73; 0.00; 4.69; 2.10 -19941012; 26081; 0.74; 0.00; 6.14; 2.06 -19941013; 26081; 0.74; 0.00; 7.03; 2.02 -19941014; 26339; 0.74; 0.04; 8.24; 1.98 -19941015; 26626; 0.75; 0.25; 9.24; 1.94 -19941016; 27196; 0.77; 2.90; 9.30; 1.90 -19941017; 28914; 0.82; 10.03; 4.20; 1.86 -19941018; 31492; 0.89; 2.70; 0.20; 1.82 -19941019; 28372; 0.80; 0.00; -0.39; 1.77 -19941020; 26339; 0.74; 0.00; 0.25; 1.74 -19941021; 25507; 0.72; 0.13; 2.87; 1.69 -19941022; 28372; 0.80; 0.77; 6.73; 1.65 -19941023; 30632; 0.86; 7.06; 7.84; 1.61 -19941024; 35215; 0.99; 0.40; 6.83; 1.57 -19941025; 36646; 1.03; 7.56; 5.34; 1.53 -19941026; 37790; 1.07; 11.99; 3.65; 1.50 -19941027; 42372; 1.20; 0.86; 2.26; 1.46 -19941028; 37790; 1.07; 2.61; 1.69; 1.42 -19941029; 38650; 1.09; 8.49; 1.81; 1.38 -19941030; 37219; 1.05; 0.05; 2.01; 1.34 -19941031; 34354; 0.97; 1.74; 1.55; 1.30 -19941101; 33784; 0.95; 3.78; 0.86; 1.26 -19941102; 32923; 0.93; 0.00; -2.06; 1.22 -19941103; 29488; 0.83; 0.38; -1.18; 1.18 -19941104; 29201; 0.82; 2.41; 0.02; 1.15 -19941105; 30062; 0.85; 3.35; 1.61; 1.11 -19941106; 37219; 1.05; 13.08; 0.72; 1.07 -19941107; 35215; 0.99; 4.25; -2.51; 1.03 -19941108; 30632; 0.86; 5.06; -4.66; 1.00 -19941109; 28085; 0.79; 2.01; -3.56; 0.96 -19941110; 28914; 0.82; 0.00; -3.75; 0.93 -19941111; 26081; 0.74; 0.49; -4.51; 0.89 -19941112; 24965; 0.70; 3.15; -6.57; 0.86 -19941113; 24133; 0.68; 1.84; -6.67; 0.82 -19941114; 21760; 0.61; 0.00; -8.88; 0.79 -19941115; 19267; 0.54; 0.00; -9.15; 0.75 -19941116; 21501; 0.61; 1.69; -5.99; 0.72 -19941117; 26913; 0.76; 2.89; -1.66; 0.69 -19941118; 28372; 0.80; 12.78; -0.36; 0.65 -19941119; 33210; 0.94; 7.97; -1.58; 0.62 -19941120; 30062; 0.85; 10.16; -3.32; 0.59 -19941121; 28085; 0.79; 2.87; -4.92; 0.56 -19941122; 25507; 0.72; 0.92; -7.33; 0.53 -19941123; 20499; 0.58; 0.00;-10.64; 0.49 -19941124; 17205; 0.49; 0.00;-11.51; 0.46 -19941125; 19497; 0.55; 0.00; -9.25; 0.43 -19941126; 22819; 0.64; 0.11; -8.67; 0.41 -19941127; 23332; 0.66; 0.42; -6.88; 0.38 -19941128; 25794; 0.73; 5.93; -3.01; 0.35 -19941129; 26339; 0.74; 3.13; -2.27; 0.32 -19941130; 25507; 0.72; 0.27; -3.02; 0.29 -19941201; 23878; 0.67; 8.17; -4.02; 0.27 -19941202; 22819; 0.64; 1.89; -2.62; 0.24 -19941203; 24678; 0.70; 20.42; 0.36; 0.21 -19941204; 34354; 0.97; 6.85; 1.27; 0.19 -19941205; 38650; 1.09; 2.75; -2.14; 0.17 -19941206; 36932; 1.04; 25.07; -2.75; 0.14 -19941207; 32350; 0.91; 0.00; -7.58; 0.12 -19941208; 25224; 0.71; 0.18;-11.56; 0.10 -19941209; 23074; 0.65; 0.00;-10.25; 0.07 -19941210; 20042; 0.57; 0.00;-10.66; 0.05 -19941211; 19469; 0.55; 1.04;-10.88; 0.03 -19941212; 19755; 0.56; 1.82;-10.16; 0.01 -19941213; 20612; 0.58; 12.33; -6.38; 0.00 -19941214; 21760; 0.61; 0.11; -2.96; 0.00 -19941215; 24965; 0.70; 3.77; -1.10; 0.00 -19941216; 26913; 0.76; 5.74; 0.78; 0.00 -19941217; 30919; 0.87; 14.87; -0.27; 0.00 -19941218; 30062; 0.85; 0.31; -1.65; 0.00 -19941219; 27770; 0.78; 6.93; -1.77; 0.00 -19941220; 26626; 0.75; 9.74; -3.18; 0.00 -19941221; 28914; 0.82; 11.69; -1.27; 0.00 -19941222; 32636; 0.92; 6.03; -1.03; 0.00 -19941223; 30919; 0.87; 13.17; -3.89; 0.00 -19941224; 28085; 0.79; 0.09; -6.28; 0.00 -19941225; 23878; 0.67; 2.17;-10.53; 0.00 -19941226; 23332; 0.66; 4.98; -7.52; 0.00 -19941227; 23878; 0.67; 0.05; -8.41; 0.00 -19941228; 22015; 0.62; 0.00;-11.31; 0.00 -19941229; 20499; 0.58; 0.64;-12.14; 0.00 -19941230; 20499; 0.58; 0.00;-11.36; 0.00 -19941231; 20499; 0.58; 0.00;-12.16; 0.00 -19950101; 22274; 0.63; 0.00;-10.86; 0.00 -19950102; 23591; 0.67; 0.89;-10.33; 0.00 -19950103; 25224; 0.71; 8.00; -6.26; 0.00 -19950104; 28372; 0.80; 42.75; -2.05; 0.00 -19950105; 38650; 1.09; 25.66; 1.11; 0.00 -19950106; 57258; 1.62; 27.84; 0.39; 0.00 -19950107; 73291; 2.07; 14.55; 1.12; 0.00 -19950108; 86176; 2.43; 12.14; 1.87; 0.00 -19950109; 77014; 2.17; 3.64; -0.34; 0.00 -19950110; 65847; 1.86; 0.85; 1.45; 0.00 -19950111; 57545; 1.62; 0.00; 0.65; 0.00 -19950112; 50961; 1.44; 0.00; -1.19; 0.00 -19950113; 46378; 1.31; 0.00; -0.91; 0.00 -19950114; 42086; 1.19; 0.00; -3.41; 0.00 -19950115; 38937; 1.10; 0.00; -5.50; 0.00 -19950116; 37219; 1.05; 0.00; -5.61; 0.00 -19950117; 37219; 1.05; 0.15; -3.38; 0.00 -19950118; 36072; 1.02; 0.41; -3.49; 0.00 -19950119; 33497; 0.95; 0.88; -3.98; 0.00 -19950120; 32636; 0.92; 0.72; -2.91; 0.00 -19950121; 32066; 0.91; 0.40; -0.56; 0.00 -19950122; 30919; 0.87; 6.53; -0.38; 0.00 -19950123; 31492; 0.89; 2.26; 1.03; 0.00 -19950124; 30632; 0.86; 3.79; 0.02; 0.00 -19950125; 29488; 0.83; 0.15; 0.74; 0.00 -19950126; 29488; 0.83; 1.26; 1.69; 0.00 -19950127; 31492; 0.89; 5.48; 2.97; 0.00 -19950128; 34067; 0.96; 0.15; 1.31; 0.00 -19950129; 32066; 0.91; 1.14; -2.19; 0.00 -19950130; 31492; 0.89; 1.98; -1.03; 0.00 -19950131; 30919; 0.87; 0.00; -0.82; 0.00 -19950201; 28631; 0.81; 0.00; -4.67; 0.00 -19950202; 27196; 0.77; 0.00; -5.57; 0.00 -19950203; 24678; 0.70; 0.00; -6.08; 0.00 -19950204; 22819; 0.64; 0.00; -7.82; 0.00 -19950205; 22532; 0.64; 0.82; -7.91; 0.00 -19950206; 23591; 0.67; 0.24; -7.63; 0.00 -19950207; 27770; 0.78; 8.48; -3.80; 0.00 -19950208; 28631; 0.81; 8.65; -6.29; 0.00 -19950209; 26626; 0.75; 23.32; -4.03; 0.01 -19950210; 26081; 0.74; 3.14; -1.21; 0.03 -19950211; 25507; 0.72; 0.77; -0.39; 0.05 -19950212; 27483; 0.78; 7.83; 1.89; 0.07 -19950213; 28914; 0.82; 4.16; 0.77; 0.10 -19950214; 30632; 0.86; 1.97; 1.15; 0.12 -19950215; 30062; 0.85; 1.84; 1.41; 0.14 -19950216; 35215; 0.99; 14.05; 1.31; 0.17 -19950217; 42086; 1.19; 20.88; 0.44; 0.19 -19950218; 76727; 2.17; 33.30; 0.79; 0.22 -19950219; 101061; 2.85; 0.59; 0.90; 0.24 -19950220; 83884; 2.37; 1.70; -0.16; 0.27 -19950221; 70143; 1.98; 0.51; 2.50; 0.29 -19950222; 64703; 1.83; 2.02; 2.74; 0.32 -19950223; 61554; 1.74; 0.16; 2.47; 0.35 -19950224; 61267; 1.73; 0.19; 3.60; 0.38 -19950225; 63842; 1.80; 5.36; 2.95; 0.41 -19950226; 69282; 1.96; 0.53; 2.09; 0.44 -19950227; 68712; 1.94; 0.10; -0.38; 0.47 -19950228; 65560; 1.85; 3.07; 0.50; 0.50 -19950301; 62411; 1.76; 1.90; 2.56; 0.53 -19950302; 66707; 1.88; 3.01; 4.52; 0.56 -19950303; 71000; 2.00; 0.20; 4.01; 0.59 -19950304; 74722; 2.11; 6.24; 3.51; 0.62 -19950305; 81023; 2.29; 2.75; 3.43; 0.66 -19950306; 86746; 2.45; 7.04; 2.56; 0.69 -19950307; 85889; 2.43; 9.67; 1.10; 0.72 -19950308; 87894; 2.48; 1.52; 2.89; 0.75 -19950309; 87320; 2.47; 1.01; 6.36; 0.79 -19950310; 93617; 2.64; 0.00; 5.68; 0.82 -19950311; 101922; 2.88; 17.68; 3.41; 0.86 -19950312; 106788; 3.02; 4.93; 1.91; 0.89 -19950313; 108793; 3.07; 13.75; 2.82; 0.93 -19950314; 112515; 3.18; 6.17; 0.70; 0.96 -19950315; 105641; 2.98; 0.60; 0.30; 1.00 -19950316; 97339; 2.75; 0.00; -0.29; 1.04 -19950317; 91616; 2.59; 0.06; 0.08; 1.07 -19950318; 85889; 2.43; 0.18; -1.44; 1.11 -19950319; 78444; 2.21; 0.00; -3.35; 1.15 -19950320; 73004; 2.06; 0.20; -1.45; 1.19 -19950321; 69569; 1.96; 0.81; 0.23; 1.23 -19950322; 66134; 1.87; 2.18; 2.00; 1.26 -19950323; 66707; 1.88; 6.81; 1.27; 1.30 -19950324; 63842; 1.80; 0.52; 0.76; 1.34 -19950325; 60980; 1.72; 1.45; 1.97; 1.38 -19950326; 59263; 1.67; 1.16; 2.08; 1.42 -19950327; 57545; 1.62; 3.73; 0.30; 1.46 -19950328; 56114; 1.58; 1.94; 1.03; 1.50 -19950329; 54396; 1.54; 3.00; 1.78; 1.54 -19950330; 71574; 2.02; 18.88; 2.84; 1.58 -19950331; 74722; 2.11; 8.06; 0.91; 1.62 -19950401; 69569; 1.96; 0.00; 1.66; 1.66 -19950402; 71574; 2.02; 11.53; 1.08; 1.70 -19950403; 69282; 1.96; 3.17; -0.21; 1.74 -19950404; 65847; 1.86; 0.00; -1.58; 1.78 -19950405; 62411; 1.76; 0.00; -0.73; 1.82 -19950406; 60980; 1.72; 0.00; 0.44; 1.86 -19950407; 59263; 1.67; 0.64; 1.34; 1.90 -19950408; 57258; 1.62; 0.80; 1.76; 1.94 -19950409; 55540; 1.57; 7.25; 0.16; 1.98 -19950410; 55540; 1.57; 1.55; -0.37; 2.02 -19950411; 53536; 1.51; 0.23; -1.06; 2.06 -19950412; 50100; 1.41; 0.28; -1.14; 2.10 -19950413; 48670; 1.37; 0.00; -0.93; 2.14 -19950414; 47812; 1.35; 0.00; 0.35; 2.18 -19950415; 47812; 1.35; 0.00; 1.96; 2.23 -19950416; 49530; 1.40; 0.00; 3.47; 2.27 -19950417; 53249; 1.50; 0.00; 5.76; 2.31 -19950418; 60980; 1.72; 0.00; 7.51; 2.35 -19950419; 71000; 2.00; 0.59; 8.40; 2.39 -19950420; 83884; 2.37; 0.43; 7.78; 2.43 -19950421; 98200; 2.77; 1.92; 7.27; 2.47 -19950422; 113085; 3.19; 1.93; 8.34; 2.51 -19950423; 144578; 4.08; 2.65; 9.62; 2.55 -19950424; 206419; 5.83; 15.90; 6.64; 2.59 -19950425; 203554; 5.75; 0.74; 2.14; 2.63 -19950426; 170630; 4.82; 0.62; 2.55; 2.67 -19950427; 149444; 4.22; 0.30; 2.77; 2.71 -19950428; 138281; 3.90; 0.55; 4.99; 2.75 -19950429; 135416; 3.82; 0.00; 5.90; 2.79 -19950430; 138851; 3.92; 0.08; 6.19; 2.83 -19950501; 143147; 4.04; 0.89; 6.61; 2.87 -19950502; 152022; 4.29; 3.85; 5.98; 2.90 -19950503; 150018; 4.24; 0.25; 5.72; 2.94 -19950504; 150592; 4.25; 0.02; 6.25; 2.98 -19950505; 164046; 4.63; 16.56; 5.89; 3.02 -19950506; 188094; 5.31; 2.38; 4.79; 3.06 -19950507; 172635; 4.87; 2.40; 5.27; 3.09 -19950508; 173209; 4.89; 8.38; 3.69; 3.13 -19950509; 161468; 4.56; 8.87; 0.76; 3.16 -19950510; 148013; 4.18; 3.07; 1.87; 3.20 -19950511; 135416; 3.82; 0.10; 1.58; 3.24 -19950512; 124822; 3.52; 0.00; 2.35; 3.27 -19950513; 120243; 3.40; 0.63; 3.72; 3.31 -19950514; 118525; 3.35; 0.81; 4.70; 3.34 -19950515; 126544; 3.57; 18.69; 3.87; 3.38 -19950516; 120817; 3.41; 1.26; 3.42; 3.41 -19950517; 115377; 3.26; 3.80; 6.82; 3.44 -19950518; 137707; 3.89; 6.57; 7.08; 3.48 -19950519; 146296; 4.13; 0.00; 6.13; 3.51 -19950520; 145725; 4.11; 0.00; 9.94; 3.54 -19950521; 179219; 5.06; 0.00; 10.46; 3.58 -19950522; 204988; 5.79; 0.00; 9.91; 3.61 -19950523; 240773; 6.80; 0.00; 11.84; 3.64 -19950524; 292021; 8.25; 0.00; 13.22; 3.67 -19950525; 357868; 10.10; 0.00; 14.17; 3.70 -19950526; 438030; 12.37; 0.00; 14.40; 3.73 -19950527; 469522; 13.26; 0.00; 14.53; 3.76 -19950528; 483838; 13.66; 0.00; 15.83; 3.79 -19950529; 501015; 14.15; 0.00; 15.72; 3.81 -19950530; 501015; 14.15; 0.00; 14.13; 3.84 -19950531; 438030; 12.37; 0.00; 11.63; 3.87 -19950601; 372183; 10.51; 1.62; 11.41; 3.90 -19950602; 329237; 9.30; 1.63; 11.85; 3.92 -19950603; 294883; 8.33; 0.02; 12.45; 3.95 -19950604; 286294; 8.08; 0.00; 10.63; 3.97 -19950605; 259668; 7.33; 0.09; 10.42; 4.00 -19950606; 238769; 6.74; 0.00; 11.46; 4.02 -19950607; 233042; 6.58; 0.00; 12.97; 4.04 -19950608; 236481; 6.68; 0.19; 14.55; 4.07 -19950609; 235907; 6.66; 1.11; 15.03; 4.09 -19950610; 230180; 6.50; 8.10; 13.01; 4.11 -19950611; 221018; 6.24; 4.77; 9.51; 4.13 -19950612; 191530; 5.41; 6.30; 7.61; 4.15 -19950613; 169200; 4.78; 0.55; 10.19; 4.17 -19950614; 151162; 4.27; 0.18; 11.62; 4.19 -19950615; 152596; 4.31; 7.68; 11.09; 4.21 -19950616; 148013; 4.18; 0.83; 10.71; 4.23 -19950617; 139712; 3.94; 7.48; 13.48; 4.25 -19950618; 173779; 4.91; 10.94; 10.24; 4.26 -19950619; 151162; 4.27; 3.73; 6.98; 4.28 -19950620; 130549; 3.69; 0.20; 7.61; 4.29 -19950621; 114803; 3.24; 0.51; 8.90; 4.31 -19950622; 105641; 2.98; 0.56; 11.36; 4.32 -19950623; 103923; 2.93; 0.79; 13.98; 4.34 -19950624; 109363; 3.09; 0.06; 12.57; 4.35 -19950625; 103923; 2.93; 0.13; 9.88; 4.36 -19950626; 96195; 2.72; 2.95; 12.62; 4.37 -19950627; 95335; 2.69; 11.73; 12.28; 4.38 -19950628; 109363; 3.09; 7.92; 12.39; 4.39 -19950629; 113659; 3.21; 7.76; 11.89; 4.40 -19950630; 106788; 3.02; 2.69; 11.66; 4.41 -19950701; 105071; 2.97; 18.51; 11.58; 4.42 -19950702; 143147; 4.04; 8.09; 9.18; 4.43 -19950703; 139712; 3.94; 0.11; 8.62; 4.43 -19950704; 114233; 3.23; 0.22; 11.78; 4.44 -19950705; 98770; 2.79; 0.51; 15.76; 4.45 -19950706; 92186; 2.60; 2.04; 17.35; 4.45 -19950707; 89611; 2.53; 0.62; 15.84; 4.45 -19950708; 84458; 2.38; 0.19; 14.94; 4.46 -19950709; 79018; 2.23; 12.96; 11.26; 4.46 -19950710; 96195; 2.72; 14.89; 10.92; 4.46 -19950711; 104497; 2.95; 0.58; 13.12; 4.46 -19950712; 82740; 2.34; 1.32; 15.01; 4.46 -19950713; 74722; 2.11; 0.76; 16.72; 4.46 -19950714; 81023; 2.29; 17.10; 12.75; 4.46 -19950715; 84741; 2.39; 3.29; 7.35; 4.46 -19950716; 76727; 2.17; 0.00; 9.56; 4.46 -19950717; 68425; 1.93; 0.34; 12.32; 4.45 -19950718; 62985; 1.78; 2.55; 15.21; 4.45 -19950719; 60980; 1.72; 2.45; 17.21; 4.44 -19950720; 62985; 1.78; 13.46; 14.17; 4.44 -19950721; 73004; 2.06; 0.00; 13.62; 4.43 -19950722; 60980; 1.72; 0.00; 15.71; 4.43 -19950723; 55254; 1.56; 0.99; 16.39; 4.42 -19950724; 53249; 1.50; 1.43; 17.12; 4.41 -19950725; 53536; 1.51; 1.65; 15.21; 4.40 -19950726; 49814; 1.41; 0.00; 13.73; 4.39 -19950727; 46095; 1.30; 0.33; 12.32; 4.38 -19950728; 43516; 1.23; 0.00; 13.98; 4.37 -19950729; 40942; 1.16; 0.00; 15.51; 4.36 -19950730; 38937; 1.10; 0.00; 17.24; 4.35 -19950731; 37219; 1.05; 11.78; 17.99; 4.34 -19950801; 36072; 1.02; 1.15; 19.71; 4.32 -19950802; 35785; 1.01; 2.03; 19.72; 4.31 -19950803; 33210; 0.94; 3.42; 18.72; 4.29 -19950804; 31779; 0.90; 0.64; 19.21; 4.28 -19950805; 31206; 0.88; 0.00; 20.77; 4.26 -19950806; 30062; 0.85; 0.00; 20.49; 4.25 -19950807; 28372; 0.80; 1.57; 21.48; 4.23 -19950808; 27770; 0.78; 1.55; 21.27; 4.21 -19950809; 27196; 0.77; 2.37; 19.96; 4.19 -19950810; 28372; 0.80; 10.88; 20.83; 4.17 -19950811; 34354; 0.97; 8.56; 17.64; 4.15 -19950812; 33210; 0.94; 0.00; 13.59; 4.13 -19950813; 27770; 0.78; 0.00; 15.60; 4.11 -19950814; 25507; 0.72; 0.34; 15.78; 4.09 -19950815; 24420; 0.69; 0.69; 15.04; 4.07 -19950816; 23074; 0.65; 0.00; 16.71; 4.04 -19950817; 22274; 0.63; 0.00; 16.02; 4.02 -19950818; 20984; 0.59; 0.00; 15.88; 4.00 -19950819; 19982; 0.56; 0.68; 16.01; 3.97 -19950820; 19267; 0.54; 0.84; 15.64; 3.95 -19950821; 19040; 0.54; 4.96; 14.92; 3.92 -19950822; 19267; 0.54; 8.88; 14.95; 3.90 -19950823; 21243; 0.60; 5.49; 14.38; 3.87 -19950824; 20241; 0.57; 0.32; 13.45; 3.84 -19950825; 19267; 0.54; 0.91; 14.93; 3.81 -19950826; 18123; 0.51; 0.64; 15.23; 3.79 -19950827; 17436; 0.49; 0.00; 15.69; 3.76 -19950828; 16749; 0.47; 0.00; 16.27; 3.73 -19950829; 15916; 0.45; 0.00; 15.41; 3.70 -19950830; 15488; 0.44; 0.67; 16.28; 3.67 -19950831; 14886; 0.42; 5.06; 16.67; 3.64 -19950901; 16118; 0.46; 24.22; 16.70; 3.61 -19950902; 22015; 0.62; 0.39; 13.20; 3.57 -19950903; 21501; 0.61; 0.02; 10.43; 3.54 -19950904; 17892; 0.51; 0.00; 11.19; 3.51 -19950905; 16547; 0.47; 0.00; 10.67; 3.48 -19950906; 15690; 0.44; 0.04; 11.11; 3.44 -19950907; 15087; 0.43; 0.47; 10.35; 3.41 -19950908; 14687; 0.41; 3.77; 10.61; 3.38 -19950909; 14687; 0.41; 0.94; 8.16; 3.34 -19950910; 14687; 0.41; 13.63; 5.44; 3.31 -19950911; 23074; 0.65; 10.95; 8.55; 3.27 -19950912; 26081; 0.74; 0.00; 10.77; 3.23 -19950913; 20758; 0.59; 0.00; 11.42; 3.20 -19950914; 17666; 0.50; 0.00; 10.96; 3.16 -19950915; 16320; 0.46; 0.00; 10.54; 3.13 -19950916; 15488; 0.44; 0.00; 9.92; 3.09 -19950917; 14687; 0.41; 0.23; 9.02; 3.05 -19950918; 14485; 0.41; 20.60; 4.12; 3.02 -19950919; 18810; 0.53; 2.06; 1.78; 2.98 -19950920; 17666; 0.50; 0.04; 2.02; 2.94 -19950921; 16118; 0.46; 0.06; 4.87; 2.90 -19950922; 16118; 0.46; 0.00; 7.42; 2.86 -19950923; 16118; 0.46; 0.00; 8.06; 2.82 -19950924; 15916; 0.45; 0.00; 9.26; 2.79 -19950925; 15087; 0.43; 0.00; 10.75; 2.75 -19950926; 14687; 0.41; 0.30; 9.95; 2.71 -19950927; 14287; 0.40; 0.78; 8.43; 2.67 -19950928; 14085; 0.40; 0.00; 4.68; 2.63 -19950929; 13887; 0.39; 0.00; 4.08; 2.59 -19950930; 13685; 0.39; 7.72; 3.05; 2.55 -19951001; 14287; 0.40; 0.18; 4.49; 2.51 -19951002; 14485; 0.41; 0.28; 4.96; 2.47 -19951003; 14085; 0.40; 0.00; 5.33; 2.43 -19951004; 14085; 0.40; 4.05; 7.76; 2.39 -19951005; 17205; 0.49; 1.65; 7.20; 2.35 -19951006; 18038; 0.51; 0.00; 5.98; 2.31 -19951007; 15690; 0.44; 1.00; 4.25; 2.26 -19951008; 14687; 0.41; 6.68; 4.15; 2.22 -19951009; 15888; 0.45; 11.63; 5.72; 2.18 -19951010; 20212; 0.57; 2.67; 5.64; 2.14 -19951011; 22791; 0.64; 0.00; 3.96; 2.10 -19951012; 19982; 0.56; 0.07; 4.33; 2.06 -19951013; 17807; 0.50; 1.42; 4.11; 2.02 -19951014; 17177; 0.48; 4.22; 4.46; 1.98 -19951015; 17606; 0.50; 0.20; 4.03; 1.94 -19951016; 17177; 0.48; 0.11; 2.81; 1.90 -19951017; 16547; 0.47; 3.11; 2.46; 1.86 -19951018; 18781; 0.53; 4.87; 2.96; 1.82 -19951019; 18895; 0.53; 0.00; 2.83; 1.77 -19951020; 17606; 0.50; 0.00; 4.93; 1.74 -19951021; 17007; 0.48; 0.23; 5.84; 1.69 -19951022; 17379; 0.49; 6.36; 4.46; 1.65 -19951023; 25851; 0.73; 8.60; 4.55; 1.61 -19951024; 26368; 0.74; 0.00; 2.61; 1.57 -19951025; 22274; 0.63; 0.00; 5.52; 1.53 -19951026; 20354; 0.57; 0.00; 6.08; 1.50 -19951027; 19267; 0.54; 0.00; 5.76; 1.46 -19951028; 18264; 0.52; 0.00; 5.31; 1.42 -19951029; 18094; 0.51; 0.00; 6.15; 1.38 -19951030; 17921; 0.51; 0.41; 5.81; 1.34 -19951031; 17694; 0.50; 1.03; 6.40; 1.30 -19951101; 17379; 0.49; 4.33; 6.09; 1.26 -19951102; 18696; 0.53; 2.64; 4.63; 1.22 -19951103; 20414; 0.58; 4.26; 6.22; 1.18 -19951104; 30349; 0.86; 24.53; 5.33; 1.15 -19951105; 36932; 1.04; 0.75; 1.94; 1.11 -19951106; 33210; 0.94; 20.80; 3.37; 1.07 -19951107; 46378; 1.31; 1.11; 0.09; 1.03 -19951108; 40368; 1.14; 2.52; -1.12; 1.00 -19951109; 33784; 0.95; 0.03; -2.86; 0.96 -19951110; 30349; 0.86; 6.80; -0.33; 0.93 -19951111; 40368; 1.14; 16.22; 2.03; 0.89 -19951112; 55540; 1.57; 2.68; 0.47; 0.86 -19951113; 46665; 1.32; 8.13; 0.63; 0.82 -19951114; 42086; 1.19; 3.57; -0.06; 0.79 -19951115; 38650; 1.09; 1.72; 0.79; 0.75 -19951116; 38076; 1.08; 6.02; 0.76; 0.72 -19951117; 42659; 1.20; 9.15; 0.23; 0.69 -19951118; 43803; 1.24; 3.98; -0.90; 0.65 -19951119; 41225; 1.16; 4.29; -2.14; 0.62 -19951120; 37219; 1.05; 3.26; -2.35; 0.59 -19951121; 34354; 0.97; 0.20; -3.85; 0.56 -19951122; 29488; 0.83; 0.00; -7.17; 0.53 -19951123; 24852; 0.70; 1.84; -6.03; 0.49 -19951124; 30349; 0.86; 21.34; -3.19; 0.46 -19951125; 34928; 0.99; 7.43; -2.61; 0.43 -19951126; 31779; 0.90; 2.70; -2.88; 0.41 -19951127; 30062; 0.85; 5.94; -2.96; 0.38 -19951128; 29775; 0.84; 7.17; -4.25; 0.35 -19951129; 26853; 0.76; 0.29; -8.64; 0.32 -19951130; 19869; 0.56; 0.00;-11.36; 0.29 -19951201; 19097; 0.54; 0.00;-10.56; 0.27 -19951202; 18325; 0.52; 1.09; -8.91; 0.24 -19951203; 18038; 0.51; 2.91; -6.45; 0.21 -19951204; 18325; 0.52; 1.18; -7.49; 0.19 -19951205; 18608; 0.53; 4.01; -8.67; 0.17 -19951206; 18895; 0.53; 17.36; -7.09; 0.14 -19951207; 19182; 0.54; 22.42; -8.83; 0.12 -19951208; 21328; 0.60; 9.47; -5.54; 0.10 -19951209; 22847; 0.65; 4.90; -2.58; 0.07 -19951210; 28486; 0.80; 10.04; -0.69; 0.05 -19951211; 29201; 0.82; 10.47; -1.81; 0.03 -19951212; 27083; 0.76; 1.88; -1.93; 0.01 -19951213; 25968; 0.73; 8.28; -2.11; 0.00 -19951214; 26941; 0.76; 14.75; -1.75; 0.00 -19951215; 27370; 0.77; 6.50; -2.56; 0.00 -19951216; 25652; 0.72; 1.38; -5.04; 0.00 -19951217; 22617; 0.64; 0.37;-10.93; 0.00 -19951218; 17577; 0.50; 6.55;-13.15; 0.00 -19951219; 15459; 0.44; 6.42;-13.04; 0.00 -19951220; 13742; 0.39; 0.35;-15.28; 0.00 -19951221; 12885; 0.36; 0.00;-13.33; 0.00 -19951222; 12311; 0.35; 0.00;-11.31; 0.00 -19951223; 12024; 0.34; 0.00;-10.64; 0.00 -19951224; 11737; 0.33; 1.01;-10.25; 0.00 -19951225; 11737; 0.33; 0.88;-12.68; 0.00 -19951226; 11737; 0.33; 9.93;-12.28; 0.00 -19951227; 12024; 0.34; 3.19;-12.67; 0.00 -19951228; 12598; 0.36; 0.00;-12.02; 0.00 -19951229; 13168; 0.37; 13.84;-11.64; 0.00 -19951230; 13742; 0.39; 21.35; -8.93; 0.00 -19951231; 14886; 0.42; 2.43; -3.23; 0.00 -19960101; 16603; 0.47; 0.87; -2.84; 0.00 -19960102; 27657; 0.78; 6.06; -4.94; 0.00 -19960103; 49814; 1.41; 28.56; -1.20; 0.00 -19960104; 57258; 1.62; 0.57; 2.24; 0.00 -19960105; 65847; 1.86; 9.61; 1.74; 0.00 -19960106; 71574; 2.02; 1.37; 2.14; 0.00 -19960107; 75870; 2.14; 0.69; 0.06; 0.00 -19960108; 62985; 1.78; 0.43; 0.84; 0.00 -19960109; 57258; 1.62; 0.86; -1.73; 0.00 -19960110; 51531; 1.46; 0.58; -2.06; 0.00 -19960111; 47239; 1.33; 5.59; -0.87; 0.00 -19960112; 41512; 1.17; 5.68; -0.96; 0.00 -19960113; 38650; 1.09; 0.24; -4.24; 0.00 -19960114; 32923; 0.93; 0.00;-10.14; 0.00 -19960115; 22904; 0.65; 0.00;-10.82; 0.00 -19960116; 21473; 0.61; 6.80;-10.33; 0.00 -19960117; 20326; 0.57; 0.00;-10.76; 0.00 -19960118; 20042; 0.57; 0.00;-11.18; 0.00 -19960119; 20042; 0.57; 0.00;-10.51; 0.00 -19960120; 20326; 0.57; 0.00;-10.17; 0.00 -19960121; 21473; 0.61; 3.09; -8.90; 0.00 -19960122; 22330; 0.63; 6.59; -4.64; 0.00 -19960123; 27196; 0.77; 16.47; -1.66; 0.00 -19960124; 37219; 1.05; 14.12; 1.25; 0.00 -19960125; 88751; 2.51; 26.08; 2.54; 0.00 -19960126; 85889; 2.43; 0.12; 0.87; 0.00 -19960127; 60123; 1.70; 0.12; 3.40; 0.00 -19960128; 51531; 1.46; 0.04; 3.70; 0.00 -19960129; 47239; 1.33; 0.00; 2.02; 0.00 -19960130; 44377; 1.25; 0.00; -1.30; 0.00 -19960131; 41512; 1.17; 0.00; -2.74; 0.00 -19960201; 40081; 1.13; 0.07; -3.93; 0.00 -19960202; 38650; 1.09; 0.00; -3.14; 0.00 -19960203; 36646; 1.03; 0.00; -2.16; 0.00 -19960204; 34928; 0.99; 0.00; -2.78; 0.00 -19960205; 33784; 0.95; 0.13; -3.56; 0.00 -19960206; 32923; 0.93; 3.84; -4.76; 0.00 -19960207; 33784; 0.95; 0.07; -2.50; 0.00 -19960208; 32636; 0.92; 0.57; -2.48; 0.00 -19960209; 32066; 0.91; 6.87; -2.72; 0.01 -19960210; 32636; 0.92; 1.35; -2.64; 0.03 -19960211; 32350; 0.91; 5.32; -1.61; 0.05 -19960212; 32066; 0.91; 8.74; -0.80; 0.07 -19960213; 40081; 1.13; 28.39; -0.16; 0.10 -19960214; 50961; 1.44; 0.67; -1.06; 0.12 -19960215; 46952; 1.33; 0.15; -2.86; 0.14 -19960216; 43803; 1.24; 4.04; -2.13; 0.17 -19960217; 42372; 1.20; 4.61; -1.74; 0.19 -19960218; 39507; 1.12; 0.00; -3.83; 0.22 -19960219; 35502; 1.00; 0.09; -4.07; 0.24 -19960220; 34641; 0.98; 0.90; -2.85; 0.27 -19960221; 37790; 1.07; 9.13; -1.44; 0.29 -19960222; 36646; 1.03; 2.04; -2.59; 0.32 -19960223; 34641; 0.98; 5.59; -2.60; 0.35 -19960224; 34067; 0.96; 2.07; -2.60; 0.38 -19960225; 33210; 0.94; 9.78; -2.85; 0.41 -19960226; 32636; 0.92; 0.15; -1.38; 0.44 -19960227; 31206; 0.88; 0.49; -1.81; 0.47 -19960228; 30919; 0.87; 0.00; -0.26; 0.50 -19960229; 31206; 0.88; 0.21; -0.49; 0.53 -19960301; 31492; 0.89; 4.18; 0.11; 0.56 -19960302; 34928; 0.99; 6.55; 0.51; 0.59 -19960303; 35215; 0.99; 2.02; -0.66; 0.62 -19960304; 33784; 0.95; 2.73; -1.96; 0.66 -19960305; 32923; 0.93; 0.00; -2.50; 0.69 -19960306; 31779; 0.90; 0.00; -1.00; 0.72 -19960307; 32066; 0.91; 0.15; 1.01; 0.75 -19960308; 33210; 0.94; 0.09; 1.69; 0.79 -19960309; 36932; 1.04; 6.79; 2.61; 0.82 -19960310; 43803; 1.24; 7.17; 2.06; 0.86 -19960311; 56401; 1.59; 3.45; 2.35; 0.89 -19960312; 58689; 1.66; 15.39; 0.86; 0.93 -19960313; 61267; 1.73; 20.77; -0.17; 0.96 -19960314; 84741; 2.39; 31.97; 0.87; 1.00 -19960315; 91329; 2.58; 3.69; 0.91; 1.04 -19960316; 80736; 2.28; 2.04; 2.08; 1.07 -19960317; 76153; 2.15; 4.49; 1.52; 1.11 -19960318; 69282; 1.96; 0.45; 1.32; 1.15 -19960319; 65276; 1.84; 10.26; 2.94; 1.19 -19960320; 75296; 2.13; 5.04; 4.77; 1.23 -19960321; 101061; 2.85; 9.53; 2.99; 1.26 -19960322; 104210; 2.94; 10.27; 1.69; 1.30 -19960323; 95908; 2.71; 4.34; 0.63; 1.34 -19960324; 93904; 2.65; 7.60; 1.29; 1.38 -19960325; 86176; 2.43; 5.05; -0.27; 1.42 -19960326; 83884; 2.37; 10.70; 0.35; 1.46 -19960327; 76153; 2.15; 2.91; 0.88; 1.50 -19960328; 70143; 1.98; 1.28; -0.91; 1.54 -19960329; 65276; 1.84; 1.33; 1.06; 1.58 -19960330; 61267; 1.73; 0.00; 1.53; 1.62 -19960331; 58976; 1.67; 0.00; 2.77; 1.66 -19960401; 58976; 1.67; 0.81; 1.87; 1.70 -19960402; 58689; 1.66; 0.57; 1.99; 1.74 -19960403; 57545; 1.62; 0.00; 1.91; 1.78 -19960404; 58689; 1.66; 1.08; 4.40; 1.82 -19960405; 66420; 1.88; 3.83; 4.76; 1.86 -19960406; 79875; 2.26; 4.83; 2.29; 1.90 -19960407; 75583; 2.13; 1.12; 1.87; 1.94 -19960408; 79875; 2.26; 13.68; 1.95; 1.98 -19960409; 81306; 2.30; 1.16; 1.27; 2.02 -19960410; 79305; 2.24; 11.61; 1.67; 2.06 -19960411; 76153; 2.15; 3.09; 0.14; 2.10 -19960412; 71000; 2.00; 6.04; 0.81; 2.14 -19960413; 68712; 1.94; 2.11; 3.72; 2.18 -19960414; 70143; 1.98; 0.00; 6.79; 2.23 -19960415; 89611; 2.53; 0.00; 10.50; 2.27 -19960416; 135132; 3.82; 0.16; 10.60; 2.31 -19960417; 198114; 5.59; 3.81; 8.02; 2.35 -19960418; 220448; 6.22; 10.14; 6.41; 2.39 -19960419; 227605; 6.43; 13.15; 4.34; 2.43 -19960420; 217012; 6.13; 14.78; 2.42; 2.47 -19960421; 185520; 5.24; 0.15; 4.48; 2.51 -19960422; 173209; 4.89; 2.85; 7.20; 2.55 -19960423; 192390; 5.43; 8.82; 4.55; 2.59 -19960424; 173209; 4.89; 0.09; 1.09; 2.63 -19960425; 154884; 4.37; 0.61; 0.35; 2.67 -19960426; 140285; 3.96; 0.43; 0.44; 2.71 -19960427; 126544; 3.57; 0.04; 0.49; 2.75 -19960428; 118239; 3.34; 0.07; -0.24; 2.79 -19960429; 110224; 3.11; 0.49; 2.04; 2.83 -19960430; 104497; 2.95; 7.04; 2.06; 2.87 -19960501; 106788; 3.02; 2.92; 3.56; 2.90 -19960502; 124822; 3.52; 6.81; 4.93; 2.94 -19960503; 127114; 3.59; 9.31; 2.64; 2.98 -19960504; 119386; 3.37; 2.02; 1.82; 3.02 -19960505; 116234; 3.28; 4.47; 2.41; 3.06 -19960506; 110798; 3.13; 0.85; 2.28; 3.09 -19960507; 106788; 3.02; 1.25; 3.85; 3.13 -19960508; 113372; 3.20; 0.73; 7.22; 3.16 -19960509; 150592; 4.25; 10.28; 6.10; 3.20 -19960510; 157462; 4.45; 0.28; 4.11; 3.24 -19960511; 160611; 4.53; 8.02; 6.64; 3.27 -19960512; 220448; 6.22; 2.06; 8.81; 3.31 -19960513; 256233; 7.23; 0.26; 11.01; 3.34 -19960514; 352141; 9.94; 22.21; 10.09; 3.38 -19960515; 389360; 10.99; 22.83; 3.52; 3.41 -19960516; 312060; 8.81; 1.65; 3.72; 3.44 -19960517; 265682; 7.50; 0.25; 5.95; 3.48 -19960518; 263390; 7.44; 0.50; 8.21; 3.51 -19960519; 292021; 8.25; 2.64; 9.53; 3.54 -19960520; 395087; 11.16; 10.81; 7.98; 3.58 -19960521; 349279; 9.86; 4.62; 4.22; 3.61 -19960522; 292021; 8.25; 0.13; 6.15; 3.64 -19960523; 340691; 9.62; 20.37; 6.60; 3.67 -19960524; 297744; 8.41; 2.74; 3.64; 3.70 -19960525; 260529; 7.36; 2.90; 4.19; 3.73 -19960526; 257663; 7.28; 7.54; 6.17; 3.76 -19960527; 280567; 7.92; 0.29; 8.25; 3.79 -19960528; 292021; 8.25; 0.12; 10.55; 3.81 -19960529; 306333; 8.65; 0.94; 13.96; 3.84 -19960530; 469522; 13.26; 13.57; 15.04; 3.87 -19960531; 572588; 16.17; 0.43; 7.82; 3.90 -19960601; 406537; 11.48; 0.00; 5.44; 3.92 -19960602; 346418; 9.78; 0.03; 6.57; 3.95 -19960603; 314925; 8.89; 0.62; 8.32; 3.97 -19960604; 312060; 8.81; 9.63; 6.63; 4.00 -19960605; 326375; 9.22; 2.66; 7.20; 4.02 -19960606; 320648; 9.05; 9.17; 7.55; 4.04 -19960607; 326375; 9.22; 5.53; 6.27; 4.07 -19960608; 303471; 8.57; 1.25; 5.58; 4.09 -19960609; 275414; 7.78; 7.07; 5.61; 4.11 -19960610; 265682; 7.50; 6.20; 7.11; 4.13 -19960611; 292021; 8.25; 9.33; 8.23; 4.15 -19960612; 297744; 8.41; 2.21; 10.46; 4.17 -19960613; 329237; 9.30; 5.28; 11.77; 4.19 -19960614; 355006; 10.02; 0.04; 12.39; 4.21 -19960615; 377906; 10.67; 0.46; 13.19; 4.23 -19960616; 386499; 10.91; 0.13; 12.60; 4.25 -19960617; 369318; 10.43; 0.00; 10.49; 4.26 -19960618; 326375; 9.22; 0.09; 11.08; 4.28 -19960619; 303471; 8.57; 4.94; 11.45; 4.29 -19960620; 317787; 8.97; 11.61; 12.67; 4.31 -19960621; 392222; 11.07; 23.81; 9.99; 4.32 -19960622; 294883; 8.33; 0.08; 9.69; 4.34 -19960623; 263390; 7.44; 0.53; 11.52; 4.35 -19960624; 276275; 7.80; 0.49; 15.06; 4.36 -19960625; 294883; 8.33; 0.61; 16.24; 4.37 -19960626; 281715; 7.95; 0.46; 15.88; 4.38 -19960627; 261672; 7.39; 0.29; 17.18; 4.39 -19960628; 245352; 6.93; 0.17; 17.47; 4.40 -19960629; 210141; 5.93; 0.04; 15.29; 4.41 -19960630; 172922; 4.88; 0.00; 8.91; 4.42 -19960701; 160037; 4.52; 0.00; 12.06; 4.43 -19960702; 149444; 4.22; 0.00; 13.28; 4.43 -19960703; 137707; 3.89; 0.00; 13.03; 4.44 -19960704; 132267; 3.73; 0.00; 14.95; 4.45 -19960705; 121674; 3.44; 0.00; 16.82; 4.45 -19960706; 107645; 3.04; 0.07; 15.24; 4.45 -19960707; 95908; 2.71; 0.00; 11.59; 4.46 -19960708; 88177; 2.49; 0.00; 11.65; 4.46 -19960709; 82454; 2.33; 0.15; 12.31; 4.46 -19960710; 77587; 2.19; 0.00; 13.94; 4.46 -19960711; 72434; 2.05; 0.00; 16.57; 4.46 -19960712; 66994; 1.89; 0.00; 15.84; 4.46 -19960713; 62411; 1.76; 0.00; 13.89; 4.46 -19960714; 58689; 1.66; 0.00; 14.44; 4.46 -19960715; 55540; 1.57; 0.00; 16.06; 4.46 -19960716; 53249; 1.50; 0.00; 16.81; 4.45 -19960717; 49814; 1.41; 0.01; 17.47; 4.45 -19960718; 46665; 1.32; 0.62; 18.12; 4.44 -19960719; 43230; 1.22; 0.00; 18.09; 4.44 -19960720; 40655; 1.15; 0.00; 15.05; 4.43 -19960721; 39507; 1.12; 0.00; 13.32; 4.43 -19960722; 38076; 1.08; 0.03; 14.14; 4.42 -19960723; 36932; 1.04; 0.02; 16.41; 4.41 -19960724; 38937; 1.10; 0.12; 18.50; 4.40 -19960725; 36932; 1.04; 0.00; 20.79; 4.39 -19960726; 38363; 1.08; 0.89; 21.69; 4.38 -19960727; 36932; 1.04; 5.65; 19.98; 4.37 -19960728; 32350; 0.91; 6.33; 19.14; 4.36 -19960729; 31206; 0.88; 2.94; 18.00; 4.35 -19960730; 29201; 0.82; 0.04; 16.53; 4.34 -19960731; 27228; 0.77; 0.00; 17.39; 4.32 -19960801; 27055; 0.76; 1.63; 17.01; 4.31 -19960802; 26740; 0.76; 0.59; 17.74; 4.29 -19960803; 24735; 0.70; 0.67; 18.14; 4.28 -19960804; 23304; 0.66; 2.02; 18.11; 4.26 -19960805; 22132; 0.62; 3.19; 18.04; 4.25 -19960806; 21271; 0.60; 0.47; 16.09; 4.23 -19960807; 20612; 0.58; 0.00; 14.84; 4.21 -19960808; 20669; 0.58; 0.00; 16.59; 4.19 -19960809; 19784; 0.56; 0.00; 18.75; 4.17 -19960810; 18951; 0.54; 0.00; 18.81; 4.15 -19960811; 19012; 0.54; 1.90; 18.37; 4.13 -19960812; 19267; 0.54; 1.91; 18.35; 4.11 -19960813; 18264; 0.52; 0.00; 16.23; 4.09 -19960814; 17351; 0.49; 0.01; 15.91; 4.07 -19960815; 17351; 0.49; 1.70; 17.26; 4.04 -19960816; 17177; 0.48; 0.96; 17.79; 4.02 -19960817; 17177; 0.48; 0.52; 18.09; 4.00 -19960818; 17464; 0.49; 0.03; 17.28; 3.97 -19960819; 17322; 0.49; 0.46; 15.52; 3.95 -19960820; 16890; 0.48; 2.68; 12.35; 3.92 -19960821; 16603; 0.47; 9.06; 13.82; 3.90 -19960822; 16146; 0.46; 0.45; 15.27; 3.87 -19960823; 15916; 0.45; 1.18; 15.97; 3.84 -19960824; 15605; 0.44; 1.07; 15.88; 3.81 -19960825; 15431; 0.44; 0.06; 15.09; 3.79 -19960826; 15002; 0.42; 0.00; 16.18; 3.76 -19960827; 14315; 0.40; 0.26; 16.16; 3.73 -19960828; 14029; 0.40; 0.00; 14.77; 3.70 -19960829; 13628; 0.38; 0.60; 12.83; 3.67 -19960830; 13341; 0.38; 7.74; 10.88; 3.64 -19960831; 15488; 0.44; 23.16; 9.70; 3.61 -19960901; 24278; 0.69; 1.96; 12.07; 3.57 -19960902; 22560; 0.64; 0.00; 11.54; 3.54 -19960903; 17634; 0.50; 0.00; 13.15; 3.51 -19960904; 15860; 0.45; 0.28; 15.73; 3.48 -19960905; 15831; 0.45; 12.64; 16.34; 3.44 -19960906; 18325; 0.52; 9.44; 11.03; 3.41 -19960907; 21760; 0.61; 0.03; 8.97; 3.38 -19960908; 23219; 0.66; 5.84; 10.44; 3.34 -19960909; 24420; 0.69; 0.08; 11.56; 3.31 -19960910; 21760; 0.61; 0.34; 10.34; 3.27 -19960911; 20042; 0.57; 0.23; 8.84; 3.23 -19960912; 17751; 0.50; 0.00; 8.17; 3.20 -19960913; 16603; 0.47; 0.00; 7.02; 3.16 -19960914; 15746; 0.44; 0.00; 8.39; 3.13 -19960915; 14886; 0.42; 0.00; 10.53; 3.09 -19960916; 14315; 0.40; 0.00; 12.27; 3.05 -19960917; 13742; 0.39; 0.00; 14.53; 3.02 -19960918; 13455; 0.38; 0.00; 15.48; 2.98 -19960919; 13140; 0.37; 0.50; 14.21; 2.94 -19960920; 25164; 0.71; 28.24; 11.50; 2.90 -19960921; 40655; 1.15; 4.10; 6.25; 2.86 -19960922; 35785; 1.01; 13.71; 4.72; 2.82 -19960923; 32066; 0.91; 6.28; 1.72; 2.79 -19960924; 28631; 0.81; 0.23; 1.94; 2.75 -19960925; 26626; 0.75; 0.28; 2.63; 2.71 -19960926; 24622; 0.70; 2.79; 3.38; 2.67 -19960927; 22617; 0.64; 1.49; 2.99; 2.63 -19960928; 20899; 0.59; 0.00; 3.12; 2.59 -19960929; 18895; 0.53; 0.06; 4.78; 2.55 -19960930; 18038; 0.51; 0.00; 6.58; 2.51 -19961001; 17177; 0.48; 0.00; 7.05; 2.47 -19961002; 16603; 0.47; 0.00; 8.03; 2.43 -19961003; 16033; 0.45; 0.04; 9.06; 2.39 -19961004; 15746; 0.44; 0.40; 8.66; 2.35 -19961005; 15459; 0.44; 0.24; 8.83; 2.31 -19961006; 15172; 0.43; 0.00; 7.33; 2.26 -19961007; 14886; 0.42; 0.00; 9.71; 2.22 -19961008; 14602; 0.41; 0.00; 11.07; 2.18 -19961009; 14029; 0.40; 0.18; 10.30; 2.14 -19961010; 13742; 0.39; 0.32; 10.07; 2.10 -19961011; 13742; 0.39; 11.46; 6.22; 2.06 -19961012; 17322; 0.49; 2.02; 4.81; 2.02 -19961013; 21385; 0.60; 11.18; 3.67; 1.98 -19961014; 24105; 0.68; 6.62; 1.17; 1.94 -19961015; 21615; 0.61; 3.54; 0.21; 1.90 -19961016; 18951; 0.54; 0.00; -0.42; 1.86 -19961017; 17807; 0.50; 0.74; -3.07; 1.82 -19961018; 16603; 0.47; 1.79; -2.07; 1.77 -19961019; 17092; 0.48; 0.25; -1.44; 1.74 -19961020; 16090; 0.45; 0.00; -1.82; 1.69 -19961021; 14918; 0.42; 0.18; -2.46; 1.65 -19961022; 14485; 0.41; 0.70; -2.20; 1.61 -19961023; 15374; 0.43; 0.44; -1.85; 1.57 -19961024; 15916; 0.45; 3.85; -0.94; 1.53 -19961025; 16518; 0.47; 7.52; 1.82; 1.50 -19961026; 28914; 0.82; 31.12; 2.13; 1.46 -19961027; 36932; 1.04; 4.18; 0.02; 1.42 -19961028; 27685; 0.78; 6.71; -0.34; 1.38 -19961029; 24250; 0.68; 3.42; -1.18; 1.34 -19961030; 21845; 0.62; 0.32; -1.66; 1.30 -19961031; 20984; 0.59; 4.75; -3.47; 1.26 -19961101; 18753; 0.53; 0.28; -5.08; 1.22 -19961102; 24593; 0.69; 30.83; -0.43; 1.18 -19961103; 51818; 1.46; 26.66; 1.12; 1.15 -19961104; 46665; 1.32; 0.70; 0.19; 1.11 -19961105; 34067; 0.96; 0.78; -0.41; 1.07 -19961106; 30349; 0.86; 3.12; -1.14; 1.03 -19961107; 35215; 0.99; 10.82; -0.52; 1.00 -19961108; 32350; 0.91; 0.24; -3.50; 0.96 -19961109; 29201; 0.82; 9.35; -2.21; 0.93 -19961110; 27483; 0.78; 0.14; -2.15; 0.89 -19961111; 25766; 0.73; 0.55; 0.83; 0.86 -19961112; 27196; 0.77; 0.82; 2.82; 0.82 -19961113; 31206; 0.88; 10.75; 0.20; 0.79 -19961114; 45234; 1.28; 1.98; -1.31; 0.75 -19961115; 35502; 1.00; 0.42; -5.03; 0.72 -19961116; 28914; 0.82; 0.30; -4.80; 0.69 -19961117; 30632; 0.86; 0.17; -2.70; 0.65 -19961118; 28344; 0.80; 3.58; -4.55; 0.62 -19961119; 26913; 0.76; 0.14; -1.76; 0.59 -19961120; 26913; 0.76; 8.63; -1.92; 0.56 -19961121; 27196; 0.77; 7.36; -1.48; 0.53 -19961122; 25224; 0.71; 1.58; -2.81; 0.49 -19961123; 23046; 0.65; 1.85; -3.97; 0.46 -19961124; 22791; 0.64; 8.29; -4.36; 0.43 -19961125; 24965; 0.70; 0.62; -4.39; 0.41 -19961126; 22791; 0.64; 2.72; -4.96; 0.38 -19961127; 20984; 0.59; 8.31; -6.38; 0.35 -19961128; 20729; 0.59; 10.33; -3.40; 0.32 -19961129; 24965; 0.70; 3.33; -3.04; 0.29 -19961130; 24133; 0.68; 10.97; -3.31; 0.27 -19961201; 23046; 0.65; 4.73; -4.44; 0.24 -19961202; 21760; 0.61; 0.80; -8.54; 0.21 -19961203; 16749; 0.47; 0.04;-10.92; 0.19 -19961204; 13887; 0.39; 0.00;-11.74; 0.17 -19961205; 13168; 0.37; 0.22;-11.72; 0.14 -19961206; 13455; 0.38; 0.00;-11.06; 0.12 -19961207; 14602; 0.41; 0.42; -9.39; 0.10 -19961208; 16320; 0.46; 8.06; -7.20; 0.07 -19961209; 18608; 0.53; 5.40; -3.44; 0.05 -19961210; 22330; 0.63; 18.12; -1.50; 0.03 -19961211; 31206; 0.88; 7.19; -5.86; 0.01 -19961212; 26052; 0.74; 0.99; -8.02; 0.00 -19961213; 23878; 0.67; 5.99; -7.46; 0.00 -19961214; 22274; 0.63; 1.25; -8.16; 0.00 -19961215; 21501; 0.61; 6.01; -5.34; 0.00 -19961216; 21760; 0.61; 6.35; -7.74; 0.00 -19961217; 20042; 0.57; 2.23; -9.65; 0.00 -19961218; 19267; 0.54; 1.55;-10.22; 0.00 -19961219; 19182; 0.54; 0.26;-12.09; 0.00 -19961220; 19755; 0.56; 3.75;-12.28; 0.00 -19961221; 20326; 0.57; 6.45; -8.43; 0.00 -19961222; 22043; 0.62; 13.95; -2.97; 0.00 -19961223; 24335; 0.69; 13.46; -2.36; 0.00 -19961224; 28344; 0.80; 4.78; -6.54; 0.00 -19961225; 24965; 0.70; 0.00; -7.82; 0.00 -19961226; 24133; 0.68; 4.37; -6.48; 0.00 -19961227; 21760; 0.61; 8.19; -4.07; 0.00 -19961228; 21243; 0.60; 6.63; -5.01; 0.00 -19961229; 20471; 0.58; 19.30; -5.16; 0.00 -19961230; 20212; 0.57; 7.17; -2.83; 0.00 -19961231; 19238; 0.54; 1.99; -5.74; 0.00 -19970101; 18038; 0.51; 0.36; -9.49; 0.00 -19970102; 17177; 0.48; 2.50; -6.76; 0.00 -19970103; 16890; 0.48; 0.00; -8.66; 0.00 -19970104; 16603; 0.47; 0.00; -8.96; 0.00 -19970105; 16890; 0.48; 0.00; -7.74; 0.00 -19970106; 17177; 0.48; 0.00; -8.02; 0.00 -19970107; 17751; 0.50; 0.00; -6.57; 0.00 -19970108; 18038; 0.51; 0.71; -5.59; 0.00 -19970109; 18325; 0.52; 0.00; -7.79; 0.00 -19970110; 18895; 0.53; 0.15; -8.18; 0.00 -19970111; 17807; 0.50; 0.05; -6.12; 0.00 -19970112; 16603; 0.47; 0.04; -9.06; 0.00 -19970113; 15746; 0.44; 0.00; -9.67; 0.00 -19970114; 15172; 0.43; 0.53; -8.95; 0.00 -19970115; 15459; 0.44; 2.80; -4.46; 0.00 -19970116; 16033; 0.45; 0.74; -4.53; 0.00 -19970117; 16320; 0.46; 0.12; -3.18; 0.00 -19970118; 16890; 0.48; 3.69; -0.14; 0.00 -19970119; 17464; 0.49; 8.27; 0.26; 0.00 -19970120; 17807; 0.50; 15.14; -0.16; 0.00 -19970121; 18264; 0.52; 0.00; -1.96; 0.00 -19970122; 17407; 0.49; 0.11; -5.43; 0.00 -19970123; 16090; 0.45; 0.00; -6.63; 0.00 -19970124; 15289; 0.43; 0.00; -6.36; 0.00 -19970125; 14485; 0.41; 0.00; -7.02; 0.00 -19970126; 15087; 0.43; 0.00; -6.95; 0.00 -19970127; 15289; 0.43; 0.71; -7.10; 0.00 -19970128; 15289; 0.43; 2.56; -7.13; 0.00 -19970129; 15690; 0.44; 4.06; -7.91; 0.00 -19970130; 15488; 0.44; 0.86;-12.49; 0.00 -19970131; 14029; 0.40; 0.12;-10.87; 0.00 -19970201; 12311; 0.35; 0.13;-12.94; 0.00 -19970202; 12024; 0.34; 0.58;-13.11; 0.00 -19970203; 11882; 0.34; 0.47;-13.11; 0.00 -19970204; 12024; 0.34; 3.98;-12.05; 0.00 -19970205; 12311; 0.35; 2.59;-11.14; 0.00 -19970206; 12598; 0.36; 6.50;-10.09; 0.00 -19970207; 13168; 0.37; 8.25; -7.58; 0.00 -19970208; 13455; 0.38; 10.07; -5.20; 0.00 -19970209; 13455; 0.38; 11.20; -6.51; 0.01 -19970210; 13742; 0.39; 2.49; -6.36; 0.03 -19970211; 13742; 0.39; 6.16; -3.81; 0.05 -19970212; 13887; 0.39; 1.82; -1.88; 0.07 -19970213; 13887; 0.39; 0.00; -5.56; 0.10 -19970214; 13742; 0.39; 0.00; -4.66; 0.12 -19970215; 13455; 0.38; 0.00; -2.44; 0.14 -19970216; 13313; 0.38; 0.00; -4.67; 0.17 -19970217; 13313; 0.38; 0.00; -6.06; 0.19 -19970218; 13313; 0.38; 1.63; -5.12; 0.22 -19970219; 13313; 0.38; 2.28; -5.98; 0.24 -19970220; 13455; 0.38; 3.13; -4.09; 0.27 -19970221; 14287; 0.40; 3.51; -4.94; 0.29 -19970222; 14485; 0.41; 3.61; -1.49; 0.32 -19970223; 14687; 0.41; 2.21; -1.88; 0.35 -19970224; 15888; 0.45; 7.25; -0.28; 0.38 -19970225; 16947; 0.48; 0.12; -2.11; 0.41 -19970226; 15888; 0.45; 0.20; -3.28; 0.44 -19970227; 15488; 0.44; 0.00; -2.19; 0.47 -19970228; 15690; 0.44; 4.55; -0.66; 0.50 -19970301; 18523; 0.52; 7.94; -0.16; 0.53 -19970302; 18523; 0.52; 0.90; -3.49; 0.56 -19970303; 17177; 0.48; 1.09; -6.26; 0.59 -19970304; 16547; 0.47; 0.51; -6.64; 0.62 -19970305; 16090; 0.45; 2.74; -4.00; 0.66 -19970306; 16320; 0.46; 0.56; -4.44; 0.69 -19970307; 16547; 0.47; 0.62; -3.04; 0.72 -19970308; 16320; 0.46; 0.00; -3.09; 0.75 -19970309; 16547; 0.47; 0.06; -1.96; 0.79 -19970310; 17807; 0.50; 0.00; -1.43; 0.82 -19970311; 19012; 0.54; 0.00; -1.88; 0.86 -19970312; 19012; 0.54; 0.00; -2.83; 0.89 -19970313; 19012; 0.54; 0.00; -0.87; 0.93 -19970314; 20471; 0.58; 0.00; 0.37; 0.96 -19970315; 23046; 0.65; 0.00; 0.95; 1.00 -19970316; 26052; 0.74; 0.00; 1.85; 1.04 -19970317; 29488; 0.83; 0.00; 2.44; 1.07 -19970318; 34354; 0.97; 0.00; 2.72; 1.11 -19970319; 38363; 1.08; 0.29; 2.21; 1.15 -19970320; 41225; 1.16; 0.85; 2.12; 1.19 -19970321; 39794; 1.12; 10.25; -0.38; 1.23 -19970322; 36072; 1.02; 10.54; -1.99; 1.26 -19970323; 34928; 0.99; 6.02; -0.60; 1.30 -19970324; 36646; 1.03; 8.48; -0.11; 1.34 -19970325; 33784; 0.95; 0.15; -2.76; 1.38 -19970326; 32066; 0.91; 0.68; -3.09; 1.42 -19970327; 30632; 0.86; 5.15; -2.11; 1.46 -19970328; 28631; 0.81; 0.00; -2.50; 1.50 -19970329; 28057; 0.79; 3.64; -1.78; 1.54 -19970330; 33210; 0.94; 9.35; -0.59; 1.58 -19970331; 38937; 1.10; 7.51; 1.85; 1.62 -19970401; 52679; 1.49; 0.08; 5.72; 1.66 -19970402; 73004; 2.06; 1.93; 5.33; 1.70 -19970403; 79305; 2.24; 9.32; 4.18; 1.74 -19970404; 69282; 1.96; 0.48; 1.58; 1.78 -19970405; 65276; 1.84; 1.88; 3.95; 1.82 -19970406; 72147; 2.04; 0.00; 3.82; 1.86 -19970407; 92186; 2.60; 0.94; 4.78; 1.90 -19970408; 117381; 3.31; 0.90; 6.62; 1.94 -19970409; 138568; 3.91; 0.06; 7.58; 1.98 -19970410; 178649; 5.04; 0.49; 8.96; 2.02 -19970411; 180366; 5.09; 13.72; 7.11; 2.06 -19970412; 182084; 5.14; 0.18; 7.44; 2.10 -19970413; 186950; 5.28; 0.00; 8.48; 2.14 -19970414; 213577; 6.03; 0.00; 9.59; 2.18 -19970415; 250792; 7.08; 0.16; 8.97; 2.23 -19970416; 263390; 7.44; 0.00; 7.80; 2.27 -19970417; 263390; 7.44; 0.56; 7.30; 2.31 -19970418; 263390; 7.44; 9.24; 5.67; 2.35 -19970419; 246213; 6.95; 18.30; 0.91; 2.39 -19970420; 214721; 6.06; 1.51; -1.07; 2.43 -19970421; 186090; 5.25; 0.62; -1.18; 2.47 -19970422; 157462; 4.45; 5.29; -0.07; 2.51 -19970423; 137420; 3.88; 15.07; 0.88; 2.55 -19970424; 125970; 3.56; 3.41; -0.20; 2.59 -19970425; 114516; 3.23; 0.96; 0.19; 2.63 -19970426; 103066; 2.91; 0.87; 2.45; 2.67 -19970427; 100204; 2.83; 0.14; 8.38; 2.71 -19970428; 131697; 3.72; 1.17; 8.92; 2.75 -19970429; 166051; 4.69; 1.18; 9.41; 2.79 -19970430; 208994; 5.90; 0.00; 9.16; 2.83 -19970501; 257663; 7.28; 0.33; 12.03; 2.87 -19970502; 343552; 9.70; 0.32; 12.74; 2.90 -19970503; 389360; 10.99; 5.47; 9.43; 2.94 -19970504; 314925; 8.89; 0.90; 4.07; 2.98 -19970505; 263390; 7.44; 0.14; 4.58; 3.02 -19970506; 269117; 7.60; 0.00; 7.26; 3.06 -19970507; 274844; 7.76; 0.00; 8.23; 3.09 -19970508; 266252; 7.52; 0.38; 6.42; 3.13 -19970509; 260529; 7.36; 0.49; 5.38; 3.16 -19970510; 246213; 6.95; 1.37; 5.48; 3.20 -19970511; 229036; 6.47; 1.33; 3.39; 3.24 -19970512; 208994; 5.90; 0.44; 0.73; 3.27 -19970513; 194678; 5.50; 0.00; 4.10; 3.31 -19970514; 206132; 5.82; 3.79; 4.54; 3.34 -19970515; 223309; 6.31; 0.31; 9.10; 3.38 -19970516; 251940; 7.11; 0.00; 10.94; 3.41 -19970517; 280567; 7.92; 0.00; 11.29; 3.44 -19970518; 329237; 9.30; 0.29; 12.23; 3.48 -19970519; 363595; 10.27; 1.80; 12.70; 3.51 -19970520; 386499; 10.91; 1.67; 12.69; 3.54 -19970521; 400810; 11.32; 0.23; 13.14; 3.58 -19970522; 429441; 12.13; 0.90; 14.16; 3.61 -19970523; 458072; 12.93; 3.41; 15.40; 3.64 -19970524; 501015; 14.15; 16.30; 15.13; 3.67 -19970525; 529646; 14.95; 2.54; 12.57; 3.70 -19970526; 429441; 12.13; 1.32; 10.36; 3.73 -19970527; 360729; 10.19; 4.10; 11.24; 3.76 -19970528; 352141; 9.94; 8.77; 9.67; 3.79 -19970529; 343552; 9.70; 22.18; 6.81; 3.81 -19970530; 329237; 9.30; 15.26; 4.34; 3.84 -19970531; 300610; 8.49; 0.00; 7.64; 3.87 -19970601; 257663; 7.28; 12.92; 8.84; 3.90 -19970602; 300610; 8.49; 1.30; 8.50; 3.92 -19970603; 266252; 7.52; 0.56; 10.21; 3.95 -19970604; 257663; 7.28; 5.97; 10.57; 3.97 -19970605; 263390; 7.44; 7.81; 9.65; 4.00 -19970606; 274844; 7.76; 8.73; 9.49; 4.02 -19970607; 309198; 8.73; 14.39; 14.24; 4.04 -19970608; 355006; 10.02; 0.18; 11.39; 4.07 -19970609; 314925; 8.89; 0.00; 8.77; 4.09 -19970610; 274844; 7.76; 0.00; 9.04; 4.11 -19970611; 249075; 7.03; 0.00; 10.99; 4.13 -19970612; 221878; 6.26; 0.00; 12.88; 4.15 -19970613; 220448; 6.22; 0.32; 12.43; 4.17 -19970614; 200692; 5.67; 0.45; 11.58; 4.19 -19970615; 187524; 5.29; 0.00; 12.81; 4.21 -19970616; 178075; 5.03; 0.32; 11.88; 4.23 -19970617; 162329; 4.58; 0.00; 13.11; 4.25 -19970618; 151736; 4.28; 0.12; 15.59; 4.26 -19970619; 143721; 4.06; 0.00; 16.48; 4.28 -19970620; 134845; 3.81; 0.00; 15.32; 4.29 -19970621; 123392; 3.48; 0.00; 12.25; 4.31 -19970622; 111655; 3.15; 0.00; 13.21; 4.32 -19970623; 102779; 2.90; 0.00; 11.46; 4.34 -19970624; 94764; 2.68; 0.00; 8.87; 4.35 -19970625; 87607; 2.47; 0.00; 8.70; 4.36 -19970626; 80736; 2.28; 0.00; 10.56; 4.37 -19970627; 75009; 2.12; 0.00; 13.88; 4.38 -19970628; 71000; 2.00; 0.01; 15.90; 4.39 -19970629; 67564; 1.91; 0.00; 16.98; 4.40 -19970630; 64416; 1.82; 0.01; 16.43; 4.41 -19970701; 61267; 1.73; 0.00; 17.49; 4.42 -19970702; 57545; 1.62; 0.00; 18.56; 4.43 -19970703; 54110; 1.53; 0.00; 18.95; 4.43 -19970704; 51248; 1.45; 0.00; 19.69; 4.44 -19970705; 48670; 1.37; 0.00; 19.12; 4.45 -19970706; 45808; 1.29; 0.00; 19.21; 4.45 -19970707; 43516; 1.23; 0.36; 20.14; 4.45 -19970708; 41512; 1.17; 0.03; 20.58; 4.46 -19970709; 39224; 1.11; 2.51; 21.99; 4.46 -19970710; 38076; 1.08; 0.62; 21.12; 4.46 -19970711; 36646; 1.03; 0.16; 18.97; 4.46 -19970712; 34354; 0.97; 0.04; 17.78; 4.46 -19970713; 32923; 0.93; 0.07; 16.02; 4.46 -19970714; 30919; 0.87; 0.00; 16.19; 4.46 -19970715; 29201; 0.82; 0.00; 17.08; 4.46 -19970716; 27483; 0.78; 0.57; 17.61; 4.46 -19970717; 26339; 0.74; 0.00; 17.32; 4.45 -19970718; 25507; 0.72; 0.00; 16.52; 4.45 -19970719; 24678; 0.70; 0.00; 16.81; 4.44 -19970720; 23591; 0.67; 0.00; 17.48; 4.44 -19970721; 22015; 0.62; 0.00; 18.89; 4.43 -19970722; 21243; 0.60; 0.00; 18.31; 4.43 -19970723; 20499; 0.58; 0.00; 17.47; 4.42 -19970724; 19755; 0.56; 0.00; 16.75; 4.41 -19970725; 19267; 0.54; 0.00; 16.64; 4.40 -19970726; 18551; 0.52; 0.00; 17.76; 4.39 -19970727; 17666; 0.50; 0.00; 18.01; 4.38 -19970728; 16979; 0.48; 0.00; 17.95; 4.37 -19970729; 16749; 0.47; 0.20; 18.33; 4.36 -19970730; 16320; 0.46; 1.23; 18.04; 4.35 -19970731; 15948; 0.45; 9.70; 18.24; 4.34 -19970801; 18495; 0.52; 9.96; 16.23; 4.32 -19970802; 27313; 0.77; 21.09; 12.28; 4.31 -19970803; 29201; 0.82; 0.00; 14.80; 4.29 -19970804; 23446; 0.66; 3.27; 16.15; 4.28 -19970805; 19667; 0.56; 0.00; 15.74; 4.26 -19970806; 18208; 0.51; 0.02; 15.16; 4.25 -19970807; 16947; 0.48; 0.70; 15.31; 4.23 -19970808; 16518; 0.47; 4.02; 12.37; 4.21 -19970809; 17290; 0.49; 0.00; 12.03; 4.19 -19970810; 18980; 0.54; 18.59; 10.33; 4.17 -19970811; 23619; 0.67; 6.58; 9.60; 4.15 -19970812; 22674; 0.64; 12.42; 10.59; 4.13 -19970813; 25479; 0.72; 0.47; 10.34; 4.11 -19970814; 23534; 0.66; 0.25; 11.66; 4.09 -19970815; 19267; 0.54; 2.86; 12.25; 4.07 -19970816; 18009; 0.51; 0.00; 11.92; 4.04 -19970817; 17407; 0.49; 0.00; 12.89; 4.02 -19970818; 16146; 0.46; 1.29; 14.29; 4.00 -19970819; 15633; 0.44; 8.56; 14.27; 3.97 -19970820; 18810; 0.53; 13.79; 12.90; 3.95 -19970821; 26137; 0.74; 7.66; 10.77; 3.92 -19970822; 23276; 0.66; 0.00; 10.68; 3.90 -19970823; 18753; 0.53; 0.00; 12.14; 3.87 -19970824; 16635; 0.47; 0.00; 14.81; 3.84 -19970825; 15544; 0.44; 0.04; 15.66; 3.81 -19970826; 14744; 0.42; 0.44; 16.56; 3.79 -19970827; 14199; 0.40; 0.07; 16.71; 3.76 -19970828; 13657; 0.39; 0.00; 15.72; 3.73 -19970829; 13083; 0.37; 0.00; 15.53; 3.70 -19970830; 12626; 0.36; 0.00; 14.32; 3.67 -19970831; 12198; 0.34; 0.32; 11.48; 3.64 -19970901; 11882; 0.34; 0.00; 11.42; 3.61 -19970902; 12169; 0.34; 3.01; 10.01; 3.57 -19970903; 12885; 0.36; 0.00; 11.69; 3.54 -19970904; 12481; 0.35; 0.60; 12.09; 3.51 -19970905; 12052; 0.34; 7.89; 12.02; 3.48 -19970906; 32923; 0.93; 36.60; 11.41; 3.44 -19970907; 53536; 1.51; 10.24; 7.62; 3.41 -19970908; 41799; 1.18; 23.27; 10.09; 3.38 -19970909; 54683; 1.54; 11.53; 10.14; 3.34 -19970910; 44660; 1.26; 7.88; 11.46; 3.31 -19970911; 44377; 1.25; 16.26; 10.66; 3.27 -19970912; 53536; 1.51; 14.33; 9.34; 3.23 -19970913; 56401; 1.59; 2.62; 9.65; 3.20 -19970914; 45234; 1.28; 12.03; 9.84; 3.16 -19970915; 48383; 1.37; 7.29; 8.90; 3.13 -19970916; 50387; 1.42; 13.61; 6.96; 3.09 -19970917; 70143; 1.98; 7.19; 6.14; 3.05 -19970918; 66420; 1.88; 1.38; 5.39; 3.02 -19970919; 53536; 1.51; 0.31; 5.29; 2.98 -19970920; 47239; 1.33; 1.55; 5.84; 2.94 -19970921; 43230; 1.22; 0.21; 7.16; 2.90 -19970922; 42086; 1.19; 2.24; 6.16; 2.86 -19970923; 39507; 1.12; 0.00; 4.22; 2.82 -19970924; 36646; 1.03; 0.00; 7.16; 2.79 -19970925; 34067; 0.96; 0.00; 7.31; 2.75 -19970926; 32066; 0.91; 1.29; 8.65; 2.71 -19970927; 30349; 0.86; 1.00; 6.16; 2.67 -19970928; 28571; 0.81; 0.00; 1.35; 2.63 -19970929; 27540; 0.78; 0.00; 1.33; 2.59 -19970930; 26740; 0.76; 0.00; 2.59; 2.55 -19971001; 26024; 0.73; 0.00; 3.02; 2.51 -19971002; 25479; 0.72; 4.18; 3.51; 2.47 -19971003; 26024; 0.73; 1.80; 7.35; 2.43 -19971004; 27799; 0.78; 0.00; 4.08; 2.39 -19971005; 25394; 0.72; 1.18; 6.22; 2.35 -19971006; 25280; 0.71; 17.69; 6.20; 2.31 -19971007; 43803; 1.24; 16.79; -0.25; 2.26 -19971008; 36646; 1.03; 0.66; -4.52; 2.22 -19971009; 29201; 0.82; 0.15; -4.70; 2.18 -19971010; 27398; 0.77; 1.22; -1.97; 2.14 -19971011; 30632; 0.86; 2.77; 1.22; 2.10 -19971012; 33784; 0.95; 7.38; 2.14; 2.06 -19971013; 32636; 0.92; 0.12; 2.72; 2.02 -19971014; 30632; 0.86; 0.82; 2.80; 1.98 -19971015; 32066; 0.91; 0.20; 6.99; 1.94 -19971016; 37219; 1.05; 4.99; 4.74; 1.90 -19971017; 42372; 1.20; 0.43; 3.79; 1.86 -19971018; 38076; 1.08; 0.30; 4.76; 1.82 -19971019; 35785; 1.01; 0.10; 5.23; 1.77 -19971020; 35215; 0.99; 0.22; 5.93; 1.74 -19971021; 35785; 1.01; 3.23; 4.98; 1.69 -19971022; 42086; 1.19; 13.21; 1.14; 1.65 -19971023; 45234; 1.28; 7.05; 1.76; 1.61 -19971024; 45521; 1.29; 2.51; 4.58; 1.57 -19971025; 68425; 1.93; 10.64; 6.12; 1.53 -19971026; 98200; 2.77; 0.21; 3.53; 1.50 -19971027; 79305; 2.24; 0.43; 7.39; 1.46 -19971028; 73004; 2.06; 0.03; 3.81; 1.42 -19971029; 66707; 1.88; 0.53; 0.03; 1.38 -19971030; 61841; 1.75; 1.62; 0.41; 1.34 -19971031; 58689; 1.66; 3.20; 0.01; 1.30 -19971101; 59836; 1.69; 23.91; -0.28; 1.26 -19971102; 80162; 2.26; 5.15; 2.09; 1.22 -19971103; 96482; 2.72; 1.60; 4.57; 1.18 -19971104; 90755; 2.56; 17.19; 3.03; 1.15 -19971105; 103923; 2.93; 3.41; -0.52; 1.11 -19971106; 96195; 2.72; 14.40; -0.32; 1.07 -19971107; 97913; 2.76; 7.66; 0.51; 1.03 -19971108; 94478; 2.67; 3.92; -1.35; 1.00 -19971109; 83311; 2.35; 0.22; -5.84; 0.96 -19971110; 73578; 2.08; 0.00; -8.28; 0.93 -19971111; 67564; 1.91; 4.02; -9.08; 0.89 -19971112; 59550; 1.68; 0.09;-10.69; 0.86 -19971113; 56971; 1.61; 0.00;-10.44; 0.82 -19971114; 53823; 1.52; 0.00; -8.62; 0.79 -19971115; 54110; 1.53; 1.17; -8.22; 0.75 -19971116; 59263; 1.67; 7.75; -4.96; 0.72 -19971117; 56688; 1.60; 4.72; -4.70; 0.69 -19971118; 52105; 1.47; 2.59; -9.23; 0.65 -19971119; 47526; 1.34; 1.02;-10.96; 0.62 -19971120; 46095; 1.30; 1.50; -9.47; 0.59 -19971121; 44660; 1.26; 2.27;-11.15; 0.56 -19971122; 40942; 1.16; 4.26;-14.47; 0.53 -19971123; 32923; 0.93; 0.33;-12.45; 0.49 -19971124; 32636; 0.92; 0.28;-13.49; 0.46 -19971125; 34354; 0.97; 2.66;-13.47; 0.43 -19971126; 37219; 1.05; 5.77;-11.36; 0.41 -19971127; 39507; 1.12; 4.04; -8.95; 0.38 -19971128; 40081; 1.13; 3.59;-11.03; 0.35 -19971129; 38650; 1.09; 1.49;-14.37; 0.32 -19971130; 35215; 0.99; 0.45;-16.31; 0.29 -19971201; 33210; 0.94; 0.10;-14.03; 0.27 -19971202; 33210; 0.94; 13.45;-11.11; 0.24 -19971203; 33210; 0.94; 9.51; -6.01; 0.21 -19971204; 34354; 0.97; 0.06; -6.16; 0.19 -19971205; 36072; 1.02; 0.65; -6.78; 0.17 -19971206; 35785; 1.01; 2.79; -5.92; 0.14 -19971207; 36359; 1.03; 8.20; -4.23; 0.12 -19971208; 35502; 1.00; 2.87; -2.97; 0.10 -19971209; 32636; 0.92; 0.21; -8.76; 0.07 -19971210; 28486; 0.80; 0.00;-11.62; 0.05 -19971211; 25079; 0.71; 0.00;-12.57; 0.03 -19971212; 24622; 0.70; 1.55;-11.84; 0.01 -19971213; 25195; 0.71; 0.00;-10.62; 0.00 -19971214; 26339; 0.74; 0.00; -8.46; 0.00 -19971215; 28057; 0.79; 0.71; -7.51; 0.00 -19971216; 30062; 0.85; 0.71; -6.10; 0.00 -19971217; 31492; 0.89; 0.00; -3.73; 0.00 -19971218; 30349; 0.86; 0.00; -4.67; 0.00 -19971219; 27427; 0.77; 0.00; -7.11; 0.00 -19971220; 25365; 0.72; 0.00; -8.52; 0.00 -19971221; 24909; 0.70; 0.00; -9.93; 0.00 -19971222; 24335; 0.69; 0.00;-10.20; 0.00 -19971223; 23478; 0.66; 0.00; -8.52; 0.00 -19971224; 22617; 0.64; 0.00; -8.65; 0.00 -19971225; 22043; 0.62; 0.00; -9.61; 0.00 -19971226; 21760; 0.61; 0.07;-10.99; 0.00 -19971227; 21473; 0.61; 0.00;-11.31; 0.00 -19971228; 22043; 0.62; 0.81;-11.40; 0.00 -19971229; 23191; 0.65; 0.00;-11.53; 0.00 -19971230; 24335; 0.69; 0.69; -8.57; 0.00 -19971231; 25766; 0.73; 5.96; -9.94; 0.00 -19980101; 27483; 0.78; 19.52; -5.15; 0.00 -19980102; 30632; 0.86; 13.09; -5.78; 0.00 -19980103; 32066; 0.91; 7.36; -5.30; 0.00 -19980104; 28486; 0.80; 0.03; -8.07; 0.00 -19980105; 27685; 0.78; 17.45; -9.22; 0.00 -19980106; 26913; 0.76; 5.08; -4.64; 0.00 -19980107; 27196; 0.77; 0.11; -5.09; 0.00 -19980108; 28170; 0.80; 0.00; -3.65; 0.00 -19980109; 29775; 0.84; 8.81; -0.89; 0.00 -19980110; 30349; 0.86; 0.19; 0.07; 0.00 -19980111; 28457; 0.80; 0.26; -0.24; 0.00 -19980112; 26081; 0.74; 0.00; -5.33; 0.00 -19980113; 25479; 0.72; 0.00; -5.92; 0.00 -19980114; 24622; 0.70; 0.41; -6.67; 0.00 -19980115; 24909; 0.70; 1.37; -4.85; 0.00 -19980116; 25507; 0.72; 19.20; -0.17; 0.00 -19980117; 35215; 0.99; 7.81; 1.02; 0.00 -19980118; 29775; 0.84; 5.21; 0.47; 0.00 -19980119; 28344; 0.80; 11.50; 2.12; 0.00 -19980120; 29775; 0.84; 8.99; 0.01; 0.00 -19980121; 28085; 0.79; 0.00; -2.44; 0.00 -19980122; 26109; 0.74; 0.22; -4.35; 0.00 -19980123; 25681; 0.73; 11.68; -2.39; 0.00 -19980124; 27313; 0.77; 0.97; -0.43; 0.00 -19980125; 25309; 0.71; 0.00; -4.85; 0.00 -19980126; 23506; 0.66; 0.99; -4.83; 0.00 -19980127; 23248; 0.66; 6.52; -4.71; 0.00 -19980128; 27770; 0.78; 2.17; -1.33; 0.00 -19980129; 32350; 0.91; 13.19; 0.20; 0.00 -19980130; 42659; 1.20; 3.27; 0.67; 0.00 -19980131; 48383; 1.37; 3.92; 1.73; 0.00 -19980201; 53249; 1.50; 5.63; 0.23; 0.00 -19980202; 59263; 1.67; 5.09; -0.61; 0.00 -19980203; 58119; 1.64; 4.97; -0.18; 0.00 -19980204; 54970; 1.55; 2.23; -1.26; 0.00 -19980205; 51818; 1.46; 10.29; -1.98; 0.00 -19980206; 47239; 1.33; 0.09; -4.54; 0.00 -19980207; 42372; 1.20; 0.00; -7.42; 0.00 -19980208; 35785; 1.01; 0.00; -8.11; 0.00 -19980209; 34928; 0.99; 0.12; -8.57; 0.01 -19980210; 37506; 1.06; 3.10; -7.56; 0.03 -19980211; 35785; 1.01; 0.00; -8.65; 0.05 -19980212; 32066; 0.91; 3.16; -8.44; 0.07 -19980213; 31779; 0.90; 13.65; -8.82; 0.10 -19980214; 31492; 0.89; 32.00; -6.84; 0.12 -19980215; 34354; 0.97; 16.99; -4.63; 0.14 -19980216; 40655; 1.15; 21.15; -0.54; 0.17 -19980217; 60407; 1.71; 35.50; -0.56; 0.19 -19980218; 60407; 1.71; 31.29; -1.40; 0.22 -19980219; 55254; 1.56; 2.64; -5.01; 0.24 -19980220; 49530; 1.40; 0.30; -7.14; 0.27 -19980221; 47239; 1.33; 18.58; -3.44; 0.29 -19980222; 49814; 1.41; 36.20; -1.39; 0.32 -19980223; 77300; 2.18; 41.36; 0.09; 0.35 -19980224; 180080; 5.08; 6.46; 5.09; 0.38 -19980225; 198688; 5.61; 1.40; 4.45; 0.41 -19980226; 202984; 5.73; 6.43; 4.46; 0.44 -19980227; 199261; 5.63; 0.00; 1.57; 0.47 -19980228; 175497; 4.96; 0.14; 2.36; 0.50 -19980301; 160611; 4.53; 0.05; 2.91; 0.53 -19980302; 160037; 4.52; 0.00; 3.44; 0.56 -19980303; 159467; 4.50; 0.00; 2.29; 0.59 -19980304; 153453; 4.33; 0.04; 3.23; 0.62 -19980305; 150305; 4.24; 0.60; 3.10; 0.66 -19980306; 145152; 4.10; 1.43; 3.81; 0.69 -19980307; 177501; 5.01; 11.70; 3.54; 0.72 -19980308; 235333; 6.64; 16.19; 1.77; 0.75 -19980309; 224170; 6.33; 10.12; 1.81; 0.79 -19980310; 201553; 5.69; 0.68; 1.60; 0.82 -19980311; 189525; 5.35; 12.99; 1.82; 0.86 -19980312; 175213; 4.95; 4.93; 0.97; 0.89 -19980313; 158320; 4.47; 2.28; 0.94; 0.93 -19980314; 145439; 4.11; 4.76; 0.34; 0.96 -19980315; 131410; 3.71; 0.54; -0.13; 1.00 -19980316; 122248; 3.45; 1.90; 0.43; 1.04 -19980317; 115090; 3.25; 5.45; 1.02; 1.07 -19980318; 107075; 3.02; 2.51; 0.74; 1.11 -19980319; 101635; 2.87; 1.29; 2.50; 1.15 -19980320; 98200; 2.77; 0.01; 4.01; 1.19 -19980321; 100204; 2.83; 2.66; 3.21; 1.23 -19980322; 98487; 2.78; 1.64; 1.98; 1.26 -19980323; 94764; 2.68; 0.22; 1.24; 1.30 -19980324; 104210; 2.94; 15.51; 1.63; 1.34 -19980325; 102492; 2.89; 0.05; 1.54; 1.38 -19980326; 98487; 2.78; 0.07; 4.86; 1.42 -19980327; 102779; 2.90; 0.00; 7.27; 1.46 -19980328; 120817; 3.41; 0.00; 7.62; 1.50 -19980329; 150305; 4.24; 0.34; 8.62; 1.54 -19980330; 186377; 5.26; 9.99; 5.31; 1.58 -19980331; 196683; 5.55; 0.25; 1.94; 1.62 -19980401; 179793; 5.08; 3.35; 1.85; 1.66 -19980402; 164620; 4.65; 4.93; 0.99; 1.70 -19980403; 148587; 4.20; 0.00; 2.06; 1.74 -19980404; 141716; 4.00; 0.00; 3.72; 1.78 -19980405; 137707; 3.89; 0.00; 4.83; 1.82 -19980406; 138851; 3.92; 0.00; 5.28; 1.86 -19980407; 145439; 4.11; 0.00; 6.88; 1.90 -19980408; 163189; 4.61; 1.31; 7.30; 1.94 -19980409; 180653; 5.10; 0.00; 6.41; 1.98 -19980410; 186950; 5.28; 0.42; 5.21; 2.02 -19980411; 179793; 5.08; 0.32; 1.71; 2.06 -19980412; 170344; 4.81; 12.91; 0.69; 2.10 -19980413; 158033; 4.46; 3.49; -1.41; 2.14 -19980414; 144004; 4.07; 1.48; 1.14; 2.18 -19980415; 137420; 3.88; 2.09; 3.89; 2.23 -19980416; 145152; 4.10; 7.85; 4.28; 2.27 -19980417; 136850; 3.86; 2.91; 3.09; 2.31 -19980418; 128261; 3.62; 0.47; 2.42; 2.35 -19980419; 120530; 3.40; 0.09; 2.87; 2.39 -19980420; 119956; 3.39; 1.33; 8.64; 2.43 -19980421; 137420; 3.88; 2.62; 10.99; 2.47 -19980422; 200405; 5.66; 12.98; 9.52; 2.51 -19980423; 233042; 6.58; 1.65; 2.59; 2.55 -19980424; 200405; 5.66; 0.40; 1.99; 2.59 -19980425; 183802; 5.19; 6.10; 2.60; 2.63 -19980426; 165190; 4.66; 0.27; 2.85; 2.67 -19980427; 154314; 4.36; 6.65; 3.96; 2.71 -19980428; 151449; 4.28; 2.26; 3.27; 2.75 -19980429; 140285; 3.96; 6.74; 1.49; 2.79 -19980430; 130836; 3.69; 0.00; 1.67; 2.83 -19980501; 126544; 3.57; 0.00; 6.35; 2.87 -19980502; 135132; 3.82; 0.60; 9.82; 2.90 -19980503; 164333; 4.64; 15.05; 9.82; 2.94 -19980504; 235620; 6.65; 22.34; 5.16; 2.98 -19980505; 219017; 6.18; 0.29; 4.26; 3.02 -19980506; 199548; 5.63; 2.70; 2.56; 3.06 -19980507; 183802; 5.19; 2.63; 3.81; 3.09 -19980508; 182941; 5.17; 10.03; 4.77; 3.13 -19980509; 185520; 5.24; 1.48; 5.26; 3.16 -19980510; 184946; 5.22; 13.94; 4.78; 3.20 -19980511; 180366; 5.09; 2.59; 2.42; 3.24 -19980512; 167195; 4.72; 1.28; 4.01; 3.27 -19980513; 167769; 4.74; 9.42; 5.36; 3.31 -19980514; 175213; 4.95; 0.65; 2.49; 3.34 -19980515; 158320; 4.47; 0.00; 2.30; 3.38 -19980516; 148874; 4.20; 0.00; 3.90; 3.41 -19980517; 148300; 4.19; 0.02; 6.52; 3.44 -19980518; 158320; 4.47; 0.10; 10.66; 3.48 -19980519; 209281; 5.91; 1.97; 13.93; 3.51 -19980520; 275701; 7.78; 2.21; 12.64; 3.54 -19980521; 340691; 9.62; 8.93; 8.70; 3.58 -19980522; 309198; 8.73; 0.44; 3.93; 3.61 -19980523; 245352; 6.93; 0.00; 4.48; 3.64 -19980524; 225888; 6.38; 0.54; 9.21; 3.67 -19980525; 253371; 7.15; 0.00; 14.13; 3.70 -19980526; 346418; 9.78; 0.00; 16.64; 3.73 -19980527; 460934; 13.01; 0.37; 18.19; 3.76 -19980528; 521054; 14.71; 0.26; 18.47; 3.79 -19980529; 543958; 15.36; 0.79; 19.28; 3.81 -19980530; 541096; 15.28; 0.00; 19.79; 3.84 -19980531; 506742; 14.31; 1.63; 20.04; 3.87 -19980601; 469522; 13.26; 2.16; 19.32; 3.90 -19980602; 420853; 11.88; 1.14; 18.53; 3.92 -19980603; 372183; 10.51; 3.40; 18.31; 3.95 -19980604; 323514; 9.13; 13.50; 16.94; 3.97 -19980605; 349279; 9.86; 13.48; 14.31; 4.00 -19980606; 294883; 8.33; 4.84; 13.72; 4.02 -19980607; 247931; 7.00; 5.41; 13.16; 4.04 -19980608; 222735; 6.29; 1.55; 11.07; 4.07 -19980609; 194395; 5.49; 0.03; 11.96; 4.09 -19980610; 173779; 4.91; 0.02; 12.94; 4.11 -19980611; 163189; 4.61; 0.00; 14.69; 4.13 -19980612; 156602; 4.42; 0.15; 15.25; 4.15 -19980613; 142003; 4.01; 0.00; 15.22; 4.17 -19980614; 129692; 3.66; 6.33; 15.11; 4.19 -19980615; 127401; 3.60; 0.45; 14.10; 4.21 -19980616; 115377; 3.26; 0.02; 15.20; 4.23 -19980617; 106501; 3.01; 0.19; 16.92; 4.25 -19980618; 100204; 2.83; 5.96; 14.21; 4.26 -19980619; 93617; 2.64; 0.30; 9.41; 4.28 -19980620; 83884; 2.37; 0.08; 9.26; 4.29 -19980621; 76440; 2.16; 0.00; 10.46; 4.31 -19980622; 70430; 1.99; 0.21; 11.92; 4.32 -19980623; 66134; 1.87; 0.00; 15.04; 4.34 -19980624; 62698; 1.77; 0.29; 17.45; 4.35 -19980625; 60123; 1.70; 0.05; 17.57; 4.36 -19980626; 57258; 1.62; 0.02; 16.12; 4.37 -19980627; 54110; 1.53; 0.61; 17.92; 4.38 -19980628; 50961; 1.44; 6.25; 17.99; 4.39 -19980629; 52392; 1.48; 3.00; 15.71; 4.40 -19980630; 50961; 1.44; 0.72; 13.64; 4.41 -19980701; 46095; 1.30; 0.00; 16.09; 4.42 -19980702; 42659; 1.20; 1.29; 18.07; 4.43 -19980703; 40655; 1.15; 1.41; 16.04; 4.43 -19980704; 45234; 1.28; 25.22; 10.08; 4.44 -19980705; 64703; 1.83; 0.70; 8.43; 4.45 -19980706; 53249; 1.50; 0.00; 9.86; 4.45 -19980707; 45521; 1.29; 0.25; 12.70; 4.45 -19980708; 41225; 1.16; 2.21; 13.33; 4.46 -19980709; 40368; 1.14; 2.82; 13.87; 4.46 -19980710; 40081; 1.13; 6.32; 12.24; 4.46 -19980711; 48383; 1.37; 4.74; 12.85; 4.46 -19980712; 50961; 1.44; 0.02; 12.21; 4.46 -19980713; 43230; 1.22; 0.00; 12.03; 4.46 -19980714; 38076; 1.08; 0.37; 12.81; 4.46 -19980715; 35785; 1.01; 0.45; 11.66; 4.46 -19980716; 34641; 0.98; 5.46; 9.60; 4.46 -19980717; 36072; 1.02; 0.62; 10.14; 4.45 -19980718; 33497; 0.95; 0.00; 11.72; 4.45 -19980719; 30632; 0.86; 0.00; 14.51; 4.44 -19980720; 28571; 0.81; 0.00; 15.31; 4.44 -19980721; 27257; 0.77; 0.15; 16.38; 4.43 -19980722; 26024; 0.73; 0.03; 16.51; 4.43 -19980723; 25022; 0.71; 0.00; 15.03; 4.42 -19980724; 23850; 0.67; 0.00; 14.65; 4.41 -19980725; 22904; 0.65; 0.07; 14.89; 4.40 -19980726; 21987; 0.62; 0.00; 13.83; 4.39 -19980727; 21215; 0.60; 0.00; 13.19; 4.38 -19980728; 20471; 0.58; 0.00; 13.47; 4.37 -19980729; 19755; 0.56; 0.00; 13.02; 4.36 -19980730; 19210; 0.54; 0.00; 11.75; 4.35 -19980731; 18580; 0.52; 0.00; 12.61; 4.34 -19980801; 17949; 0.51; 0.00; 15.05; 4.32 -19980802; 17436; 0.49; 0.07; 16.97; 4.31 -19980803; 16777; 0.47; 0.16; 18.57; 4.29 -19980804; 16118; 0.46; 0.00; 17.52; 4.28 -19980805; 15544; 0.44; 0.00; 15.97; 4.26 -19980806; 15116; 0.43; 0.00; 16.21; 4.25 -19980807; 14716; 0.42; 0.30; 17.40; 4.23 -19980808; 14344; 0.40; 0.00; 18.01; 4.21 -19980809; 13915; 0.39; 0.01; 18.18; 4.19 -19980810; 13543; 0.38; 0.39; 19.24; 4.17 -19980811; 13370; 0.38; 3.85; 19.17; 4.15 -19980812; 13285; 0.38; 5.52; 15.89; 4.13 -19980813; 14000; 0.40; 0.34; 14.90; 4.11 -19980814; 14029; 0.40; 0.00; 16.58; 4.09 -19980815; 13140; 0.37; 0.29; 17.29; 4.07 -19980816; 12424; 0.35; 0.00; 16.42; 4.04 -19980817; 12024; 0.34; 0.04; 18.01; 4.02 -19980818; 11709; 0.33; 0.00; 18.07; 4.00 -19980819; 11394; 0.32; 0.00; 16.98; 3.97 -19980820; 11107; 0.31; 0.00; 16.20; 3.95 -19980821; 11167; 0.32; 8.85; 15.21; 3.92 -19980822; 12254; 0.35; 0.10; 15.44; 3.90 -19980823; 12598; 0.36; 0.22; 16.68; 3.87 -19980824; 11482; 0.32; 0.00; 16.21; 3.84 -19980825; 10823; 0.31; 0.00; 15.78; 3.81 -19980826; 10508; 0.30; 0.04; 16.37; 3.79 -19980827; 10193; 0.29; 0.00; 17.54; 3.76 -19980828; 9963; 0.28; 0.00; 18.68; 3.73 -19980829; 9849; 0.28; 8.04; 17.23; 3.70 -19980830; 10565; 0.30; 5.91; 14.28; 3.67 -19980831; 12452; 0.35; 19.93; 12.64; 3.64 -19980901; 14574; 0.41; 0.62; 13.54; 3.61 -19980902; 15516; 0.44; 0.14; 14.24; 3.57 -19980903; 13341; 0.38; 0.00; 14.92; 3.54 -19980904; 12081; 0.34; 0.00; 15.05; 3.51 -19980905; 11252; 0.32; 0.00; 13.21; 3.48 -19980906; 10536; 0.30; 0.24; 12.21; 3.44 -19980907; 10165; 0.29; 1.37; 12.25; 3.41 -19980908; 12226; 0.35; 17.76; 11.08; 3.38 -19980909; 16862; 0.48; 1.52; 10.53; 3.34 -19980910; 15116; 0.43; 0.07; 11.11; 3.31 -19980911; 12885; 0.36; 0.38; 10.07; 3.27 -19980912; 11680; 0.33; 4.76; 6.81; 3.23 -19980913; 12396; 0.35; 4.83; 7.53; 3.20 -19980914; 13915; 0.39; 8.84; 8.39; 3.16 -19980915; 14946; 0.42; 2.22; 7.69; 3.13 -19980916; 15403; 0.43; 5.88; 7.12; 3.09 -19980917; 18353; 0.52; 5.68; 8.34; 3.05 -19980918; 17436; 0.49; 8.26; 7.97; 3.02 -19980919; 17949; 0.51; 2.64; 6.95; 2.98 -19980920; 24391; 0.69; 12.81; 6.14; 2.94 -19980921; 22475; 0.63; 0.13; 6.65; 2.90 -19980922; 18151; 0.51; 1.48; 6.36; 2.86 -19980923; 15860; 0.45; 0.33; 7.44; 2.82 -19980924; 16834; 0.48; 7.37; 6.88; 2.79 -19980925; 18551; 0.52; 5.59; 6.08; 2.75 -19980926; 18325; 0.52; 3.42; 5.88; 2.71 -19980927; 19182; 0.54; 0.78; 4.39; 2.67 -19980928; 21013; 0.59; 5.18; 5.33; 2.63 -19980929; 22645; 0.64; 4.96; 4.68; 2.59 -19980930; 25681; 0.73; 4.48; 5.97; 2.55 -19981001; 26913; 0.76; 1.94; 5.96; 2.51 -19981002; 22904; 0.65; 0.31; 5.74; 2.47 -19981003; 20071; 0.57; 0.00; 3.35; 2.43 -19981004; 18208; 0.51; 0.00; 7.26; 2.39 -19981005; 17407; 0.49; 0.00; 8.61; 2.35 -19981006; 16890; 0.48; 0.00; 9.43; 2.31 -19981007; 16749; 0.47; 0.00; 9.47; 2.26 -19981008; 16405; 0.46; 0.00; 9.38; 2.22 -19981009; 16146; 0.46; 0.21; 7.71; 2.18 -19981010; 15916; 0.45; 8.01; 6.08; 2.14 -19981011; 15633; 0.44; 0.00; 1.76; 2.10 -19981012; 15261; 0.43; 0.00; 2.48; 2.06 -19981013; 14744; 0.42; 0.24; 3.02; 2.02 -19981014; 14372; 0.41; 0.00; 4.30; 1.98 -19981015; 14085; 0.40; 0.00; 5.28; 1.94 -19981016; 13798; 0.39; 0.00; 5.63; 1.90 -19981017; 13511; 0.38; 0.22; 4.92; 1.86 -19981018; 13228; 0.37; 0.00; 4.39; 1.82 -19981019; 13055; 0.37; 0.00; 5.06; 1.77 -19981020; 12913; 0.36; 0.00; 5.18; 1.74 -19981021; 12856; 0.36; 0.00; 4.99; 1.69 -19981022; 12683; 0.36; 0.00; 4.69; 1.65 -19981023; 12481; 0.35; 0.00; 4.86; 1.61 -19981024; 12311; 0.35; 0.15; 5.04; 1.57 -19981025; 12198; 0.34; 0.42; 6.72; 1.53 -19981026; 12024; 0.34; 0.94; 7.12; 1.50 -19981027; 14631; 0.41; 10.35; 5.55; 1.46 -19981028; 19812; 0.56; 0.73; 5.60; 1.42 -19981029; 17322; 0.49; 4.03; 3.10; 1.38 -19981030; 21586; 0.61; 12.59; 2.93; 1.34 -19981031; 25280; 0.71; 0.49; 2.93; 1.30 -19981101; 21416; 0.60; 0.06; 1.69; 1.26 -19981102; 18580; 0.52; 0.19; 0.73; 1.22 -19981103; 17120; 0.48; 0.80; 0.56; 1.18 -19981104; 16175; 0.46; 0.40; 0.48; 1.15 -19981105; 17751; 0.50; 17.14; 0.98; 1.11 -19981106; 25195; 0.71; 16.83; -0.35; 1.07 -19981107; 22989; 0.65; 9.11; -2.69; 1.03 -19981108; 21158; 0.60; 11.36; -4.25; 1.00 -19981109; 19582; 0.55; 7.60; -7.05; 0.96 -19981110; 16090; 0.45; 0.00;-12.31; 0.93 -19981111; 15544; 0.44; 12.98;-10.60; 0.89 -19981112; 17407; 0.49; 1.11; -8.20; 0.86 -19981113; 17064; 0.48; 0.35; -7.22; 0.82 -19981114; 19639; 0.55; 14.64; -5.69; 0.79 -19981115; 21130; 0.60; 0.48; -2.76; 0.75 -19981116; 20443; 0.58; 5.44; -1.46; 0.72 -19981117; 23304; 0.66; 13.02; -1.50; 0.69 -19981118; 21385; 0.60; 14.20; -3.33; 0.65 -19981119; 25822; 0.73; 2.74; -0.60; 0.62 -19981120; 27228; 0.77; 10.30; 0.99; 0.59 -19981121; 46378; 1.31; 14.36; 0.91; 0.56 -19981122; 44947; 1.27; 7.70; -2.18; 0.53 -19981123; 35502; 1.00; 4.78; -0.67; 0.49 -19981124; 36646; 1.03; 6.72; 2.06; 0.46 -19981125; 41799; 1.18; 2.43; -1.80; 0.43 -19981126; 35502; 1.00; 6.37; -3.03; 0.41 -19981127; 36359; 1.03; 22.29; -1.52; 0.38 -19981128; 40081; 1.13; 3.53; -1.12; 0.35 -19981129; 35502; 1.00; 1.51; -1.97; 0.32 -19981130; 31492; 0.89; 0.28; -4.56; 0.29 -19981201; 28029; 0.79; 0.19; -1.86; 0.27 -19981202; 27228; 0.77; 0.04; -1.83; 0.24 -19981203; 25939; 0.73; 0.45; -3.99; 0.21 -19981204; 22132; 0.62; 0.85; -5.47; 0.19 -19981205; 22932; 0.65; 9.24; -4.63; 0.17 -19981206; 27855; 0.79; 3.90; -2.61; 0.14 -19981207; 24735; 0.70; 0.02; -3.15; 0.12 -19981208; 22989; 0.65; 0.49; -4.57; 0.10 -19981209; 19699; 0.56; 0.04; -8.34; 0.07 -19981210; 16005; 0.45; 0.00; -9.21; 0.05 -19981211; 14631; 0.41; 0.00;-10.16; 0.03 -19981212; 14886; 0.42; 0.00; -8.66; 0.01 -19981213; 15459; 0.44; 4.40; -6.27; 0.00 -19981214; 16749; 0.47; 4.41; -3.85; 0.00 -19981215; 17464; 0.49; 0.00; -6.58; 0.00 -19981216; 18293; 0.52; 0.00; -7.94; 0.00 -19981217; 15002; 0.42; 0.00; -9.78; 0.00 -19981218; 14631; 0.41; 0.00;-10.99; 0.00 -19981219; 14315; 0.40; 0.00;-10.66; 0.00 -19981220; 14886; 0.42; 0.00; -8.67; 0.00 -19981221; 15459; 0.44; 0.00; -9.56; 0.00 -19981222; 16603; 0.47; 1.86; -7.30; 0.00 -19981223; 17751; 0.50; 1.28; -3.03; 0.00 -19981224; 19469; 0.55; 1.27; -3.49; 0.00 -19981225; 20984; 0.59; 0.92; -3.64; 0.00 -19981226; 18608; 0.53; 0.73; -4.19; 0.00 -19981227; 17064; 0.48; 0.00; -5.81; 0.00 -19981228; 15860; 0.45; 0.36; -8.40; 0.00 -19981229; 15459; 0.44; 5.21; -7.50; 0.00 -19981230; 15605; 0.44; 1.24; -4.34; 0.00 -19981231; 16462; 0.46; 0.49; -7.46; 0.00 -19990101; 16547; 0.47; 5.47; -6.09; 0.00 -19990102; 16377; 0.46; 10.15; -2.96; 0.00 -19990103; 16348; 0.46; 5.02; -1.07; 0.00 -19990104; 17007; 0.48; 0.00; -1.57; 0.00 -19990105; 16260; 0.46; 0.00; -3.81; 0.00 -19990106; 15144; 0.43; 0.00; -4.48; 0.00 -19990107; 14344; 0.40; 0.00; -4.54; 0.00 -19990108; 14085; 0.40; 0.00; -5.17; 0.00 -19990109; 13398; 0.38; 0.00; -9.40; 0.00 -19990110; 13168; 0.37; 0.00; -8.85; 0.00 -19990111; 13168; 0.37; 0.00; -7.14; 0.00 -19990112; 13742; 0.39; 0.54; -6.59; 0.00 -19990113; 14315; 0.40; 4.61; -4.28; 0.00 -19990114; 14886; 0.42; 8.21; -5.56; 0.00 -19990115; 14886; 0.42; 0.50;-10.65; 0.00 -19990116; 14602; 0.41; 0.00;-10.67; 0.00 -19990117; 14315; 0.40; 0.68;-10.78; 0.00 -19990118; 14315; 0.40; 3.15; -7.54; 0.00 -19990119; 14315; 0.40; 0.53; -6.54; 0.00 -19990120; 14602; 0.41; 0.00; -7.68; 0.00 -19990121; 14886; 0.42; 0.00; -7.94; 0.00 -19990122; 14772; 0.42; 0.00; -7.90; 0.00 -19990123; 15831; 0.45; 0.00; -7.31; 0.00 -19990124; 17949; 0.51; 9.21; -3.09; 0.00 -19990125; 18381; 0.52; 4.46; -1.92; 0.00 -19990126; 20928; 0.59; 17.46; -0.86; 0.00 -19990127; 22217; 0.63; 0.87; 1.02; 0.00 -19990128; 23276; 0.66; 6.48; -0.16; 0.00 -19990129; 21728; 0.61; 4.45; 0.59; 0.00 -19990130; 19238; 0.54; 2.15; -1.29; 0.00 -19990131; 18381; 0.52; 9.24; -1.40; 0.00 -19990201; 22015; 0.62; 28.61; -0.81; 0.00 -19990202; 26481; 0.75; 8.60; -2.93; 0.00 -19990203; 22475; 0.63; 1.98; -2.13; 0.00 -19990204; 20443; 0.58; 0.25; -2.17; 0.00 -19990205; 19068; 0.54; 0.19; -1.10; 0.00 -19990206; 18781; 0.53; 0.00; -1.86; 0.00 -19990207; 19210; 0.54; 0.00; -1.91; 0.00 -19990208; 19210; 0.54; 0.00; -1.82; 0.00 -19990209; 19412; 0.55; 0.00; -1.86; 0.01 -19990210; 19412; 0.55; 0.52; -2.25; 0.03 -19990211; 19238; 0.54; 1.06; -1.36; 0.05 -19990212; 19554; 0.55; 0.35; -0.50; 0.07 -19990213; 22132; 0.62; 12.81; -0.86; 0.10 -19990214; 26598; 0.75; 4.18; -0.16; 0.12 -19990215; 26226; 0.74; 0.00; -1.78; 0.14 -19990216; 25422; 0.72; 4.37; -0.52; 0.17 -19990217; 25422; 0.72; 4.88; -0.23; 0.19 -19990218; 25079; 0.71; 3.18; -2.32; 0.22 -19990219; 23963; 0.68; 0.81; -2.24; 0.24 -19990220; 22617; 0.64; 0.28; -4.13; 0.27 -19990221; 21501; 0.61; 3.11; -1.86; 0.29 -19990222; 22015; 0.62; 3.02; -2.29; 0.32 -19990223; 20698; 0.58; 0.49; -3.79; 0.35 -19990224; 19554; 0.55; 0.00; -4.75; 0.38 -19990225; 18551; 0.52; 0.00; -5.86; 0.41 -19990226; 17949; 0.51; 0.08; -5.22; 0.44 -19990227; 17149; 0.48; 0.10; -4.20; 0.47 -19990228; 17864; 0.50; 3.86; -2.72; 0.50 -19990301; 19610; 0.55; 7.97; -0.63; 0.53 -19990302; 20297; 0.57; 2.59; 1.89; 0.56 -19990303; 25252; 0.71; 5.00; 2.03; 0.59 -19990304; 39224; 1.11; 0.64; 3.88; 0.62 -19990305; 44947; 1.27; 0.10; 4.57; 0.66 -19990306; 56114; 1.58; 5.01; 3.57; 0.69 -19990307; 61841; 1.75; 0.00; 2.65; 0.72 -19990308; 58406; 1.65; 0.79; 2.06; 0.75 -19990309; 56971; 1.61; 6.41; 1.11; 0.79 -19990310; 53249; 1.50; 1.31; 1.26; 0.82 -19990311; 50674; 1.43; 0.44; 1.85; 0.86 -19990312; 49814; 1.41; 1.12; 2.40; 0.89 -19990313; 60980; 1.72; 12.07; 2.70; 0.93 -19990314; 70430; 1.99; 0.11; 2.26; 0.96 -19990315; 66994; 1.89; 0.00; 1.91; 1.00 -19990316; 65560; 1.85; 7.79; 1.03; 1.04 -19990317; 62985; 1.78; 5.61; 1.01; 1.07 -19990318; 64129; 1.81; 30.25; -0.34; 1.11 -19990319; 59836; 1.69; 6.07; -2.15; 1.15 -19990320; 55827; 1.58; 2.37; -0.90; 1.19 -19990321; 51531; 1.46; 0.93; -1.10; 1.23 -19990322; 48670; 1.37; 0.00; -1.40; 1.26 -19990323; 45808; 1.29; 0.00; -0.49; 1.30 -19990324; 43803; 1.24; 0.04; -0.08; 1.34 -19990325; 41799; 1.18; 0.60; 0.79; 1.38 -19990326; 41512; 1.17; 5.95; -0.22; 1.42 -19990327; 39794; 1.12; 4.52; -2.24; 1.46 -19990328; 37790; 1.07; 0.62; -5.20; 1.50 -19990329; 33210; 0.94; 0.00; -5.23; 1.54 -19990330; 33784; 0.95; 0.00; 0.27; 1.58 -19990331; 36646; 1.03; 0.00; 3.64; 1.62 -19990401; 38076; 1.08; 0.00; 4.51; 1.66 -19990402; 42943; 1.21; 0.00; 5.46; 1.70 -19990403; 51248; 1.45; 0.00; 7.46; 1.74 -19990404; 63559; 1.79; 0.02; 5.46; 1.78 -19990405; 68712; 1.94; 4.39; 6.52; 1.82 -19990406; 87320; 2.47; 2.80; 7.62; 1.86 -19990407; 101061; 2.85; 0.05; 5.03; 1.90 -19990408; 105928; 2.99; 12.75; 3.51; 1.94 -19990409; 101061; 2.85; 1.36; 2.52; 1.98 -19990410; 93047; 2.63; 5.50; 4.92; 2.02 -19990411; 115377; 3.26; 5.82; 2.71; 2.06 -19990412; 103923; 2.93; 2.57; 1.12; 2.10 -19990413; 93617; 2.64; 0.00; 2.71; 2.14 -19990414; 91329; 2.58; 0.11; 5.42; 2.18 -19990415; 97626; 2.76; 0.45; 6.76; 2.23 -19990416; 113659; 3.21; 0.00; 7.65; 2.27 -19990417; 137133; 3.87; 2.65; 7.74; 2.31 -19990418; 164046; 4.63; 7.91; 2.95; 2.35 -19990419; 142286; 4.02; 0.35; 1.35; 2.39 -19990420; 124252; 3.51; 0.00; 2.54; 2.43 -19990421; 119669; 3.38; 0.21; 7.34; 2.47 -19990422; 136850; 3.86; 0.02; 9.51; 2.51 -19990423; 176070; 4.97; 3.66; 10.82; 2.55 -19990424; 224453; 6.34; 0.17; 10.11; 2.59 -19990425; 248218; 7.01; 0.00; 10.00; 2.63 -19990426; 258524; 7.30; 0.00; 10.54; 2.67 -19990427; 275414; 7.78; 0.43; 12.78; 2.71 -19990428; 326375; 9.22; 1.59; 13.90; 2.75 -19990429; 412264; 11.64; 2.80; 14.02; 2.79 -19990430; 438030; 12.37; 8.19; 14.13; 2.83 -19990501; 443757; 12.53; 5.69; 8.30; 2.87 -19990502; 340691; 9.62; 2.73; 5.15; 2.90 -19990503; 267112; 7.54; 0.10; 7.08; 2.94 -19990504; 235907; 6.66; 0.13; 9.42; 2.98 -19990505; 236764; 6.69; 0.00; 11.76; 3.02 -19990506; 252797; 7.14; 0.00; 13.32; 3.06 -19990507; 275988; 7.79; 0.03; 14.65; 3.09 -19990508; 297744; 8.41; 0.19; 15.19; 3.13 -19990509; 306333; 8.65; 0.00; 15.19; 3.16 -19990510; 294883; 8.33; 0.00; 14.04; 3.20 -19990511; 269404; 7.61; 0.00; 12.44; 3.24 -19990512; 247070; 6.98; 6.49; 11.63; 3.27 -19990513; 248788; 7.02; 0.33; 10.93; 3.31 -19990514; 219017; 6.18; 0.00; 12.47; 3.34 -19990515; 206989; 5.84; 4.13; 13.09; 3.38 -19990516; 207563; 5.86; 5.92; 11.56; 3.41 -19990517; 184089; 5.20; 0.63; 11.13; 3.44 -19990518; 160037; 4.52; 0.31; 9.61; 3.48 -19990519; 142286; 4.02; 0.23; 6.19; 3.51 -19990520; 125970; 3.56; 0.53; 4.80; 3.54 -19990521; 113372; 3.20; 0.48; 5.16; 3.58 -19990522; 102779; 2.90; 0.24; 5.88; 3.61 -19990523; 95621; 2.70; 0.85; 8.16; 3.64 -19990524; 91899; 2.59; 3.93; 9.25; 3.67 -19990525; 95908; 2.71; 4.45; 9.04; 3.70 -19990526; 98200; 2.77; 13.51; 10.00; 3.73 -19990527; 102492; 2.89; 4.77; 9.09; 3.76 -19990528; 100775; 2.85; 1.23; 9.31; 3.79 -19990529; 92760; 2.62; 0.22; 9.71; 3.81 -19990530; 85315; 2.41; 6.14; 10.08; 3.84 -19990531; 126827; 3.58; 28.92; 7.40; 3.87 -19990601; 129979; 3.67; 3.66; 5.02; 3.90 -19990602; 104784; 2.96; 0.00; 5.65; 3.92 -19990603; 93904; 2.65; 0.04; 9.37; 3.95 -19990604; 88464; 2.50; 0.00; 13.59; 3.97 -19990605; 84741; 2.39; 0.36; 16.10; 4.00 -19990606; 83884; 2.37; 1.23; 14.91; 4.02 -19990607; 81306; 2.30; 13.09; 14.49; 4.04 -19990608; 85889; 2.43; 3.58; 16.44; 4.07 -19990609; 85602; 2.42; 3.54; 15.30; 4.09 -19990610; 79305; 2.24; 1.31; 12.92; 4.11 -19990611; 69282; 1.96; 0.00; 12.82; 4.13 -19990612; 62985; 1.78; 0.11; 15.23; 4.15 -19990613; 58689; 1.66; 0.26; 16.84; 4.17 -19990614; 55254; 1.56; 0.72; 18.14; 4.19 -19990615; 53536; 1.51; 14.63; 17.00; 4.21 -19990616; 63272; 1.79; 7.35; 12.37; 4.23 -19990617; 61267; 1.73; 8.17; 10.41; 4.25 -19990618; 58406; 1.65; 5.18; 9.30; 4.26 -19990619; 55540; 1.57; 1.39; 10.66; 4.28 -19990620; 50674; 1.43; 1.24; 13.27; 4.29 -19990621; 50100; 1.41; 7.23; 11.86; 4.31 -19990622; 52105; 1.47; 0.72; 8.28; 4.32 -19990623; 47526; 1.34; 0.00; 7.90; 4.34 -19990624; 43516; 1.23; 0.00; 10.22; 4.35 -19990625; 40368; 1.14; 0.00; 13.06; 4.36 -19990626; 38076; 1.08; 0.00; 15.46; 4.37 -19990627; 36072; 1.02; 0.00; 16.76; 4.38 -19990628; 34067; 0.96; 0.00; 17.20; 4.39 -19990629; 32636; 0.92; 0.00; 17.07; 4.40 -19990630; 30919; 0.87; 0.00; 17.76; 4.41 -19990701; 29488; 0.83; 0.07; 18.51; 4.42 -19990702; 28631; 0.81; 5.97; 17.70; 4.43 -19990703; 28259; 0.80; 0.35; 15.80; 4.43 -19990704; 26740; 0.76; 1.78; 15.15; 4.44 -19990705; 26254; 0.74; 2.17; 13.39; 4.45 -19990706; 26166; 0.74; 0.52; 11.54; 4.45 -19990707; 25394; 0.72; 0.00; 13.31; 4.45 -19990708; 24278; 0.69; 0.03; 14.25; 4.46 -19990709; 23046; 0.65; 0.14; 12.58; 4.46 -19990710; 26109; 0.74; 13.23; 10.88; 4.46 -19990711; 29775; 0.84; 0.74; 10.55; 4.46 -19990712; 25135; 0.71; 0.00; 12.21; 4.46 -19990713; 22560; 0.64; 0.00; 14.77; 4.46 -19990714; 21158; 0.60; 0.06; 17.11; 4.46 -19990715; 19925; 0.56; 0.21; 17.21; 4.46 -19990716; 18810; 0.53; 0.84; 12.98; 4.46 -19990717; 18810; 0.53; 7.03; 10.41; 4.45 -19990718; 21700; 0.61; 19.78; 8.63; 4.45 -19990719; 28057; 0.79; 1.97; 9.39; 4.44 -19990720; 25365; 0.72; 0.88; 11.97; 4.44 -19990721; 22072; 0.62; 11.43; 13.52; 4.43 -19990722; 24880; 0.70; 6.82; 12.55; 4.43 -19990723; 24852; 0.70; 0.39; 13.33; 4.42 -19990724; 22645; 0.64; 0.25; 15.79; 4.41 -19990725; 20326; 0.57; 0.00; 16.44; 4.40 -19990726; 18980; 0.54; 0.00; 18.10; 4.39 -19990727; 17751; 0.50; 0.01; 18.47; 4.38 -19990728; 17035; 0.48; 2.41; 18.22; 4.37 -19990729; 17092; 0.48; 0.51; 18.81; 4.36 -19990730; 16603; 0.47; 0.32; 19.00; 4.35 -19990731; 15803; 0.45; 0.07; 15.35; 4.34 -19990801; 15633; 0.44; 0.00; 11.71; 4.32 -19990802; 14716; 0.42; 0.00; 11.62; 4.31 -19990803; 14000; 0.40; 0.00; 13.51; 4.29 -19990804; 13455; 0.38; 0.00; 16.37; 4.28 -19990805; 12970; 0.37; 0.00; 15.87; 4.26 -19990806; 12452; 0.35; 0.06; 14.17; 4.25 -19990807; 12254; 0.35; 0.08; 14.57; 4.23 -19990808; 12198; 0.34; 0.00; 16.60; 4.21 -19990809; 11911; 0.34; 0.00; 18.58; 4.19 -19990810; 11450; 0.32; 0.00; 17.94; 4.17 -19990811; 10993; 0.31; 0.29; 13.49; 4.15 -19990812; 10763; 0.30; 0.21; 11.25; 4.13 -19990813; 10852; 0.31; 7.33; 10.94; 4.11 -19990814; 12339; 0.35; 2.92; 11.70; 4.09 -19990815; 15229; 0.43; 7.01; 10.59; 4.07 -19990816; 17177; 0.48; 1.16; 10.33; 4.04 -19990817; 15346; 0.43; 0.00; 9.48; 4.02 -19990818; 13628; 0.38; 0.00; 10.58; 4.00 -19990819; 12569; 0.35; 0.00; 12.46; 3.97 -19990820; 11939; 0.34; 0.00; 13.49; 3.95 -19990821; 11422; 0.32; 0.00; 13.38; 3.92 -19990822; 11022; 0.31; 0.02; 14.37; 3.90 -19990823; 10795; 0.30; 0.89; 13.77; 3.87 -19990824; 11022; 0.31; 7.00; 12.96; 3.84 -19990825; 12282; 0.35; 2.40; 12.28; 3.81 -19990826; 12137; 0.34; 0.00; 11.95; 3.79 -19990827; 11394; 0.32; 0.00; 12.23; 3.76 -19990828; 10852; 0.31; 0.00; 13.99; 3.73 -19990829; 10391; 0.29; 0.00; 14.91; 3.70 -19990830; 10019; 0.28; 0.00; 15.44; 3.67 -19990831; 9704; 0.27; 0.00; 16.20; 3.64 -19990901; 9449; 0.27; 0.00; 17.80; 3.61 -19990902; 9219; 0.26; 0.00; 17.06; 3.57 -19990903; 8847; 0.25; 0.00; 13.24; 3.54 -19990904; 8762; 0.25; 0.00; 10.62; 3.51 -19990905; 8762; 0.25; 0.00; 11.52; 3.48 -19990906; 8762; 0.25; 0.00; 13.02; 3.44 -19990907; 8645; 0.24; 0.00; 13.82; 3.41 -19990908; 8504; 0.24; 0.00; 13.73; 3.38 -19990909; 8358; 0.24; 0.00; 14.35; 3.34 -19990910; 8217; 0.23; 0.00; 14.81; 3.31 -19990911; 8075; 0.23; 0.00; 15.06; 3.27 -19990912; 7930; 0.22; 0.00; 14.96; 3.23 -19990913; 7788; 0.22; 0.00; 14.69; 3.20 -19990914; 7731; 0.22; 0.00; 14.57; 3.16 -19990915; 7643; 0.22; 0.21; 10.99; 3.13 -19990916; 7700; 0.22; 0.03; 7.31; 3.09 -19990917; 7816; 0.22; 0.00; 6.59; 3.05 -19990918; 7901; 0.22; 0.00; 7.95; 3.02 -19990919; 7901; 0.22; 0.00; 10.16; 2.98 -19990920; 7845; 0.22; 0.00; 11.93; 2.94 -19990921; 7788; 0.22; 0.00; 12.89; 2.90 -19990922; 7671; 0.22; 0.00; 13.64; 2.86 -19990923; 7558; 0.21; 0.00; 13.96; 2.82 -19990924; 7445; 0.21; 0.00; 14.48; 2.79 -19990925; 7356; 0.21; 0.48; 12.56; 2.75 -19990926; 8302; 0.23; 4.36; 9.51; 2.71 -19990927; 9991; 0.28; 0.51; 7.73; 2.67 -19990928; 9077; 0.26; 0.00; 7.74; 2.63 -19990929; 8730; 0.25; 0.00; 9.62; 2.59 -19990930; 8358; 0.24; 0.00; 10.93; 2.55 -19991001; 8103; 0.23; 0.00; 12.50; 2.51 -19991002; 7873; 0.22; 0.00; 13.28; 2.47 -19991003; 7700; 0.22; 0.00; 11.53; 2.43 -19991004; 7558; 0.21; 0.00; 9.70; 2.39 -19991005; 7445; 0.21; 0.00; 8.12; 2.35 -19991006; 7445; 0.21; 0.00; 9.67; 2.31 -19991007; 7445; 0.21; 0.00; 10.67; 2.26 -19991008; 7445; 0.21; 0.00; 8.53; 2.22 -19991009; 7328; 0.21; 0.00; 4.19; 2.18 -19991010; 7299; 0.21; 0.00; 3.66; 2.14 -19991011; 7271; 0.21; 0.00; 6.44; 2.10 -19991012; 7388; 0.21; 0.00; 6.25; 2.06 -19991013; 7388; 0.21; 0.00; 5.63; 2.02 -19991014; 7416; 0.21; 0.00; 5.01; 1.98 -19991015; 7445; 0.21; 0.53; 1.83; 1.94 -19991016; 7445; 0.21; 0.00; 2.29; 1.90 -19991017; 7530; 0.21; 0.00; 3.25; 1.86 -19991018; 7473; 0.21; 0.00; 2.24; 1.82 -19991019; 7501; 0.21; 0.00; 1.41; 1.77 -19991020; 7416; 0.21; 0.00; 3.71; 1.74 -19991021; 7299; 0.21; 0.00; 4.93; 1.69 -19991022; 7416; 0.21; 0.00; 4.97; 1.65 -19991023; 7558; 0.21; 0.00; 4.74; 1.61 -19991024; 7445; 0.21; 0.00; 4.51; 1.57 -19991025; 7328; 0.21; 0.00; 5.68; 1.53 -19991026; 7643; 0.22; 0.00; 5.45; 1.50 -19991027; 7643; 0.22; 0.00; 6.65; 1.46 -19991028; 7501; 0.21; 0.00; 6.73; 1.42 -19991029; 7388; 0.21; 0.00; 7.13; 1.38 -19991030; 7328; 0.21; 0.00; 6.21; 1.34 -19991031; 7328; 0.21; 0.02; 6.85; 1.30 -19991101; 7416; 0.21; 2.83; 5.56; 1.26 -19991102; 7700; 0.22; 4.33; 4.64; 1.22 -19991103; 7816; 0.22; 0.00; 3.64; 1.18 -19991104; 7731; 0.22; 0.00; 4.24; 1.15 -19991105; 7586; 0.21; 0.00; 3.99; 1.11 -19991106; 7416; 0.21; 0.00; 2.66; 1.07 -19991107; 7356; 0.21; 0.00; 0.24; 1.03 -19991108; 7356; 0.21; 0.00; 1.52; 1.00 -19991109; 7416; 0.21; 0.10; 1.85; 0.96 -19991110; 7214; 0.20; 0.00; 2.05; 0.93 -19991111; 7328; 0.21; 0.89; 2.37; 0.89 -19991112; 8188; 0.23; 5.10; 2.10; 0.86 -19991113; 9821; 0.28; 16.79; 1.59; 0.82 -19991114; 17351; 0.49; 4.16; -1.34; 0.79 -19991115; 14114; 0.40; 6.06; -3.55; 0.75 -19991116; 11765; 0.33; 13.03; -3.91; 0.72 -19991117; 10278; 0.29; 2.74; -5.54; 0.69 -19991118; 8419; 0.24; 0.00; -6.88; 0.65 -19991119; 8188; 0.23; 0.00; -2.44; 0.62 -19991120; 8302; 0.23; 0.00; -1.79; 0.59 -19991121; 9793; 0.28; 0.62; -2.17; 0.56 -19991122; 9991; 0.28; 1.24; -1.61; 0.53 -19991123; 10480; 0.30; 5.90; -2.78; 0.49 -19991124; 10108; 0.29; 7.88; -3.59; 0.46 -19991125; 9793; 0.28; 0.96; -4.09; 0.43 -19991126; 9191; 0.26; 0.00; -5.91; 0.41 -19991127; 8419; 0.24; 0.00; -6.30; 0.38 -19991128; 7530; 0.21; 0.00; -5.51; 0.35 -19991129; 6471; 0.18; 0.00; -5.35; 0.32 -19991130; 5525; 0.16; 0.81; -6.40; 0.29 -19991201; 6956; 0.20; 8.25; -3.10; 0.27 -19991202; 11022; 0.31; 18.31; -0.84; 0.24 -19991203; 14857; 0.42; 3.74; 2.16; 0.21 -19991204; 14230; 0.40; 0.00; 2.57; 0.19 -19991205; 13228; 0.37; 0.49; 2.06; 0.17 -19991206; 13370; 0.38; 18.24; 2.86; 0.14 -19991207; 21300; 0.60; 7.72; -0.52; 0.12 -19991208; 17694; 0.50; 1.00; -4.33; 0.10 -19991209; 13770; 0.39; 7.78; -1.70; 0.07 -19991210; 20212; 0.57; 34.78; -0.50; 0.05 -19991211; 21041; 0.59; 4.86; -4.32; 0.03 -19991212; 15431; 0.44; 1.33; -6.51; 0.01 -19991213; 12569; 0.35; 0.24; -9.04; 0.00 -19991214; 10250; 0.29; 0.64;-11.14; 0.00 -19991215; 9332; 0.26; 0.24; -8.61; 0.00 -19991216; 9449; 0.27; 0.16; -5.84; 0.00 -19991217; 11022; 0.31; 1.70; -4.97; 0.00 -19991218; 11252; 0.32; 0.40; -6.24; 0.00 -19991219; 10480; 0.30; 0.88; -8.93; 0.00 -19991220; 8475; 0.24; 3.44; -9.87; 0.00 -19991221; 9247; 0.26; 8.63; -6.16; 0.00 -19991222; 9991; 0.28; 8.58; -6.71; 0.00 -19991223; 10250; 0.29; 6.58; -9.11; 0.00 -19991224; 9449; 0.27; 0.12;-12.02; 0.00 -19991225; 8302; 0.23; 0.00;-11.43; 0.00 -19991226; 8015; 0.23; 0.00; -9.73; 0.00 -19991227; 7586; 0.21; 0.00; -9.03; 0.00 -19991228; 7445; 0.21; 0.00; -8.64; 0.00 -19991229; 7158; 0.20; 2.63; -8.33; 0.00 -19991230; 7158; 0.20; 8.03; -8.40; 0.00 -19991231; 7012; 0.20; 3.42; -8.57; 0.00 -20000101; 7012; 0.20; 0.57; -9.56; 0.00 -20000102; 7158; 0.20; 0.11;-11.81; 0.00 -20000103; 7445; 0.21; 0.12;-11.87; 0.00 -20000104; 7873; 0.22; 0.64;-10.94; 0.00 -20000105; 8160; 0.23; 0.50; -9.86; 0.00 -20000106; 8589; 0.24; 0.03; -7.37; 0.00 -20000107; 9162; 0.26; 1.83; -7.21; 0.00 -20000108; 9732; 0.27; 6.18; -6.17; 0.00 -20000109; 10019; 0.28; 13.72; -4.52; 0.00 -20000110; 10593; 0.30; 26.77; -2.22; 0.00 -20000111; 11309; 0.32; 14.34; -3.86; 0.00 -20000112; 12311; 0.35; 2.99; -5.03; 0.00 -20000113; 12885; 0.36; 6.06; -5.59; 0.00 -20000114; 13887; 0.39; 22.92; -1.52; 0.00 -20000115; 14886; 0.42; 10.67; -1.82; 0.00 -20000116; 16603; 0.47; 3.27; -5.07; 0.00 -20000117; 16320; 0.46; 1.49; -6.28; 0.00 -20000118; 15172; 0.43; 0.53; -9.69; 0.00 -20000119; 14029; 0.40; 0.85;-11.23; 0.00 -20000120; 13168; 0.37; 4.51; -7.71; 0.00 -20000121; 12739; 0.36; 0.60; -5.84; 0.00 -20000122; 12885; 0.36; 3.63; -5.61; 0.00 -20000123; 13026; 0.37; 0.64; -4.53; 0.00 -20000124; 13168; 0.37; 0.85; -6.04; 0.00 -20000125; 13313; 0.38; 0.11; -3.34; 0.00 -20000126; 13455; 0.38; 1.04; -3.56; 0.00 -20000127; 14029; 0.40; 0.33; -1.45; 0.00 -20000128; 14918; 0.42; 2.20; 0.07; 0.00 -20000129; 16603; 0.47; 10.39; 0.38; 0.00 -20000130; 20698; 0.58; 7.19; -3.09; 0.00 -20000131; 18580; 0.52; 3.00; -7.89; 0.00 -20000201; 15431; 0.44; 1.08;-12.95; 0.00 -20000202; 14142; 0.40; 0.93;-11.63; 0.00 -20000203; 14372; 0.41; 3.14; -7.67; 0.00 -20000204; 14085; 0.40; 2.20; -3.34; 0.00 -20000205; 13770; 0.39; 1.61; -4.70; 0.00 -20000206; 13543; 0.38; 1.36; -5.24; 0.00 -20000207; 13200; 0.37; 10.44; -2.90; 0.00 -20000208; 14029; 0.40; 22.88; -1.40; 0.00 -20000209; 24650; 0.70; 17.36; -1.00; 0.01 -20000210; 28085; 0.79; 7.16; -1.79; 0.03 -20000211; 21760; 0.61; 0.20; 0.21; 0.05 -20000212; 20010; 0.56; 6.41; 0.73; 0.07 -20000213; 21385; 0.60; 10.97; -1.65; 0.10 -20000214; 19295; 0.54; 16.79; -2.33; 0.12 -20000215; 22015; 0.62; 18.48; -2.47; 0.14 -20000216; 21558; 0.61; 1.82; -3.64; 0.17 -20000217; 18264; 0.52; 6.00; -4.90; 0.19 -20000218; 16947; 0.48; 3.15; -3.54; 0.22 -20000219; 15516; 0.44; 0.06; -1.66; 0.24 -20000220; 14946; 0.42; 0.08; 0.14; 0.27 -20000221; 15289; 0.43; 0.19; 0.60; 0.29 -20000222; 16490; 0.47; 0.08; -2.13; 0.32 -20000223; 16033; 0.45; 0.00; -3.02; 0.35 -20000224; 15976; 0.45; 0.40; -1.21; 0.38 -20000225; 14886; 0.42; 0.11; 0.57; 0.41 -20000226; 15775; 0.45; 0.27; 2.61; 0.44 -20000227; 17751; 0.50; 0.95; 3.47; 0.47 -20000228; 20099; 0.57; 0.12; 4.41; 0.50 -20000229; 23478; 0.66; 1.65; 2.67; 0.53 -20000301; 25996; 0.73; 1.46; 2.46; 0.56 -20000302; 29201; 0.82; 2.52; 2.04; 0.59 -20000303; 35215; 0.99; 5.68; -0.77; 0.62 -20000304; 33497; 0.95; 5.93; -2.21; 0.66 -20000305; 31492; 0.89; 8.84; 0.17; 0.69 -20000306; 37790; 1.07; 12.59; -1.38; 0.72 -20000307; 35215; 0.99; 0.81; -2.61; 0.75 -20000308; 30349; 0.86; 3.30; -0.06; 0.79 -20000309; 30919; 0.87; 9.19; -0.85; 0.82 -20000310; 29775; 0.84; 3.95; -3.22; 0.86 -20000311; 26768; 0.76; 0.51; -3.79; 0.89 -20000312; 24678; 0.70; 1.04; -3.51; 0.93 -20000313; 22791; 0.64; 1.25; -1.91; 0.96 -20000314; 22274; 0.63; 2.87; -1.59; 1.00 -20000315; 21473; 0.61; 0.76; -2.63; 1.04 -20000316; 20042; 0.57; 0.11; -4.00; 1.07 -20000317; 18838; 0.53; 0.03; -1.16; 1.11 -20000318; 19097; 0.54; 0.92; 2.33; 1.15 -20000319; 21130; 0.60; 0.55; 4.35; 1.19 -20000320; 24622; 0.70; 3.10; 4.61; 1.23 -20000321; 35502; 1.00; 8.40; 2.09; 1.26 -20000322; 41225; 1.16; 5.98; -0.42; 1.30 -20000323; 42086; 1.19; 20.42; -0.38; 1.34 -20000324; 41225; 1.16; 8.18; -2.01; 1.38 -20000325; 39507; 1.12; 7.26; 0.42; 1.42 -20000326; 41225; 1.16; 20.91; 2.65; 1.46 -20000327; 67564; 1.91; 6.49; -3.21; 1.50 -20000328; 58689; 1.66; 2.14; -4.70; 1.54 -20000329; 50387; 1.42; 7.92; -3.79; 1.58 -20000330; 44377; 1.25; 5.11; -2.56; 1.62 -20000331; 39507; 1.12; 1.01; -2.24; 1.66 -20000401; 36359; 1.03; 1.40; 1.70; 1.70 -20000402; 37790; 1.07; 7.62; 3.78; 1.74 -20000403; 57545; 1.62; 15.89; 1.06; 1.78 -20000404; 62985; 1.78; 7.60; -2.17; 1.82 -20000405; 55540; 1.57; 1.27; -1.17; 1.86 -20000406; 53536; 1.51; 4.53; 5.70; 1.90 -20000407; 67277; 1.90; 8.70; 0.48; 1.94 -20000408; 66134; 1.87; 0.46; -2.33; 1.98 -20000409; 59263; 1.67; 0.99; -0.59; 2.02 -20000410; 56688; 1.60; 1.02; 4.85; 2.06 -20000411; 63272; 1.79; 0.43; 8.21; 2.10 -20000412; 83884; 2.37; 0.16; 10.23; 2.14 -20000413; 123105; 3.48; 0.22; 11.15; 2.18 -20000414; 178075; 5.03; 0.36; 12.21; 2.23 -20000415; 230754; 6.52; 1.47; 12.00; 2.27 -20000416; 284290; 8.03; 1.14; 11.57; 2.31 -20000417; 309198; 8.73; 5.21; 10.34; 2.35 -20000418; 332102; 9.38; 6.17; 5.71; 2.39 -20000419; 282859; 7.99; 1.83; 5.72; 2.43 -20000420; 244209; 6.90; 5.68; 4.39; 2.47 -20000421; 234476; 6.62; 15.32; 3.56; 2.51 -20000422; 215294; 6.08; 3.23; 4.11; 2.55 -20000423; 195252; 5.51; 2.34; 4.53; 2.59 -20000424; 186090; 5.25; 4.43; 1.76; 2.63 -20000425; 161185; 4.55; 1.62; 0.03; 2.67 -20000426; 142003; 4.01; 0.98; 1.82; 2.71 -20000427; 134845; 3.81; 0.41; 5.89; 2.75 -20000428; 146296; 4.13; 4.22; 9.34; 2.79 -20000429; 199835; 5.64; 17.83; 6.08; 2.83 -20000430; 205271; 5.80; 4.20; 0.85; 2.87 -20000501; 169773; 4.79; 3.24; -0.59; 2.90 -20000502; 148013; 4.18; 0.39; 0.46; 2.94 -20000503; 134559; 3.80; 5.61; 1.72; 2.98 -20000504; 127401; 3.60; 8.35; 3.04; 3.02 -20000505; 140285; 3.96; 5.67; 5.34; 3.06 -20000506; 154314; 4.36; 10.82; 3.37; 3.09 -20000507; 155745; 4.40; 3.39; 2.33; 3.13 -20000508; 144865; 4.09; 1.99; 6.80; 3.16 -20000509; 168342; 4.75; 4.36; 6.24; 3.20 -20000510; 181224; 5.12; 0.38; 8.54; 3.24 -20000511; 208424; 5.88; 1.06; 11.82; 3.27 -20000512; 266826; 7.53; 0.14; 14.41; 3.31 -20000513; 332102; 9.38; 6.26; 8.69; 3.34 -20000514; 300610; 8.49; 2.77; 4.82; 3.38 -20000515; 253371; 7.15; 0.86; 9.34; 3.41 -20000516; 273983; 7.74; 3.38; 11.99; 3.44 -20000517; 334964; 9.46; 4.33; 5.62; 3.48 -20000518; 267686; 7.56; 1.33; 2.05; 3.51 -20000519; 225027; 6.35; 1.60; 5.30; 3.54 -20000520; 205558; 5.80; 0.00; 7.19; 3.58 -20000521; 207563; 5.86; 0.07; 10.89; 3.61 -20000522; 227031; 6.41; 0.51; 14.49; 3.64 -20000523; 276275; 7.80; 0.00; 13.35; 3.67 -20000524; 297744; 8.41; 0.33; 10.39; 3.70 -20000525; 275988; 7.79; 0.00; 11.21; 3.73 -20000526; 275988; 7.79; 0.22; 11.85; 3.76 -20000527; 270261; 7.63; 1.26; 9.80; 3.79 -20000528; 237625; 6.71; 4.73; 8.96; 3.81 -20000529; 236194; 6.67; 23.77; 3.02; 3.84 -20000530; 202697; 5.72; 20.69; 0.78; 3.87 -20000531; 179219; 5.06; 5.31; 3.89; 3.90 -20000601; 180366; 5.09; 13.78; 4.27; 3.92 -20000602; 197830; 5.59; 1.42; 7.74; 3.95 -20000603; 190386; 5.38; 0.27; 12.42; 3.97 -20000604; 215008; 6.07; 1.07; 12.92; 4.00 -20000605; 238482; 6.73; 0.16; 10.04; 4.02 -20000606; 215294; 6.08; 0.44; 11.56; 4.04 -20000607; 210425; 5.94; 0.30; 9.95; 4.07 -20000608; 194108; 5.48; 4.38; 6.98; 4.09 -20000609; 172348; 4.87; 0.39; 10.19; 4.11 -20000610; 162902; 4.60; 0.01; 9.56; 4.13 -20000611; 152022; 4.29; 0.39; 9.57; 4.15 -20000612; 145439; 4.11; 1.98; 10.46; 4.17 -20000613; 138281; 3.90; 0.00; 10.40; 4.19 -20000614; 129405; 3.65; 0.05; 13.37; 4.21 -20000615; 128261; 3.62; 0.49; 16.08; 4.23 -20000616; 127114; 3.59; 0.48; 17.68; 4.25 -20000617; 125396; 3.54; 0.49; 17.55; 4.26 -20000618; 123965; 3.50; 0.31; 16.13; 4.28 -20000619; 113372; 3.20; 0.03; 17.55; 4.29 -20000620; 104497; 2.95; 0.00; 18.13; 4.31 -20000621; 96769; 2.73; 0.64; 19.03; 4.32 -20000622; 89611; 2.53; 0.76; 19.49; 4.34 -20000623; 82454; 2.33; 0.07; 18.57; 4.35 -20000624; 73004; 2.06; 0.69; 17.74; 4.36 -20000625; 70713; 2.00; 7.52; 19.81; 4.37 -20000626; 75296; 2.13; 8.74; 16.94; 4.38 -20000627; 77014; 2.17; 6.55; 14.59; 4.39 -20000628; 74435; 2.10; 7.03; 12.22; 4.40 -20000629; 65847; 1.86; 5.65; 6.58; 4.41 -20000630; 61267; 1.73; 0.47; 8.78; 4.42 -20000701; 53249; 1.50; 0.39; 13.21; 4.43 -20000702; 47812; 1.35; 0.52; 15.06; 4.43 -20000703; 44660; 1.26; 3.57; 15.08; 4.44 -20000704; 44660; 1.26; 0.61; 15.31; 4.45 -20000705; 43803; 1.24; 5.87; 10.37; 4.45 -20000706; 47526; 1.34; 1.13; 8.07; 4.45 -20000707; 42086; 1.19; 0.90; 10.60; 4.46 -20000708; 37506; 1.06; 0.14; 13.68; 4.46 -20000709; 34641; 0.98; 0.03; 15.63; 4.46 -20000710; 33497; 0.95; 0.56; 17.24; 4.46 -20000711; 32350; 0.91; 1.18; 15.16; 4.46 -20000712; 31492; 0.89; 0.95; 11.43; 4.46 -20000713; 31492; 0.89; 1.13; 13.11; 4.46 -20000714; 31492; 0.89; 2.22; 11.78; 4.46 -20000715; 30919; 0.87; 0.14; 12.59; 4.46 -20000716; 27770; 0.78; 0.00; 13.69; 4.45 -20000717; 26339; 0.74; 0.03; 13.18; 4.45 -20000718; 25195; 0.71; 0.98; 13.38; 4.44 -20000719; 23761; 0.67; 0.43; 15.33; 4.44 -20000720; 22904; 0.65; 0.03; 18.11; 4.43 -20000721; 21473; 0.61; 0.00; 19.04; 4.43 -20000722; 20184; 0.57; 0.00; 18.33; 4.42 -20000723; 19355; 0.55; 0.02; 17.30; 4.41 -20000724; 18580; 0.52; 0.00; 17.91; 4.40 -20000725; 17836; 0.50; 0.00; 18.92; 4.39 -20000726; 17177; 0.48; 0.00; 19.23; 4.38 -20000727; 16547; 0.47; 0.02; 19.51; 4.37 -20000728; 15948; 0.45; 0.00; 17.11; 4.36 -20000729; 15346; 0.43; 0.00; 17.10; 4.35 -20000730; 14946; 0.42; 0.05; 18.30; 4.34 -20000731; 14574; 0.41; 0.06; 17.82; 4.32 -20000801; 14199; 0.40; 0.03; 13.24; 4.31 -20000802; 13798; 0.39; 0.05; 11.13; 4.29 -20000803; 13483; 0.38; 0.00; 12.96; 4.28 -20000804; 13426; 0.38; 0.00; 15.81; 4.26 -20000805; 13055; 0.37; 0.00; 17.98; 4.25 -20000806; 12711; 0.36; 1.02; 13.58; 4.23 -20000807; 12683; 0.36; 0.02; 11.66; 4.21 -20000808; 12368; 0.35; 0.31; 13.31; 4.19 -20000809; 11882; 0.34; 0.06; 15.48; 4.17 -20000810; 11510; 0.32; 0.55; 16.92; 4.15 -20000811; 11195; 0.32; 0.02; 17.99; 4.13 -20000812; 10880; 0.31; 2.36; 18.14; 4.11 -20000813; 10650; 0.30; 5.77; 17.12; 4.09 -20000814; 10508; 0.30; 0.35; 15.89; 4.07 -20000815; 11794; 0.33; 1.94; 15.19; 4.04 -20000816; 11595; 0.33; 0.00; 14.53; 4.02 -20000817; 10678; 0.30; 0.00; 16.42; 4.00 -20000818; 10306; 0.29; 0.06; 13.45; 3.97 -20000819; 9878; 0.28; 0.00; 13.36; 3.95 -20000820; 9619; 0.27; 0.28; 11.01; 3.92 -20000821; 9421; 0.27; 0.00; 10.32; 3.90 -20000822; 9247; 0.26; 0.00; 12.47; 3.87 -20000823; 9134; 0.26; 0.00; 15.50; 3.84 -20000824; 8960; 0.25; 0.00; 18.01; 3.81 -20000825; 8617; 0.24; 0.06; 18.21; 3.79 -20000826; 8532; 0.24; 0.00; 15.16; 3.76 -20000827; 8387; 0.24; 0.06; 15.16; 3.73 -20000828; 8160; 0.23; 0.07; 17.47; 3.70 -20000829; 8103; 0.23; 0.00; 17.88; 3.67 -20000830; 7930; 0.22; 0.31; 14.98; 3.64 -20000831; 7731; 0.22; 0.00; 12.97; 3.61 -20000901; 7700; 0.22; 0.04; 15.90; 3.57 -20000902; 7615; 0.21; 0.00; 18.88; 3.54 -20000903; 7473; 0.21; 0.00; 20.32; 3.51 -20000904; 7243; 0.20; 0.00; 20.53; 3.48 -20000905; 7186; 0.20; 0.00; 19.17; 3.44 -20000906; 7129; 0.20; 0.00; 16.84; 3.41 -20000907; 6871; 0.19; 0.28; 12.69; 3.38 -20000908; 6701; 0.19; 1.42; 11.40; 3.34 -20000909; 6669; 0.19; 0.25; 12.56; 3.31 -20000910; 6669; 0.19; 2.42; 7.01; 3.27 -20000911; 6669; 0.19; 2.19; 4.73; 3.23 -20000912; 6842; 0.19; 0.22; 6.86; 3.20 -20000913; 7299; 0.21; 0.00; 11.19; 3.16 -20000914; 7299; 0.21; 0.00; 12.75; 3.13 -20000915; 7299; 0.21; 0.23; 13.55; 3.09 -20000916; 7129; 0.20; 0.09; 9.84; 3.05 -20000917; 6956; 0.20; 2.08; 4.22; 3.02 -20000918; 7012; 0.20; 0.16; 4.00; 2.98 -20000919; 7271; 0.21; 1.16; 4.33; 2.94 -20000920; 7873; 0.22; 0.20; 5.84; 2.90 -20000921; 7958; 0.22; 0.00; 6.61; 2.86 -20000922; 7930; 0.22; 0.01; 6.71; 2.82 -20000923; 7671; 0.22; 0.01; 7.19; 2.79 -20000924; 7530; 0.21; 0.19; 9.49; 2.75 -20000925; 7328; 0.21; 0.02; 8.42; 2.71 -20000926; 7299; 0.21; 2.04; 8.56; 2.67 -20000927; 10965; 0.31; 24.13; 6.38; 2.63 -20000928; 16118; 0.46; 0.79; 5.29; 2.59 -20000929; 12513; 0.35; 0.06; 9.44; 2.55 -20000930; 10136; 0.29; 0.00; 11.97; 2.51 -20001001; 9077; 0.26; 0.00; 12.88; 2.47 -20001002; 8589; 0.24; 0.00; 13.15; 2.43 -20001003; 8273; 0.23; 0.00; 12.09; 2.39 -20001004; 7986; 0.23; 0.00; 12.74; 2.35 -20001005; 7845; 0.22; 0.00; 12.17; 2.31 -20001006; 7700; 0.22; 0.04; 12.20; 2.26 -20001007; 7586; 0.21; 0.00; 12.75; 2.22 -20001008; 7445; 0.21; 0.00; 12.43; 2.18 -20001009; 7328; 0.21; 0.00; 12.60; 2.14 -20001010; 7299; 0.21; 0.00; 13.67; 2.10 -20001011; 7186; 0.20; 0.03; 12.55; 2.06 -20001012; 7101; 0.20; 0.00; 11.78; 2.02 -20001013; 7044; 0.20; 0.02; 11.10; 1.98 -20001014; 7044; 0.20; 4.28; 8.33; 1.94 -20001015; 7586; 0.21; 12.91; 8.81; 1.90 -20001016; 12970; 0.37; 41.64; 8.68; 1.86 -20001017; 44090; 1.24; 4.20; 5.51; 1.82 -20001018; 29201; 0.82; 7.19; 2.99; 1.77 -20001019; 20899; 0.59; 1.70; 3.98; 1.74 -20001020; 19210; 0.54; 0.98; 7.33; 1.69 -20001021; 16320; 0.46; 0.20; 8.84; 1.65 -20001022; 14400; 0.41; 0.30; 6.35; 1.61 -20001023; 13111; 0.37; 0.13; 6.06; 1.57 -20001024; 12226; 0.35; 0.38; 6.57; 1.53 -20001025; 11567; 0.33; 0.00; 6.41; 1.50 -20001026; 11078; 0.31; 0.53; 4.88; 1.46 -20001027; 10621; 0.30; 0.41; 0.43; 1.42 -20001028; 10278; 0.29; 0.00; 1.10; 1.38 -20001029; 10076; 0.28; 0.00; 2.27; 1.34 -20001030; 9878; 0.28; 0.00; 3.59; 1.30 -20001031; 9591; 0.27; 0.00; 7.14; 1.26 -20001101; 9389; 0.27; 6.12; 6.53; 1.22 -20001102; 12569; 0.35; 15.43; 3.60; 1.18 -20001103; 22847; 0.65; 11.49; 2.94; 1.15 -20001104; 26796; 0.76; 11.59; 1.74; 1.11 -20001105; 23676; 0.67; 3.49; 2.60; 1.07 -20001106; 28486; 0.80; 22.04; 2.11; 1.03 -20001107; 32923; 0.93; 1.09; -1.21; 1.00 -20001108; 25365; 0.72; 7.00; -1.94; 0.96 -20001109; 22932; 0.65; 3.20; -1.12; 0.93 -20001110; 20758; 0.59; 8.61; -2.07; 0.89 -20001111; 20297; 0.57; 5.66; -2.62; 0.86 -20001112; 20669; 0.58; 16.22; -2.64; 0.82 -20001113; 20042; 0.57; 5.14; -3.96; 0.79 -20001114; 18636; 0.53; 5.63; -4.75; 0.75 -20001115; 17694; 0.50; 5.06; -7.19; 0.72 -20001116; 16547; 0.47; 1.94; -3.31; 0.69 -20001117; 16635; 0.47; 3.49; -3.00; 0.65 -20001118; 16834; 0.48; 3.15; -3.69; 0.62 -20001119; 16090; 0.45; 3.41; -3.33; 0.59 -20001120; 15916; 0.45; 11.12; -2.44; 0.56 -20001121; 16433; 0.46; 7.26; -2.52; 0.53 -20001122; 18466; 0.52; 18.56; -0.16; 0.49 -20001123; 29488; 0.83; 6.69; -1.86; 0.46 -20001124; 27540; 0.78; 1.47; -5.90; 0.43 -20001125; 21987; 0.62; 7.31; -4.96; 0.41 -20001126; 20528; 0.58; 11.29; -6.19; 0.38 -20001127; 18495; 0.52; 10.70; -6.63; 0.35 -20001128; 17921; 0.51; 16.85; -3.77; 0.32 -20001129; 18264; 0.52; 2.58; -3.74; 0.29 -20001130; 17836; 0.50; 0.59; -4.69; 0.27 -20001201; 15346; 0.43; 0.00; -4.16; 0.24 -20001202; 13313; 0.38; 0.00; -4.01; 0.21 -20001203; 13026; 0.37; 0.00; -2.43; 0.19 -20001204; 13455; 0.38; 0.05; -2.51; 0.17 -20001205; 13915; 0.39; 1.01; -4.50; 0.14 -20001206; 15374; 0.43; 12.25; -2.12; 0.12 -20001207; 23017; 0.65; 2.51; -1.94; 0.10 -20001208; 21186; 0.60; 7.45; -3.53; 0.07 -20001209; 21215; 0.60; 3.68; -0.67; 0.05 -20001210; 22819; 0.64; 0.09; -1.12; 0.03 -20001211; 21643; 0.61; 0.30; 0.31; 0.01 -20001212; 21356; 0.60; 5.84; 2.19; 0.00 -20001213; 25394; 0.72; 4.88; 0.64; 0.00 -20001214; 27742; 0.78; 1.18; -5.63; 0.00 -20001215; 20042; 0.57; 0.19;-10.14; 0.00 -20001216; 15459; 0.44; 0.07; -7.31; 0.00 -20001217; 14170; 0.40; 0.18; -5.50; 0.00 -20001218; 17177; 0.48; 0.47; -6.08; 0.00 -20001219; 22330; 0.63; 5.86; -7.40; 0.00 -20001220; 22904; 0.65; 1.70; -5.92; 0.00 -20001221; 22904; 0.65; 8.77; -4.65; 0.00 -20001222; 22043; 0.62; 6.42; -4.77; 0.00 -20001223; 20786; 0.59; 4.03; -6.60; 0.00 -20001224; 17464; 0.49; 1.08; -9.04; 0.00 -20001225; 16320; 0.46; 0.40;-12.11; 0.00 -20001226; 13168; 0.37; 0.07;-14.32; 0.00 -20001227; 16175; 0.46; 0.43;-12.16; 0.00 -20001228; 22043; 0.62; 1.10;-11.40; 0.00 -20001229; 24335; 0.69; 11.63; -9.06; 0.00 -20001230; 26453; 0.75; 14.72; -3.99; 0.00 -20001231; 22702; 0.64; 4.23; -4.94; 0.00 -20010101; 20528; 0.58; 3.65; -4.79; 0.00 -20010102; 20499; 0.58; 5.43; -3.44; 0.00 -20010103; 20042; 0.57; 4.71; -0.57; 0.00 -20010104; 19869; 0.56; 1.29; -1.08; 0.00 -20010105; 18781; 0.53; 9.65; -3.07; 0.00 -20010106; 17722; 0.50; 3.39; -6.78; 0.00 -20010107; 16518; 0.47; 1.91;-10.59; 0.00 -20010108; 15775; 0.45; 15.51; -9.84; 0.00 -20010109; 15605; 0.44; 37.21; -4.79; 0.00 -20010110; 16292; 0.46; 16.71; -4.38; 0.00 -20010111; 15976; 0.45; 3.91; -6.43; 0.00 -20010112; 16292; 0.46; 1.37; -4.50; 0.00 -20010113; 16348; 0.46; 6.66; -4.50; 0.00 -20010114; 16260; 0.46; 7.23; -7.17; 0.00 -20010115; 15888; 0.45; 18.73; -5.85; 0.00 -20010116; 15976; 0.45; 11.57; -2.06; 0.00 -20010117; 16518; 0.47; 3.10; -0.22; 0.00 -20010118; 16547; 0.47; 2.66; 0.64; 0.00 -20010119; 17120; 0.48; 0.37; 0.21; 0.00 -20010120; 17234; 0.49; 0.19; -1.00; 0.00 -20010121; 17407; 0.49; 18.26; -2.16; 0.00 -20010122; 17322; 0.49; 10.34; -3.66; 0.00 -20010123; 17035; 0.48; 4.83; -6.47; 0.00 -20010124; 16862; 0.48; 0.01; -9.86; 0.00 -20010125; 16090; 0.45; 0.14; -8.36; 0.00 -20010126; 15087; 0.43; 1.25; -4.55; 0.00 -20010127; 15261; 0.43; 0.53; -5.64; 0.00 -20010128; 14974; 0.42; 0.04; -5.36; 0.00 -20010129; 15002; 0.42; 0.34; -2.86; 0.00 -20010130; 14946; 0.42; 1.69; 1.76; 0.00 -20010131; 16231; 0.46; 10.06; -2.39; 0.00 -20010201; 15803; 0.45; 5.30;-14.75; 0.00 -20010202; 10306; 0.29; 1.59;-20.84; 0.00 -20010203; 8589; 0.24; 0.09;-20.64; 0.00 -20010204; 7158; 0.20; 0.19;-17.29; 0.00 -20010205; 6297; 0.18; 0.05;-14.20; 0.00 -20010206; 8302; 0.23; 0.02;-12.85; 0.00 -20010207; 10593; 0.30; 0.00;-11.39; 0.00 -20010208; 12024; 0.34; 0.00;-10.23; 0.00 -20010209; 13455; 0.38; 0.58; -8.20; 0.01 -20010210; 14315; 0.40; 0.31; -7.76; 0.03 -20010211; 15459; 0.44; 0.39; -4.29; 0.05 -20010212; 14886; 0.42; 0.14; -5.24; 0.07 -20010213; 15459; 0.44; 4.01; -7.69; 0.10 -20010214; 13600; 0.38; 2.06; -9.25; 0.12 -20010215; 12885; 0.36; 0.74;-10.22; 0.14 -20010216; 13742; 0.39; 5.09; -7.80; 0.17 -20010217; 15459; 0.44; 7.06; -7.56; 0.19 -20010218; 17177; 0.48; 7.17; -4.31; 0.22 -20010219; 17751; 0.50; 2.45; -2.66; 0.24 -20010220; 18608; 0.53; 3.32; -2.87; 0.27 -20010221; 17751; 0.50; 1.19; -1.01; 0.29 -20010222; 20326; 0.57; 10.80; -1.08; 0.32 -20010223; 23332; 0.66; 1.20; -0.75; 0.35 -20010224; 24622; 0.70; 3.15; -0.67; 0.38 -20010225; 26052; 0.74; 0.39; -2.41; 0.41 -20010226; 26226; 0.74; 1.25; -3.73; 0.44 -20010227; 24221; 0.68; 5.13; -4.68; 0.47 -20010228; 21158; 0.60; 8.17; -6.87; 0.50 -20010301; 19153; 0.54; 15.74; -9.06; 0.53 -20010302; 18236; 0.51; 10.66;-10.96; 0.56 -20010303; 17007; 0.48; 0.61;-13.44; 0.59 -20010304; 18696; 0.53; 0.87; -9.21; 0.62 -20010305; 17492; 0.49; 2.18; -3.44; 0.66 -20010306; 19869; 0.56; 13.14; 0.98; 0.69 -20010307; 28914; 0.82; 4.11; -0.34; 0.72 -20010308; 31206; 0.88; 12.78; -1.53; 0.75 -20010309; 38650; 1.09; 8.50; 1.86; 0.79 -20010310; 53536; 1.51; 3.94; 3.76; 0.82 -20010311; 65560; 1.85; 1.56; 4.48; 0.86 -20010312; 78444; 2.21; 0.33; 3.74; 0.89 -20010313; 80736; 2.28; 12.61; -1.25; 0.93 -20010314; 73865; 2.09; 3.54; -3.19; 0.96 -20010315; 62698; 1.77; 4.78; -2.11; 1.00 -20010316; 57258; 1.62; 22.98; -0.65; 1.04 -20010317; 58976; 1.67; 11.38; -2.96; 1.07 -20010318; 55540; 1.57; 9.90; -2.84; 1.11 -20010319; 54970; 1.55; 2.87; -1.07; 1.15 -20010320; 52679; 1.49; 1.54; 0.49; 1.19 -20010321; 53249; 1.50; 10.53; 0.67; 1.23 -20010322; 60980; 1.72; 3.40; -0.53; 1.26 -20010323; 60980; 1.72; 4.19; -1.82; 1.30 -20010324; 56401; 1.59; 3.26; -2.08; 1.34 -20010325; 56688; 1.60; 7.47; 0.90; 1.38 -20010326; 65276; 1.84; 1.71; 1.92; 1.42 -20010327; 68995; 1.95; 10.23; 0.71; 1.46 -20010328; 75870; 2.14; 11.16; 0.40; 1.50 -20010329; 78731; 2.22; 10.36; -1.25; 1.54 -20010330; 74152; 2.09; 1.05; -0.31; 1.58 -20010331; 70713; 2.00; 6.74; -0.78; 1.62 -20010401; 67277; 1.90; 6.82; -2.20; 1.66 -20010402; 65276; 1.84; 13.14; -2.03; 1.70 -20010403; 61841; 1.75; 6.34; -0.67; 1.74 -20010404; 56971; 1.61; 6.36; -1.53; 1.78 -20010405; 58976; 1.67; 11.73; 2.87; 1.82 -20010406; 80449; 2.27; 1.50; 7.46; 1.86 -20010407; 139425; 3.94; 0.41; 6.23; 1.90 -20010408; 177788; 5.02; 0.03; 2.89; 1.94 -20010409; 155171; 4.38; 0.17; -0.26; 1.98 -20010410; 135132; 3.82; 0.20; 2.00; 2.02 -20010411; 123392; 3.48; 0.11; 2.97; 2.06 -20010412; 121674; 3.44; 0.15; 5.15; 2.10 -20010413; 134272; 3.79; 0.37; 7.25; 2.14 -20010414; 157462; 4.45; 0.08; 7.73; 2.18 -20010415; 187237; 5.29; 6.22; 6.66; 2.23 -20010416; 263103; 7.43; 2.70; 4.91; 2.27 -20010417; 267112; 7.54; 7.11; 4.14; 2.31 -20010418; 248505; 7.02; 0.29; 7.01; 2.35 -20010419; 274557; 7.75; 0.00; 8.98; 2.39 -20010420; 340691; 9.62; 0.40; 10.48; 2.43 -20010421; 389360; 10.99; 5.92; 8.55; 2.47 -20010422; 415126; 11.72; 5.94; 4.43; 2.51 -20010423; 349279; 9.86; 0.91; 3.71; 2.55 -20010424; 294883; 8.33; 0.63; 2.91; 2.59 -20010425; 257380; 7.27; 1.29; 4.60; 2.63 -20010426; 236194; 6.67; 1.25; 4.03; 2.67 -20010427; 223883; 6.32; 3.94; 2.89; 2.71 -20010428; 205845; 5.81; 0.40; 1.95; 2.75 -20010429; 192104; 5.42; 0.14; 3.53; 2.79 -20010430; 194395; 5.49; 2.10; 6.61; 2.83 -20010501; 203841; 5.76; 2.97; 6.27; 2.87 -20010502; 221878; 6.26; 5.46; 4.70; 2.90 -20010503; 239342; 6.76; 1.07; 6.24; 2.94 -20010504; 256519; 7.24; 0.37; 7.97; 2.98 -20010505; 280567; 7.92; 1.34; 9.32; 3.02 -20010506; 317787; 8.97; 1.78; 12.20; 3.06 -20010507; 423714; 11.96; 7.43; 10.64; 3.09 -20010508; 475249; 13.42; 1.38; 9.59; 3.13 -20010509; 460934; 13.01; 1.15; 11.30; 3.16 -20010510; 486699; 13.74; 5.60; 7.83; 3.20 -20010511; 446618; 12.61; 1.55; 3.17; 3.24 -20010512; 360729; 10.19; 0.47; 2.08; 3.27 -20010513; 303471; 8.57; 0.59; 3.79; 3.31 -20010514; 269974; 7.62; 0.21; 6.81; 3.34 -20010515; 261386; 7.38; 0.86; 7.97; 3.38 -20010516; 272839; 7.70; 1.38; 6.96; 3.41 -20010517; 271692; 7.67; 6.40; 9.02; 3.44 -20010518; 314925; 8.89; 15.62; 2.33; 3.48 -20010519; 263390; 7.44; 2.61; 0.74; 3.51 -20010520; 228462; 6.45; 1.13; 4.45; 3.54 -20010521; 216151; 6.10; 0.54; 5.89; 3.58 -20010522; 205845; 5.81; 0.28; 9.11; 3.61 -20010523; 225888; 6.38; 9.94; 5.55; 3.64 -20010524; 214434; 6.05; 9.22; 1.12; 3.67 -20010525; 200405; 5.66; 4.49; 3.45; 3.70 -20010526; 188094; 5.31; 0.46; 5.27; 3.73 -20010527; 182371; 5.15; 7.54; 7.86; 3.76 -20010528; 221591; 6.26; 13.72; 3.84; 3.79 -20010529; 217299; 6.14; 5.62; 4.46; 3.81 -20010530; 204128; 5.76; 0.67; 5.87; 3.84 -20010531; 201553; 5.69; 0.77; 7.64; 3.87 -20010601; 208707; 5.89; 0.88; 10.52; 3.90 -20010602; 259955; 7.34; 6.22; 10.26; 3.92 -20010603; 285150; 8.05; 0.41; 9.96; 3.95 -20010604; 300610; 8.49; 0.36; 11.73; 3.97 -20010605; 326375; 9.22; 0.25; 14.03; 4.00 -20010606; 352141; 9.94; 0.00; 14.11; 4.02 -20010607; 357868; 10.10; 0.00; 13.99; 4.04 -20010608; 340691; 9.62; 0.00; 14.65; 4.07 -20010609; 332102; 9.38; 1.10; 13.50; 4.09 -20010610; 317787; 8.97; 2.28; 10.39; 4.11 -20010611; 286294; 8.08; 0.03; 12.04; 4.13 -20010612; 265969; 7.51; 0.01; 14.20; 4.15 -20010613; 258524; 7.30; 0.21; 14.88; 4.17 -20010614; 249935; 7.06; 2.13; 14.50; 4.19 -20010615; 259955; 7.34; 24.37; 12.59; 4.21 -20010616; 306333; 8.65; 2.90; 8.62; 4.23 -20010617; 235620; 6.65; 0.93; 8.04; 4.25 -20010618; 197830; 5.59; 1.79; 11.36; 4.26 -20010619; 183228; 5.17; 1.56; 9.15; 4.28 -20010620; 178075; 5.03; 14.55; 4.20; 4.29 -20010621; 166625; 4.70; 1.03; 7.66; 4.31 -20010622; 148013; 4.18; 0.93; 8.62; 4.32 -20010623; 137133; 3.87; 0.25; 10.11; 4.34 -20010624; 129405; 3.65; 0.45; 11.94; 4.35 -20010625; 125396; 3.54; 3.64; 11.89; 4.36 -20010626; 122248; 3.45; 0.11; 13.76; 4.37 -20010627; 118239; 3.34; 0.77; 12.09; 4.38 -20010628; 110224; 3.11; 0.45; 14.34; 4.39 -20010629; 105071; 2.97; 0.02; 16.13; 4.40 -20010630; 100204; 2.83; 0.76; 14.00; 4.41 -20010701; 95335; 2.69; 0.20; 10.77; 4.42 -20010702; 88177; 2.49; 0.00; 12.47; 4.43 -20010703; 81306; 2.30; 0.01; 15.97; 4.43 -20010704; 76727; 2.17; 0.00; 15.49; 4.44 -20010705; 72147; 2.04; 0.01; 14.99; 4.45 -20010706; 67277; 1.90; 0.00; 17.29; 4.45 -20010707; 62698; 1.77; 0.00; 18.93; 4.45 -20010708; 58689; 1.66; 0.02; 14.53; 4.46 -20010709; 54970; 1.55; 0.42; 13.71; 4.46 -20010710; 52105; 1.47; 0.60; 13.73; 4.46 -20010711; 49814; 1.41; 0.77; 15.59; 4.46 -20010712; 46952; 1.33; 4.87; 16.15; 4.46 -20010713; 46952; 1.33; 1.11; 16.76; 4.46 -20010714; 46665; 1.32; 0.79; 18.57; 4.46 -20010715; 43516; 1.23; 2.97; 18.35; 4.46 -20010716; 42659; 1.20; 5.11; 13.32; 4.46 -20010717; 43803; 1.24; 1.03; 13.28; 4.45 -20010718; 42943; 1.21; 0.35; 16.57; 4.45 -20010719; 38650; 1.09; 0.19; 20.16; 4.44 -20010720; 36072; 1.02; 2.16; 20.89; 4.44 -20010721; 34067; 0.96; 0.78; 16.66; 4.43 -20010722; 32066; 0.91; 0.68; 15.70; 4.43 -20010723; 30632; 0.86; 0.19; 18.57; 4.42 -20010724; 28914; 0.82; 0.27; 18.85; 4.41 -20010725; 27855; 0.79; 0.00; 18.68; 4.40 -20010726; 26598; 0.75; 2.58; 19.10; 4.39 -20010727; 26109; 0.74; 3.53; 17.99; 4.38 -20010728; 26825; 0.76; 0.40; 17.54; 4.37 -20010729; 25822; 0.73; 0.00; 18.95; 4.36 -20010730; 23906; 0.68; 0.26; 18.61; 4.35 -20010731; 22730; 0.64; 0.37; 19.86; 4.34 -20010801; 21760; 0.61; 0.98; 15.64; 4.32 -20010802; 20899; 0.59; 0.12; 11.24; 4.31 -20010803; 20528; 0.58; 0.00; 11.28; 4.29 -20010804; 20241; 0.57; 0.00; 12.43; 4.28 -20010805; 19582; 0.55; 0.00; 15.03; 4.26 -20010806; 18895; 0.53; 0.00; 18.03; 4.25 -20010807; 18123; 0.51; 0.07; 19.50; 4.23 -20010808; 17492; 0.49; 5.14; 18.99; 4.21 -20010809; 20528; 0.58; 2.94; 16.92; 4.19 -20010810; 20443; 0.58; 3.21; 15.89; 4.17 -20010811; 18866; 0.53; 0.59; 17.44; 4.15 -20010812; 17921; 0.51; 2.70; 18.44; 4.13 -20010813; 17464; 0.49; 2.50; 16.46; 4.11 -20010814; 17606; 0.50; 0.59; 16.65; 4.09 -20010815; 17007; 0.48; 0.04; 13.59; 4.07 -20010816; 16033; 0.45; 0.05; 10.79; 4.04 -20010817; 15403; 0.43; 0.25; 12.12; 4.02 -20010818; 15002; 0.42; 0.51; 13.37; 4.00 -20010819; 14602; 0.41; 0.07; 14.16; 3.97 -20010820; 14372; 0.41; 2.23; 12.55; 3.95 -20010821; 14542; 0.41; 5.95; 11.61; 3.92 -20010822; 19610; 0.55; 17.98; 11.97; 3.90 -20010823; 24909; 0.70; 9.58; 9.79; 3.87 -20010824; 24537; 0.69; 5.23; 7.16; 3.84 -20010825; 22415; 0.63; 2.01; 7.66; 3.81 -20010826; 21073; 0.59; 3.25; 9.71; 3.79 -20010827; 21700; 0.61; 6.15; 9.19; 3.76 -20010828; 21473; 0.61; 0.57; 10.26; 3.73 -20010829; 19840; 0.56; 0.46; 12.17; 3.70 -20010830; 18094; 0.51; 2.04; 12.13; 3.67 -20010831; 17351; 0.49; 0.68; 11.91; 3.64 -20010901; 16979; 0.48; 1.63; 13.04; 3.61 -20010902; 16348; 0.46; 3.54; 8.67; 3.57 -20010903; 16348; 0.46; 0.00; 9.47; 3.54 -20010904; 16175; 0.46; 0.07; 11.07; 3.51 -20010905; 15087; 0.43; 0.23; 9.20; 3.48 -20010906; 14344; 0.40; 0.00; 8.23; 3.44 -20010907; 13887; 0.39; 0.00; 9.71; 3.41 -20010908; 13511; 0.38; 0.00; 9.33; 3.38 -20010909; 12913; 0.36; 0.02; 8.38; 3.34 -20010910; 12683; 0.36; 0.01; 7.07; 3.31 -20010911; 12481; 0.35; 0.00; 6.73; 3.27 -20010912; 12198; 0.34; 0.10; 8.13; 3.23 -20010913; 12052; 0.34; 1.49; 11.28; 3.20 -20010914; 11826; 0.33; 0.00; 12.84; 3.16 -20010915; 11510; 0.32; 0.18; 13.21; 3.13 -20010916; 11167; 0.32; 0.36; 13.25; 3.09 -20010917; 11567; 0.33; 15.35; 8.51; 3.05 -20010918; 17807; 0.50; 4.19; 5.44; 3.02 -20010919; 16720; 0.47; 0.50; 7.32; 2.98 -20010920; 14344; 0.40; 0.10; 8.53; 2.94 -20010921; 12998; 0.37; 0.79; 10.13; 2.90 -20010922; 12198; 0.34; 0.04; 12.74; 2.86 -20010923; 11624; 0.33; 0.00; 13.75; 2.82 -20010924; 11280; 0.32; 0.00; 14.13; 2.79 -20010925; 10937; 0.31; 0.27; 14.78; 2.75 -20010926; 10706; 0.30; 0.42; 14.07; 2.71 -20010927; 10650; 0.30; 0.00; 12.85; 2.67 -20010928; 10650; 0.30; 0.43; 14.20; 2.63 -20010929; 10480; 0.30; 0.14; 15.68; 2.59 -20010930; 10278; 0.29; 5.88; 9.81; 2.55 -20011001; 19469; 0.55; 14.26; 5.02; 2.51 -20011002; 19897; 0.56; 0.25; 2.39; 2.47 -20011003; 16292; 0.46; 0.33; 3.08; 2.43 -20011004; 13855; 0.39; 0.24; 5.19; 2.39 -20011005; 12768; 0.36; 0.61; 4.90; 2.35 -20011006; 12254; 0.35; 0.02; 6.92; 2.31 -20011007; 11882; 0.34; 0.00; 7.63; 2.26 -20011008; 11539; 0.33; 0.00; 9.57; 2.22 -20011009; 11252; 0.32; 0.51; 9.27; 2.18 -20011010; 10965; 0.31; 1.98; 9.79; 2.14 -20011011; 10795; 0.30; 0.03; 6.14; 2.10 -20011012; 10795; 0.30; 0.10; 7.77; 2.06 -20011013; 10795; 0.30; 1.27; 6.03; 2.02 -20011014; 10795; 0.30; 0.09; 4.59; 1.98 -20011015; 10852; 0.31; 0.28; 2.38; 1.94 -20011016; 10880; 0.31; 0.05; 2.23; 1.90 -20011017; 10678; 0.30; 0.02; 3.40; 1.86 -20011018; 10536; 0.30; 0.26; 6.63; 1.82 -20011019; 10391; 0.29; 0.73; 6.86; 1.77 -20011020; 10335; 0.29; 1.33; 7.73; 1.74 -20011021; 10335; 0.29; 7.45; 6.75; 1.69 -20011022; 14259; 0.40; 3.54; 6.21; 1.65 -20011023; 14659; 0.41; 6.71; 5.82; 1.61 -20011024; 14170; 0.40; 1.12; 3.41; 1.57 -20011025; 13972; 0.39; 0.50; 1.32; 1.53 -20011026; 13572; 0.38; 1.93; 2.48; 1.50 -20011027; 14315; 0.40; 12.41; 0.58; 1.46 -20011028; 15746; 0.44; 0.46; -1.57; 1.42 -20011029; 13915; 0.39; 0.46; -2.27; 1.38 -20011030; 12796; 0.36; 2.92; -1.51; 1.34 -20011031; 12513; 0.35; 1.69; -2.36; 1.30 -20011101; 12311; 0.35; 0.13; -3.06; 1.26 -20011102; 11139; 0.31; 0.64; -2.04; 1.22 -20011103; 10593; 0.30; 11.50; 0.37; 1.18 -20011104; 28457; 0.80; 28.30; 1.66; 1.15 -20011105; 42086; 1.19; 10.03; 0.05; 1.11 -20011106; 31206; 0.88; 14.47; -0.59; 1.07 -20011107; 28170; 0.80; 12.04; -1.14; 1.03 -20011108; 24763; 0.70; 9.47; -0.44; 1.00 -20011109; 25911; 0.73; 6.95; 3.41; 0.96 -20011110; 43803; 1.24; 0.41; 5.82; 0.93 -20011111; 52392; 1.48; 0.28; 6.72; 0.89 -20011112; 51531; 1.46; 14.13; 3.21; 0.86 -20011113; 56971; 1.61; 9.59; -0.86; 0.82 -20011114; 46952; 1.33; 8.14; -2.98; 0.79 -20011115; 38937; 1.10; 1.11; -4.76; 0.75 -20011116; 33497; 0.95; 3.20; -2.22; 0.72 -20011117; 33210; 0.94; 1.95; -0.33; 0.69 -20011118; 31492; 0.89; 0.15; 1.46; 0.65 -20011119; 30062; 0.85; 0.46; 3.05; 0.62 -20011120; 29488; 0.83; 0.13; 4.64; 0.59 -20011121; 29201; 0.82; 0.43; 1.91; 0.56 -20011122; 29488; 0.83; 0.43; -0.45; 0.53 -20011123; 28287; 0.80; 9.66; -1.72; 0.49 -20011124; 29488; 0.83; 3.77; -2.40; 0.46 -20011125; 29201; 0.82; 5.20; -2.72; 0.43 -20011126; 28259; 0.80; 16.35; -3.28; 0.41 -20011127; 28085; 0.79; 1.37; -5.15; 0.38 -20011128; 24937; 0.70; 0.35; -6.22; 0.35 -20011129; 19925; 0.56; 0.10; -6.03; 0.32 -20011130; 19954; 0.56; 0.13; -5.94; 0.29 -20011201; 19840; 0.56; 1.02; -5.53; 0.27 -20011202; 20156; 0.57; 0.89; -3.00; 0.24 -20011203; 20843; 0.59; 6.49; -1.88; 0.21 -20011204; 33210; 0.94; 25.59; 1.34; 0.19 -20011205; 102205; 2.89; 6.38; 1.67; 0.17 -20011206; 90181; 2.55; 5.31; -1.59; 0.14 -20011207; 68425; 1.93; 1.07; -3.49; 0.12 -20011208; 58976; 1.67; 17.41; -1.06; 0.10 -20011209; 56971; 1.61; 9.70; -2.71; 0.07 -20011210; 50674; 1.43; 3.21; -7.47; 0.05 -20011211; 42086; 1.19; 1.27;-11.28; 0.03 -20011212; 38076; 1.08; 1.55; -7.14; 0.01 -20011213; 40655; 1.15; 1.01; -4.80; 0.00 -20011214; 38937; 1.10; 0.59; -2.42; 0.00 -20011215; 36932; 1.04; 0.53; -2.71; 0.00 -20011216; 34067; 0.96; 1.60; -5.03; 0.00 -20011217; 32350; 0.91; 3.89; -7.26; 0.00 -20011218; 30062; 0.85; 2.12; -9.90; 0.00 -20011219; 28344; 0.80; 5.94; -7.22; 0.00 -20011220; 28914; 0.82; 1.01; -3.35; 0.00 -20011221; 28914; 0.82; 0.47; -4.86; 0.00 -20011222; 28372; 0.80; 0.30; -3.78; 0.00 -20011223; 28029; 0.79; 5.77; -2.05; 0.00 -20011224; 28631; 0.81; 0.42; -2.31; 0.00 -20011225; 26768; 0.76; 0.07; -3.73; 0.00 -20011226; 23878; 0.67; 0.00; -3.41; 0.00 -20011227; 22730; 0.64; 0.31; -4.17; 0.00 -20011228; 21445; 0.61; 1.89; -6.36; 0.00 -20011229; 22617; 0.64; 0.31; -6.22; 0.00 -20011230; 24193; 0.68; 0.83; -4.08; 0.00 -20011231; 24020; 0.68; 2.08; -3.24; 0.00 -20020101; 23935; 0.68; 5.01; -2.60; 0.00 -20020102; 23906; 0.68; 4.00; -6.03; 0.00 -20020103; 22072; 0.62; 5.31; -7.92; 0.00 -20020104; 21385; 0.60; 13.56; -4.45; 0.00 -20020105; 21930; 0.62; 4.57; -2.27; 0.00 -20020106; 23276; 0.66; 15.04; -0.10; 0.00 -20020107; 29201; 0.82; 26.93; 0.56; 0.00 -20020108; 52392; 1.48; 21.09; 0.42; 0.00 -20020109; 48096; 1.36; 11.12; 1.91; 0.00 -20020110; 56688; 1.60; 7.07; -0.34; 0.00 -20020111; 53823; 1.52; 0.81; -2.86; 0.00 -20020112; 44377; 1.25; 0.81; -0.09; 0.00 -20020113; 40368; 1.14; 4.50; 0.01; 0.00 -20020114; 39507; 1.12; 1.60; 0.05; 0.00 -20020115; 38363; 1.08; 0.48; -1.40; 0.00 -20020116; 35785; 1.01; 0.16; -2.66; 0.00 -20020117; 33497; 0.95; 0.44; -4.28; 0.00 -20020118; 30349; 0.86; 0.25; -5.83; 0.00 -20020119; 24792; 0.70; 0.00; -6.02; 0.00 -20020120; 23417; 0.66; 0.06; -5.38; 0.00 -20020121; 26081; 0.74; 0.74; -2.53; 0.00 -20020122; 30632; 0.86; 12.10; -2.36; 0.00 -20020123; 30062; 0.85; 14.88; -3.51; 0.00 -20020124; 27228; 0.77; 2.12; -4.50; 0.00 -20020125; 26166; 0.74; 12.69; -2.59; 0.00 -20020126; 26052; 0.74; 8.48; -4.71; 0.00 -20020127; 25337; 0.72; 14.05; -5.63; 0.00 -20020128; 24994; 0.71; 22.79; -3.52; 0.00 -20020129; 25422; 0.72; 12.28; -4.38; 0.00 -20020130; 25164; 0.71; 10.16; -3.45; 0.00 -20020131; 24678; 0.70; 4.20; -5.56; 0.00 -20020201; 24250; 0.68; 6.36; -4.62; 0.00 -20020202; 24020; 0.68; 3.95; -4.03; 0.00 -20020203; 23591; 0.67; 2.65; -3.76; 0.00 -20020204; 23162; 0.65; 2.61; -5.03; 0.00 -20020205; 22504; 0.64; 6.82; -7.78; 0.00 -20020206; 21958; 0.62; 8.33; -7.20; 0.00 -20020207; 21958; 0.62; 7.48; -8.31; 0.00 -20020208; 21788; 0.62; 17.26; -6.01; 0.00 -20020209; 22702; 0.64; 22.30; -2.50; 0.01 -20020210; 40942; 1.16; 17.09; 0.43; 0.03 -20020211; 59550; 1.68; 6.12; -0.23; 0.05 -20020212; 52105; 1.47; 1.00; -7.97; 0.07 -20020213; 42659; 1.20; 1.30;-12.52; 0.10 -20020214; 35215; 0.99; 0.34;-14.26; 0.12 -20020215; 31492; 0.89; 3.59;-12.42; 0.14 -20020216; 31206; 0.88; 6.36; -7.51; 0.17 -20020217; 32066; 0.91; 1.09; -8.30; 0.19 -20020218; 29201; 0.82; 0.35; -9.28; 0.22 -20020219; 25882; 0.73; 0.45; -7.57; 0.24 -20020220; 25309; 0.71; 11.53; -6.41; 0.27 -20020221; 27342; 0.77; 7.15; -2.19; 0.29 -20020222; 28142; 0.79; 0.53; 1.56; 0.32 -20020223; 29488; 0.83; 0.53; 1.81; 0.35 -20020224; 29488; 0.83; 0.33; 0.78; 0.38 -20020225; 29775; 0.84; 0.06; 2.57; 0.41 -20020226; 32923; 0.93; 0.00; -0.71; 0.44 -20020227; 34641; 0.98; 0.11; -1.80; 0.47 -20020228; 35215; 0.99; 0.22; -0.84; 0.50 -20020301; 36072; 1.02; 0.70; -0.47; 0.53 -20020302; 36646; 1.03; 0.99; 0.11; 0.56 -20020303; 38076; 1.08; 3.38; 1.57; 0.59 -20020304; 42659; 1.20; 0.20; 0.66; 0.62 -20020305; 43516; 1.23; 0.11; -1.39; 0.66 -20020306; 42659; 1.20; 0.48; 0.69; 0.69 -20020307; 42372; 1.20; 0.20; 2.71; 0.72 -20020308; 43230; 1.22; 4.88; -2.59; 0.75 -20020309; 43230; 1.22; 2.45; -3.09; 0.79 -20020310; 42943; 1.21; 10.46; -1.17; 0.82 -20020311; 44090; 1.24; 7.93; -3.68; 0.86 -20020312; 41225; 1.16; 4.60; -4.61; 0.89 -20020313; 39224; 1.11; 2.30; -4.54; 0.93 -20020314; 37219; 1.05; 5.75; -4.28; 0.96 -20020315; 36646; 1.03; 1.46; -1.97; 1.00 -20020316; 35215; 0.99; 1.20; 0.02; 1.04 -20020317; 34641; 0.98; 0.59; 2.10; 1.07 -20020318; 36072; 1.02; 0.54; 4.88; 1.11 -20020319; 42086; 1.19; 6.67; 5.94; 1.15 -20020320; 68138; 1.92; 4.55; 3.69; 1.19 -20020321; 81880; 2.31; 0.94; 2.84; 1.23 -20020322; 83024; 2.34; 2.06; 0.16; 1.26 -20020323; 77587; 2.19; 6.29; -6.87; 1.30 -20020324; 69282; 1.96; 0.33; -5.80; 1.34 -20020325; 62985; 1.78; 1.20; -2.83; 1.38 -20020326; 59836; 1.69; 0.32; 1.00; 1.42 -20020327; 58976; 1.67; 0.37; 1.44; 1.46 -20020328; 59263; 1.67; 0.21; 1.59; 1.50 -20020329; 60123; 1.70; 0.97; 2.21; 1.54 -20020330; 62411; 1.76; 0.29; 4.19; 1.58 -20020331; 68138; 1.92; 0.10; 6.18; 1.62 -20020401; 78444; 2.21; 0.00; 8.23; 1.66 -20020402; 97626; 2.76; 0.00; 8.61; 1.70 -20020403; 125970; 3.56; 0.00; 7.08; 1.74 -20020404; 142573; 4.03; 0.00; 5.56; 1.78 -20020405; 145725; 4.11; 0.00; 4.96; 1.82 -20020406; 143147; 4.04; 0.33; 5.52; 1.86 -20020407; 144578; 4.08; 0.00; 7.14; 1.90 -20020408; 154314; 4.36; 0.00; 5.87; 1.94 -20020409; 156315; 4.41; 0.04; 3.54; 1.98 -20020410; 149444; 4.22; 0.07; 4.68; 2.02 -20020411; 147726; 4.17; 1.75; 4.67; 2.06 -20020412; 154884; 4.37; 3.88; 3.62; 2.10 -20020413; 156315; 4.41; 10.18; 4.39; 2.14 -20020414; 226171; 6.39; 18.62; 5.54; 2.18 -20020415; 292021; 8.25; 0.27; 8.54; 2.23 -20020416; 297744; 8.41; 0.30; 7.39; 2.27 -20020417; 294883; 8.33; 0.00; 8.91; 2.31 -20020418; 297744; 8.41; 0.48; 7.92; 2.35 -20020419; 289156; 8.16; 0.26; 8.78; 2.39 -20020420; 294883; 8.33; 1.60; 9.01; 2.43 -20020421; 323514; 9.13; 8.69; 7.47; 2.47 -20020422; 349279; 9.86; 11.10; 6.88; 2.51 -20020423; 377906; 10.67; 7.81; 5.71; 2.55 -20020424; 349279; 9.86; 3.18; 3.53; 2.59 -20020425; 294883; 8.33; 17.51; 1.55; 2.63 -20020426; 267112; 7.54; 4.63; 0.85; 2.67 -20020427; 236194; 6.67; 26.57; 0.11; 2.71 -20020428; 228749; 6.46; 10.98; -1.37; 2.75 -20020429; 198401; 5.60; 1.36; -0.63; 2.79 -20020430; 180653; 5.10; 0.25; 1.45; 2.83 -20020501; 168342; 4.75; 1.65; 3.41; 2.87 -20020502; 165764; 4.68; 2.81; 4.38; 2.90 -20020503; 164046; 4.63; 0.18; 7.02; 2.94 -20020504; 168913; 4.77; 0.00; 9.59; 2.98 -20020505; 192104; 5.42; 0.00; 12.92; 3.02 -20020506; 230754; 6.52; 0.20; 6.52; 3.06 -20020507; 218156; 6.16; 2.30; 0.93; 3.09 -20020508; 194678; 5.50; 1.15; 0.85; 3.13 -20020509; 175213; 4.95; 1.20; 3.71; 3.16 -20020510; 169200; 4.78; 0.64; 5.77; 3.20 -20020511; 167769; 4.74; 0.57; 6.46; 3.24 -20020512; 170060; 4.80; 4.16; 4.70; 3.27 -20020513; 167769; 4.74; 3.20; 4.90; 3.31 -20020514; 172922; 4.88; 21.55; 2.47; 3.34 -20020515; 165477; 4.67; 4.27; 2.89; 3.38 -20020516; 156032; 4.41; 0.54; 4.71; 3.41 -20020517; 151449; 4.28; 2.48; 7.36; 3.44 -20020518; 160324; 4.53; 1.81; 4.44; 3.48 -20020519; 155745; 4.40; 0.87; 5.13; 3.51 -20020520; 157462; 4.45; 6.78; 4.43; 3.54 -20020521; 160898; 4.54; 1.58; 6.20; 3.58 -20020522; 162042; 4.58; 4.04; 9.80; 3.61 -20020523; 198114; 5.59; 8.93; 9.66; 3.64 -20020524; 246213; 6.95; 27.56; 3.46; 3.67 -20020525; 238482; 6.73; 2.02; 4.14; 3.70 -20020526; 211572; 5.97; 1.06; 6.89; 3.73 -20020527; 202697; 5.72; 0.86; 10.56; 3.76 -20020528; 229323; 6.47; 12.92; 11.79; 3.79 -20020529; 346418; 9.78; 11.00; 7.98; 3.81 -20020530; 343552; 9.70; 3.26; 8.09; 3.84 -20020531; 326375; 9.22; 7.56; 4.24; 3.87 -20020601; 289156; 8.16; 13.57; 2.17; 3.90 -20020602; 280567; 7.92; 6.53; 6.19; 3.92 -20020603; 259381; 7.32; 3.09; 8.26; 3.95 -20020604; 270835; 7.65; 6.08; 6.34; 3.97 -20020605; 257663; 7.28; 0.38; 6.59; 4.00 -20020606; 247357; 6.98; 7.84; 8.95; 4.02 -20020607; 297744; 8.41; 6.65; 6.74; 4.04 -20020608; 285150; 8.05; 2.16; 7.33; 4.07 -20020609; 271692; 7.67; 0.44; 13.94; 4.09 -20020610; 314925; 8.89; 4.19; 9.34; 4.11 -20020611; 294883; 8.33; 2.09; 4.12; 4.13 -20020612; 248218; 7.01; 5.88; 4.26; 4.15 -20020613; 227031; 6.41; 1.83; 6.32; 4.17 -20020614; 202410; 5.72; 1.41; 5.31; 4.19 -20020615; 188668; 5.33; 1.79; 7.79; 4.21 -20020616; 182941; 5.17; 0.98; 8.78; 4.23 -20020617; 180080; 5.08; 2.86; 10.02; 4.25 -20020618; 183515; 5.18; 0.31; 11.26; 4.26 -20020619; 193248; 5.46; 0.00; 11.19; 4.28 -20020620; 191243; 5.40; 0.02; 12.12; 4.29 -20020621; 200405; 5.66; 0.38; 14.01; 4.31 -20020622; 204414; 5.77; 0.70; 17.71; 4.32 -20020623; 217582; 6.14; 0.00; 17.27; 4.34 -20020624; 221018; 6.24; 0.00; 18.68; 4.35 -20020625; 207276; 5.85; 0.00; 18.51; 4.36 -20020626; 193534; 5.46; 0.00; 17.57; 4.37 -20020627; 176357; 4.98; 0.07; 15.57; 4.38 -20020628; 157176; 4.44; 0.27; 14.70; 4.39 -20020629; 141716; 4.00; 0.00; 17.71; 4.40 -20020630; 133415; 3.77; 0.00; 19.26; 4.41 -20020701; 127975; 3.61; 0.46; 18.89; 4.42 -20020702; 118812; 3.35; 5.89; 12.47; 4.43 -20020703; 120817; 3.41; 0.39; 11.02; 4.43 -20020704; 102779; 2.90; 0.00; 14.02; 4.44 -20020705; 91042; 2.57; 0.09; 17.67; 4.45 -20020706; 85602; 2.42; 0.03; 13.10; 4.45 -20020707; 79588; 2.25; 0.01; 12.86; 4.45 -20020708; 72717; 2.05; 0.01; 15.15; 4.46 -20020709; 67564; 1.91; 0.00; 16.35; 4.46 -20020710; 63272; 1.79; 0.01; 18.24; 4.46 -20020711; 59550; 1.68; 0.08; 19.92; 4.46 -20020712; 56114; 1.58; 0.02; 20.93; 4.46 -20020713; 52679; 1.49; 0.12; 20.07; 4.46 -20020714; 49530; 1.40; 0.00; 17.92; 4.46 -20020715; 46378; 1.31; 0.00; 18.43; 4.46 -20020716; 42943; 1.21; 0.02; 17.18; 4.46 -20020717; 40368; 1.14; 0.20; 16.32; 4.45 -20020718; 38076; 1.08; 0.00; 16.60; 4.45 -20020719; 35785; 1.01; 0.23; 16.19; 4.44 -20020720; 33784; 0.95; 0.34; 15.78; 4.44 -20020721; 32350; 0.91; 0.00; 15.74; 4.43 -20020722; 31206; 0.88; 0.00; 16.92; 4.43 -20020723; 30062; 0.85; 2.75; 16.19; 4.42 -20020724; 30062; 0.85; 9.51; 12.06; 4.41 -20020725; 40655; 1.15; 9.52; 10.67; 4.40 -20020726; 37790; 1.07; 4.57; 9.38; 4.39 -20020727; 34354; 0.97; 2.53; 14.60; 4.38 -20020728; 32350; 0.91; 2.06; 16.28; 4.37 -20020729; 29775; 0.84; 0.01; 17.68; 4.36 -20020730; 27685; 0.78; 0.98; 19.25; 4.35 -20020731; 26368; 0.74; 1.24; 16.69; 4.34 -20020801; 26509; 0.75; 0.16; 16.67; 4.32 -20020802; 24909; 0.70; 0.00; 15.04; 4.31 -20020803; 23361; 0.66; 0.00; 15.34; 4.29 -20020804; 22359; 0.63; 0.00; 17.39; 4.28 -20020805; 21416; 0.60; 0.00; 19.76; 4.26 -20020806; 20499; 0.58; 0.23; 20.78; 4.25 -20020807; 19610; 0.55; 0.00; 20.76; 4.23 -20020808; 18781; 0.53; 0.15; 21.21; 4.21 -20020809; 18293; 0.52; 0.16; 20.68; 4.19 -20020810; 17864; 0.50; 0.44; 18.69; 4.17 -20020811; 17836; 0.50; 1.34; 17.11; 4.15 -20020812; 17751; 0.50; 0.00; 18.52; 4.13 -20020813; 17064; 0.48; 0.04; 19.50; 4.11 -20020814; 16320; 0.46; 0.04; 21.00; 4.09 -20020815; 15746; 0.44; 0.45; 20.14; 4.07 -20020816; 15346; 0.43; 1.43; 16.18; 4.04 -20020817; 15144; 0.43; 4.54; 13.56; 4.02 -20020818; 16805; 0.47; 6.74; 10.32; 4.00 -20020819; 19068; 0.54; 9.78; 11.94; 3.97 -20020820; 21473; 0.61; 9.07; 12.32; 3.95 -20020821; 21501; 0.61; 4.83; 10.64; 3.92 -20020822; 26194; 0.74; 9.80; 10.66; 3.90 -20020823; 26283; 0.74; 0.79; 11.92; 3.87 -20020824; 22730; 0.64; 5.36; 11.17; 3.84 -20020825; 22847; 0.65; 4.50; 9.44; 3.81 -20020826; 22189; 0.63; 1.93; 10.06; 3.79 -20020827; 20698; 0.58; 0.41; 11.78; 3.76 -20020828; 19238; 0.54; 0.00; 13.94; 3.73 -20020829; 17694; 0.50; 0.04; 15.29; 3.70 -20020830; 16890; 0.48; 0.38; 11.36; 3.67 -20020831; 16547; 0.47; 0.02; 10.89; 3.64 -20020901; 15775; 0.45; 0.32; 13.60; 3.61 -20020902; 15144; 0.43; 0.02; 14.83; 3.57 -20020903; 14631; 0.41; 0.07; 15.57; 3.54 -20020904; 14259; 0.40; 0.24; 17.45; 3.51 -20020905; 13827; 0.39; 4.05; 18.26; 3.48 -20020906; 13483; 0.38; 0.32; 17.63; 3.44 -20020907; 14287; 0.40; 0.20; 17.54; 3.41 -20020908; 13685; 0.39; 0.68; 15.71; 3.38 -20020909; 13256; 0.37; 0.00; 15.80; 3.34 -20020910; 13200; 0.37; 0.10; 16.26; 3.31 -20020911; 12683; 0.36; 0.00; 17.59; 3.27 -20020912; 12169; 0.34; 0.03; 14.44; 3.23 -20020913; 11709; 0.33; 0.04; 12.48; 3.20 -20020914; 11482; 0.32; 0.00; 15.72; 3.16 -20020915; 11337; 0.32; 0.01; 14.51; 3.13 -20020916; 11139; 0.31; 0.04; 10.24; 3.09 -20020917; 10965; 0.31; 0.13; 10.27; 3.05 -20020918; 10965; 0.31; 0.00; 11.19; 3.02 -20020919; 10823; 0.31; 0.00; 10.71; 2.98 -20020920; 10735; 0.30; 0.00; 10.49; 2.94 -20020921; 10536; 0.30; 0.00; 10.35; 2.90 -20020922; 10391; 0.29; 0.00; 13.35; 2.86 -20020923; 10306; 0.29; 0.00; 15.08; 2.82 -20020924; 10048; 0.28; 0.03; 14.70; 2.79 -20020925; 9878; 0.28; 0.50; 14.55; 2.75 -20020926; 9793; 0.28; 1.03; 13.88; 2.71 -20020927; 9963; 0.28; 0.13; 13.22; 2.67 -20020928; 9732; 0.27; 0.00; 12.38; 2.63 -20020929; 9647; 0.27; 0.00; 12.15; 2.59 -20020930; 9421; 0.27; 0.14; 11.71; 2.55 -20021001; 9276; 0.26; 6.23; 10.89; 2.51 -20021002; 10823; 0.31; 6.47; 3.65; 2.47 -20021003; 12913; 0.36; 14.15; 3.36; 2.43 -20021004; 17549; 0.50; 1.72; 10.48; 2.39 -20021005; 19182; 0.54; 13.02; 5.76; 2.35 -20021006; 20241; 0.57; 1.55; -0.21; 2.31 -20021007; 16433; 0.46; 0.12; -1.35; 2.26 -20021008; 14315; 0.40; 0.20; 0.55; 2.22 -20021009; 13341; 0.38; 1.57; 4.52; 2.18 -20021010; 13285; 0.38; 2.63; 3.04; 2.14 -20021011; 14344; 0.40; 1.27; 0.56; 2.10 -20021012; 14574; 0.41; 9.07; 2.50; 2.06 -20021013; 16805; 0.47; 15.65; 1.04; 2.02 -20021014; 18895; 0.53; 5.10; -0.11; 1.98 -20021015; 19384; 0.55; 24.32; 1.12; 1.94 -20021016; 24133; 0.68; 8.23; 0.62; 1.90 -20021017; 25507; 0.72; 0.91; -0.43; 1.86 -20021018; 20786; 0.59; 11.42; 1.97; 1.82 -20021019; 28914; 0.82; 2.66; -0.17; 1.77 -20021020; 23304; 0.66; 2.18; -1.21; 1.74 -20021021; 22217; 0.63; 24.78; -1.16; 1.69 -20021022; 48383; 1.37; 2.41; -0.21; 1.65 -20021023; 33210; 0.94; 4.77; 2.18; 1.61 -20021024; 25766; 0.73; 1.00; 4.39; 1.57 -20021025; 23332; 0.66; 0.45; 7.77; 1.53 -20021026; 24909; 0.70; 3.33; 4.37; 1.50 -20021027; 28631; 0.81; 0.65; 5.65; 1.46 -20021028; 27083; 0.76; 0.16; 4.17; 1.42 -20021029; 25624; 0.72; 0.26; 3.64; 1.38 -20021030; 24537; 0.69; 0.35; 5.48; 1.34 -20021031; 26311; 0.74; 17.23; 3.48; 1.30 -20021101; 35215; 0.99; 1.77; -2.10; 1.26 -20021102; 32066; 0.91; 1.58; -4.74; 1.22 -20021103; 26853; 0.76; 4.91; -5.52; 1.18 -20021104; 34354; 0.97; 36.71; -1.45; 1.15 -20021105; 51818; 1.46; 10.66; -2.41; 1.11 -20021106; 38076; 1.08; 2.49; -3.63; 1.07 -20021107; 32066; 0.91; 7.50; -4.87; 1.03 -20021108; 29775; 0.84; 6.32; -1.39; 1.00 -20021109; 33210; 0.94; 4.39; 1.83; 0.96 -20021110; 38937; 1.10; 0.35; 4.48; 0.93 -20021111; 41225; 1.16; 0.44; 4.58; 0.89 -20021112; 38937; 1.10; 0.07; 4.20; 0.86 -20021113; 36646; 1.03; 1.64; 4.22; 0.82 -20021114; 39507; 1.12; 9.67; -0.08; 0.79 -20021115; 39507; 1.12; 1.18; -3.28; 0.75 -20021116; 35785; 1.01; 0.57; -2.44; 0.72 -20021117; 32923; 0.93; 2.17; -1.16; 0.69 -20021118; 33497; 0.95; 1.81; -0.19; 0.65 -20021119; 33210; 0.94; 1.74; -0.60; 0.62 -20021120; 32350; 0.91; 12.54; -3.52; 0.59 -20021121; 31779; 0.90; 14.59; -3.81; 0.56 -20021122; 32636; 0.92; 7.60; -0.90; 0.53 -20021123; 35502; 1.00; 1.55; 1.33; 0.49 -20021124; 36072; 1.02; 5.67; 3.26; 0.46 -20021125; 47812; 1.35; 21.73; 0.28; 0.43 -20021126; 58689; 1.66; 1.69; -5.14; 0.41 -20021127; 48383; 1.37; 17.26; -5.93; 0.38 -20021128; 42943; 1.21; 1.74; -5.68; 0.35 -20021129; 39224; 1.11; 12.40; -3.60; 0.32 -20021130; 38363; 1.08; 5.73; -6.50; 0.29 -20021201; 33497; 0.95; 8.53; -8.42; 0.27 -20021202; 32350; 0.91; 4.52; -7.73; 0.24 -20021203; 32350; 0.91; 2.04; -4.35; 0.21 -20021204; 31779; 0.90; 5.98; -1.98; 0.19 -20021205; 31206; 0.88; 6.14; -3.19; 0.17 -20021206; 29488; 0.83; 0.15; -4.53; 0.14 -20021207; 25851; 0.73; 0.06; -5.09; 0.12 -20021208; 24105; 0.68; 1.25; -2.72; 0.10 -20021209; 26226; 0.74; 0.88; 0.02; 0.07 -20021210; 30632; 0.86; 14.66; 0.08; 0.05 -20021211; 40368; 1.14; 5.44; -2.44; 0.03 -20021212; 36072; 1.02; 0.90; -5.45; 0.01 -20021213; 32066; 0.91; 0.62; -6.58; 0.00 -20021214; 30062; 0.85; 0.38; -7.89; 0.00 -20021215; 26311; 0.74; 0.31; -8.61; 0.00 -20021216; 23563; 0.67; 2.04; -8.60; 0.00 -20021217; 26052; 0.74; 17.61; -4.96; 0.00 -20021218; 30062; 0.85; 10.57; -8.22; 0.00 -20021219; 22560; 0.64; 0.91;-19.67; 0.00 -20021220; 14857; 0.42; 0.47;-21.65; 0.00 -20021221; 12885; 0.36; 0.24;-21.34; 0.00 -20021222; 11450; 0.32; 0.09;-20.09; 0.00 -20021223; 15746; 0.44; 2.31;-16.86; 0.00 -20021224; 20042; 0.57; 4.38;-13.53; 0.00 -20021225; 25766; 0.73; 5.64;-13.46; 0.00 -20021226; 28631; 0.81; 7.58;-10.02; 0.00 -20021227; 34354; 0.97; 14.58; -6.58; 0.00 -20021228; 31492; 0.89; 4.98;-15.36; 0.00 -20021229; 27196; 0.77; 1.34;-20.08; 0.00 -20021230; 24335; 0.69; 6.81;-14.98; 0.00 -20021231; 25766; 0.73; 15.43; -8.75; 0.00 -20030101; 31492; 0.89; 0.95; -4.22; 0.00 -20030102; 34354; 0.97; 2.11; -5.29; 0.00 -20030103; 32923; 0.93; 0.19; -8.61; 0.00 -20030104; 31492; 0.89; 0.86;-10.29; 0.00 -20030105; 30062; 0.85; 0.06;-10.88; 0.00 -20030106; 29488; 0.83; 1.94; -9.63; 0.00 -20030107; 28631; 0.81; 14.65; -6.62; 0.00 -20030108; 31492; 0.89; 5.57; -3.91; 0.00 -20030109; 32923; 0.93; 2.19; -3.40; 0.00 -20030110; 31492; 0.89; 6.27; -3.14; 0.00 -20030111; 30919; 0.87; 5.66; -0.51; 0.00 -20030112; 35785; 1.01; 14.40; 0.66; 0.00 -20030113; 45808; 1.29; 11.58; 0.61; 0.00 -20030114; 52966; 1.50; 13.46; -0.33; 0.00 -20030115; 60123; 1.70; 11.46; -0.90; 0.00 -20030116; 51531; 1.46; 3.06; -1.89; 0.00 -20030117; 45808; 1.29; 3.64; -0.29; 0.00 -20030118; 40081; 1.13; 1.67; -0.71; 0.00 -20030119; 37219; 1.05; 1.27; -5.39; 0.00 -20030120; 33497; 0.95; 0.13; -7.66; 0.00 -20030121; 32923; 0.93; 0.09; -8.10; 0.00 -20030122; 33784; 0.95; 1.72; -7.47; 0.00 -20030123; 33210; 0.94; 0.11; -5.71; 0.00 -20030124; 31492; 0.89; 3.42; -7.64; 0.00 -20030125; 28631; 0.81; 0.16;-10.50; 0.00 -20030126; 27629; 0.78; 0.54;-12.49; 0.00 -20030127; 27196; 0.77; 1.88; -8.38; 0.00 -20030128; 26740; 0.76; 4.00;-11.89; 0.00 -20030129; 24909; 0.70; 0.80;-13.36; 0.00 -20030130; 24335; 0.69; 0.25; -8.01; 0.00 -20030131; 25766; 0.73; 4.38; -4.41; 0.00 -20030201; 28457; 0.80; 0.69; -1.00; 0.00 -20030202; 26913; 0.76; 3.40; 0.07; 0.00 -20030203; 28372; 0.80; 1.39; 0.89; 0.00 -20030204; 27884; 0.79; 1.70; 1.47; 0.00 -20030205; 28287; 0.80; 2.30; 0.06; 0.00 -20030206; 32066; 0.91; 0.55; -1.29; 0.00 -20030207; 30632; 0.86; 0.50; -0.31; 0.00 -20030208; 29775; 0.84; 0.08; 0.27; 0.00 -20030209; 30349; 0.86; 0.01; 1.05; 0.01 -20030210; 30349; 0.86; 0.02; 0.47; 0.03 -20030211; 30062; 0.85; 1.17; -0.24; 0.05 -20030212; 30919; 0.87; 3.96; -1.58; 0.07 -20030213; 32636; 0.92; 3.39; 0.24; 0.10 -20030214; 35785; 1.01; 5.44; 1.08; 0.12 -20030215; 40655; 1.15; 5.53; 1.96; 0.14 -20030216; 58689; 1.66; 9.30; -0.05; 0.17 -20030217; 68712; 1.94; 2.77; -1.76; 0.19 -20030218; 62698; 1.77; 4.15; -2.63; 0.22 -20030219; 58406; 1.65; 10.20; -0.71; 0.24 -20030220; 76440; 2.16; 12.60; 1.09; 0.27 -20030221; 96769; 2.73; 0.71; 1.66; 0.29 -20030222; 92186; 2.60; 0.05; 0.46; 0.32 -20030223; 82740; 2.34; 0.05; -1.51; 0.35 -20030224; 74435; 2.10; 0.17; -0.93; 0.38 -20030225; 67851; 1.92; 0.25; -0.24; 0.41 -20030226; 62985; 1.78; 0.00; 0.08; 0.44 -20030227; 60123; 1.70; 0.21; 0.03; 0.47 -20030228; 58119; 1.64; 0.27; -0.08; 0.50 -20030301; 56114; 1.58; 11.69; -6.02; 0.53 -20030302; 53249; 1.50; 13.78; -3.42; 0.56 -20030303; 52966; 1.50; 16.24; -1.09; 0.59 -20030304; 56401; 1.59; 17.63; 1.38; 0.62 -20030305; 67277; 1.90; 3.72; -4.09; 0.66 -20030306; 62698; 1.77; 3.42; -4.71; 0.69 -20030307; 58976; 1.67; 5.36; -4.60; 0.72 -20030308; 56688; 1.60; 2.99; -3.37; 0.75 -20030309; 53536; 1.51; 2.14; -1.66; 0.79 -20030310; 51531; 1.46; 1.41; -2.24; 0.82 -20030311; 49530; 1.40; 0.99; -4.87; 0.86 -20030312; 46095; 1.30; 5.34; -3.73; 0.89 -20030313; 45808; 1.29; 2.58; -2.76; 0.93 -20030314; 44090; 1.24; 1.13; -3.65; 0.96 -20030315; 42086; 1.19; 0.93; -2.25; 1.00 -20030316; 41225; 1.16; 0.23; -1.39; 1.04 -20030317; 40081; 1.13; 0.81; -0.64; 1.07 -20030318; 39507; 1.12; 1.80; 0.44; 1.11 -20030319; 38650; 1.09; 1.89; 2.56; 1.15 -20030320; 39794; 1.12; 1.38; 0.03; 1.19 -20030321; 40081; 1.13; 0.32; -1.31; 1.23 -20030322; 39507; 1.12; 2.68; -2.12; 1.26 -20030323; 38650; 1.09; 0.21; -1.56; 1.30 -20030324; 38076; 1.08; 2.70; -1.21; 1.34 -20030325; 37506; 1.06; 8.08; -3.30; 1.38 -20030326; 36932; 1.04; 2.88; -4.03; 1.42 -20030327; 35502; 1.00; 0.69; -3.77; 1.46 -20030328; 34641; 0.98; 8.80; -2.56; 1.50 -20030329; 34354; 0.97; 0.38; -2.41; 1.54 -20030330; 34067; 0.96; 0.47; 2.14; 1.58 -20030331; 34928; 0.99; 1.30; 5.67; 1.62 -20030401; 40655; 1.15; 3.48; 7.03; 1.66 -20030402; 65560; 1.85; 7.24; 2.94; 1.70 -20030403; 74722; 2.11; 2.37; 2.69; 1.74 -20030404; 78444; 2.21; 3.72; 4.97; 1.78 -20030405; 101635; 2.87; 12.83; 3.89; 1.82 -20030406; 143434; 4.05; 5.58; 1.83; 1.86 -20030407; 132841; 3.75; 10.50; -1.44; 1.90 -20030408; 117381; 3.31; 3.95; -1.09; 1.94 -20030409; 109363; 3.09; 12.78; -0.79; 1.98 -20030410; 102492; 2.89; 3.01; -2.91; 2.02 -20030411; 93904; 2.65; 2.70; -2.20; 2.06 -20030412; 88177; 2.49; 0.29; 0.76; 2.10 -20030413; 85602; 2.42; 0.20; 1.08; 2.14 -20030414; 84741; 2.39; 6.66; 2.16; 2.18 -20030415; 84171; 2.38; 3.36; 2.04; 2.23 -20030416; 83311; 2.35; 1.40; 1.45; 2.27 -20030417; 81593; 2.30; 1.30; 2.11; 2.31 -20030418; 83024; 2.34; 0.28; 2.88; 2.35 -20030419; 85028; 2.40; 0.31; 4.67; 2.39 -20030420; 91042; 2.57; 0.26; 6.30; 2.43 -20030421; 105071; 2.97; 0.14; 7.31; 2.47 -20030422; 122821; 3.47; 0.51; 7.54; 2.51 -20030423; 142286; 4.02; 3.06; 7.43; 2.55 -20030424; 168342; 4.75; 6.24; 3.07; 2.59 -20030425; 165190; 4.66; 2.62; -0.27; 2.63 -20030426; 148300; 4.19; 3.34; -0.33; 2.67 -20030427; 132841; 3.75; 5.39; -0.54; 2.71 -20030428; 120243; 3.40; 4.67; 1.81; 2.75 -20030429; 114233; 3.23; 4.75; 1.68; 2.79 -20030430; 106788; 3.02; 1.10; 2.93; 2.83 -20030501; 105928; 2.99; 0.09; 3.55; 2.87 -20030502; 107359; 3.03; 0.04; 2.14; 2.90 -20030503; 104784; 2.96; 0.03; 1.78; 2.94 -20030504; 99631; 2.81; 0.09; 3.50; 2.98 -20030505; 99057; 2.80; 0.52; 4.54; 3.02 -20030506; 107359; 3.03; 4.49; 5.70; 3.06 -20030507; 130262; 3.68; 4.97; 6.32; 3.09 -20030508; 196113; 5.54; 20.38; 4.21; 3.13 -20030509; 232185; 6.56; 1.13; 0.65; 3.16 -20030510; 193821; 5.47; 3.44; 2.12; 3.20 -20030511; 178649; 5.04; 5.17; 6.69; 3.24 -20030512; 205845; 5.81; 7.86; 5.55; 3.27 -20030513; 229323; 6.47; 1.97; 6.68; 3.31 -20030514; 240773; 6.80; 0.39; 4.79; 3.34 -20030515; 232758; 6.57; 1.01; 7.16; 3.38 -20030516; 248788; 7.02; 1.90; 8.81; 3.41 -20030517; 283716; 8.01; 15.47; 9.48; 3.44 -20030518; 409399; 11.56; 11.67; 7.86; 3.48 -20030519; 455207; 12.85; 0.93; 7.10; 3.51 -20030520; 397949; 11.24; 2.24; 6.55; 3.54 -20030521; 357868; 10.10; 0.32; 8.68; 3.58 -20030522; 380772; 10.75; 0.02; 9.56; 3.61 -20030523; 392222; 11.07; 0.06; 9.25; 3.64 -20030524; 383633; 10.83; 2.88; 9.60; 3.67 -20030525; 400810; 11.32; 2.50; 4.82; 3.70 -20030526; 326375; 9.22; 1.46; 3.09; 3.73 -20030527; 275988; 7.79; 2.08; 4.44; 3.76 -20030528; 247070; 6.98; 0.87; 6.18; 3.79 -20030529; 236194; 6.67; 4.49; 7.26; 3.81 -20030530; 257380; 7.27; 8.21; 4.12; 3.84 -20030531; 243065; 6.86; 0.53; 6.78; 3.87 -20030601; 227889; 6.43; 0.08; 9.91; 3.90 -20030602; 264251; 7.46; 0.02; 12.46; 3.92 -20030603; 309198; 8.73; 0.12; 9.11; 3.95 -20030604; 300610; 8.49; 1.95; 6.15; 3.97 -20030605; 271692; 7.67; 17.73; 5.11; 4.00 -20030606; 326375; 9.22; 11.74; 9.66; 4.02 -20030607; 352141; 9.94; 1.91; 7.67; 4.04 -20030608; 300610; 8.49; 1.26; 8.22; 4.07 -20030609; 276845; 7.82; 0.22; 10.55; 4.09 -20030610; 289156; 8.16; 0.16; 13.87; 4.11 -20030611; 323514; 9.13; 2.30; 10.32; 4.13 -20030612; 294883; 8.33; 0.00; 7.46; 4.15 -20030613; 257950; 7.28; 0.55; 5.64; 4.17 -20030614; 223022; 6.30; 4.20; 4.65; 4.19 -20030615; 193821; 5.47; 0.41; 7.46; 4.21 -20030616; 183802; 5.19; 4.84; 6.76; 4.23 -20030617; 176931; 5.00; 1.20; 7.08; 4.25 -20030618; 167195; 4.72; 0.39; 9.16; 4.26 -20030619; 168342; 4.75; 10.85; 9.26; 4.28 -20030620; 201553; 5.69; 11.68; 9.63; 4.29 -20030621; 204414; 5.77; 0.26; 10.08; 4.31 -20030622; 194108; 5.48; 2.78; 10.72; 4.32 -20030623; 189242; 5.34; 2.37; 10.66; 4.34 -20030624; 187237; 5.29; 6.12; 9.86; 4.35 -20030625; 188955; 5.34; 3.19; 8.88; 4.36 -20030626; 170917; 4.83; 2.83; 9.02; 4.37 -20030627; 160611; 4.53; 2.13; 10.85; 4.38 -20030628; 158320; 4.47; 5.80; 11.86; 4.39 -20030629; 158893; 4.49; 15.73; 11.41; 4.40 -20030630; 213003; 6.01; 3.10; 10.02; 4.41 -20030701; 186950; 5.28; 0.05; 12.01; 4.42 -20030702; 160037; 4.52; 0.16; 15.07; 4.43 -20030703; 150018; 4.24; 0.00; 17.76; 4.43 -20030704; 143434; 4.05; 0.10; 17.97; 4.44 -20030705; 134845; 3.81; 0.01; 15.88; 4.45 -20030706; 120530; 3.40; 0.02; 13.41; 4.45 -20030707; 106788; 3.02; 0.00; 13.19; 4.45 -20030708; 97052; 2.74; 0.00; 14.16; 4.46 -20030709; 89895; 2.54; 0.47; 15.02; 4.46 -20030710; 84458; 2.38; 0.21; 14.19; 4.46 -20030711; 79018; 2.23; 0.00; 14.40; 4.46 -20030712; 73004; 2.06; 0.07; 17.66; 4.46 -20030713; 68425; 1.93; 1.03; 19.11; 4.46 -20030714; 67277; 1.90; 2.32; 15.34; 4.46 -20030715; 66134; 1.87; 0.13; 16.45; 4.46 -20030716; 59550; 1.68; 0.07; 16.92; 4.46 -20030717; 55827; 1.58; 1.27; 12.97; 4.45 -20030718; 54970; 1.55; 0.16; 12.81; 4.45 -20030719; 50387; 1.42; 0.00; 13.38; 4.44 -20030720; 46665; 1.32; 0.00; 15.24; 4.44 -20030721; 43803; 1.24; 0.00; 15.53; 4.43 -20030722; 41512; 1.17; 0.32; 16.73; 4.43 -20030723; 39794; 1.12; 2.49; 18.77; 4.42 -20030724; 39794; 1.12; 2.49; 18.97; 4.41 -20030725; 39224; 1.11; 0.37; 16.77; 4.40 -20030726; 38363; 1.08; 0.48; 15.47; 4.39 -20030727; 34928; 0.99; 0.07; 15.04; 4.38 -20030728; 32923; 0.93; 0.00; 17.11; 4.37 -20030729; 31206; 0.88; 0.00; 17.41; 4.36 -20030730; 29488; 0.83; 0.08; 16.48; 4.35 -20030731; 28457; 0.80; 0.38; 17.37; 4.34 -20030801; 27884; 0.79; 1.80; 14.05; 4.32 -20030802; 28029; 0.79; 0.70; 14.30; 4.31 -20030803; 26509; 0.75; 0.12; 17.01; 4.29 -20030804; 24909; 0.70; 0.00; 18.18; 4.28 -20030805; 23906; 0.68; 1.98; 17.32; 4.26 -20030806; 23506; 0.66; 0.00; 17.53; 4.25 -20030807; 23017; 0.65; 4.63; 18.96; 4.23 -20030808; 21987; 0.62; 0.00; 19.66; 4.21 -20030809; 21615; 0.61; 0.00; 20.89; 4.19 -20030810; 20443; 0.58; 0.34; 16.50; 4.17 -20030811; 19840; 0.56; 0.00; 15.46; 4.15 -20030812; 19323; 0.55; 0.00; 14.54; 4.13 -20030813; 18551; 0.52; 0.00; 14.97; 4.11 -20030814; 18066; 0.51; 0.00; 14.81; 4.09 -20030815; 17606; 0.50; 0.00; 14.82; 4.07 -20030816; 17177; 0.48; 0.04; 16.05; 4.04 -20030817; 16777; 0.47; 0.17; 17.49; 4.02 -20030818; 16720; 0.47; 0.02; 18.22; 4.00 -20030819; 16664; 0.47; 0.02; 18.21; 3.97 -20030820; 16005; 0.45; 0.00; 18.50; 3.95 -20030821; 15544; 0.44; 0.09; 18.82; 3.92 -20030822; 14974; 0.42; 0.02; 18.40; 3.90 -20030823; 14542; 0.41; 0.26; 17.48; 3.87 -20030824; 14057; 0.40; 0.00; 16.12; 3.84 -20030825; 13798; 0.39; 1.16; 14.80; 3.81 -20030826; 13455; 0.38; 0.00; 14.32; 3.79 -20030827; 13398; 0.38; 6.39; 13.86; 3.76 -20030828; 13543; 0.38; 1.52; 13.08; 3.73 -20030829; 16231; 0.46; 0.15; 15.71; 3.70 -20030830; 14687; 0.41; 0.00; 17.99; 3.67 -20030831; 13398; 0.38; 0.00; 18.17; 3.64 -20030901; 12824; 0.36; 0.00; 14.11; 3.61 -20030902; 12541; 0.35; 0.10; 11.62; 3.57 -20030903; 12198; 0.34; 0.00; 12.64; 3.54 -20030904; 12024; 0.34; 0.00; 14.41; 3.51 -20030905; 11826; 0.33; 0.15; 15.09; 3.48 -20030906; 11510; 0.32; 0.40; 16.35; 3.44 -20030907; 11337; 0.32; 1.06; 14.89; 3.41 -20030908; 11337; 0.32; 1.95; 11.67; 3.38 -20030909; 11482; 0.32; 0.18; 10.24; 3.34 -20030910; 11539; 0.33; 0.95; 11.31; 3.31 -20030911; 11510; 0.32; 2.65; 11.73; 3.27 -20030912; 11167; 0.32; 0.20; 12.00; 3.23 -20030913; 11107; 0.31; 7.09; 9.75; 3.20 -20030914; 12339; 0.35; 2.11; 5.73; 3.16 -20030915; 12856; 0.36; 0.32; 7.85; 3.13 -20030916; 12396; 0.35; 0.00; 9.91; 3.09 -20030917; 11624; 0.33; 0.01; 9.83; 3.05 -20030918; 11050; 0.31; 0.00; 9.71; 3.02 -20030919; 10735; 0.30; 0.00; 11.91; 2.98 -20030920; 10621; 0.30; 0.00; 11.86; 2.94 -20030921; 10278; 0.29; 0.00; 6.18; 2.90 -20030922; 10019; 0.28; 0.00; 4.85; 2.86 -20030923; 10019; 0.28; 0.00; 7.82; 2.82 -20030924; 10019; 0.28; 0.03; 10.85; 2.79 -20030925; 10019; 0.28; 0.00; 13.02; 2.75 -20030926; 10019; 0.28; 0.00; 14.11; 2.71 -20030927; 9878; 0.28; 0.04; 14.22; 2.67 -20030928; 9704; 0.27; 0.04; 11.90; 2.63 -20030929; 9704; 0.27; 0.03; 12.35; 2.59 -20030930; 9704; 0.27; 0.00; 12.43; 2.55 -20031001; 9421; 0.27; 0.00; 12.71; 2.51 -20031002; 9191; 0.26; 0.00; 9.46; 2.47 -20031003; 8932; 0.25; 0.19; 5.65; 2.43 -20031004; 8847; 0.25; 0.00; 3.69; 2.39 -20031005; 8847; 0.25; 0.00; 6.59; 2.35 -20031006; 8847; 0.25; 0.00; 9.82; 2.31 -20031007; 8847; 0.25; 0.00; 9.10; 2.26 -20031008; 8847; 0.25; 0.00; 7.88; 2.22 -20031009; 8790; 0.25; 0.00; 8.85; 2.18 -20031010; 8702; 0.25; 0.00; 12.24; 2.14 -20031011; 8702; 0.25; 0.00; 13.18; 2.10 -20031012; 8674; 0.24; 0.00; 10.29; 2.06 -20031013; 8532; 0.24; 0.00; 7.55; 2.02 -20031014; 8447; 0.24; 0.00; 9.55; 1.98 -20031015; 8447; 0.24; 0.00; 11.65; 1.94 -20031016; 8447; 0.24; 3.09; 8.48; 1.90 -20031017; 8674; 0.24; 0.82; 1.47; 1.86 -20031018; 9647; 0.27; 0.89; -1.75; 1.82 -20031019; 9591; 0.27; 0.00; 3.27; 1.77 -20031020; 9534; 0.27; 1.50; 4.55; 1.74 -20031021; 9764; 0.28; 8.58; 5.76; 1.69 -20031022; 11394; 0.32; 0.67; 1.56; 1.65 -20031023; 11652; 0.33; 2.54; -1.88; 1.61 -20031024; 11050; 0.31; 4.31; -0.74; 1.57 -20031025; 10735; 0.30; 6.43; -0.81; 1.53 -20031026; 11195; 0.32; 10.67; -0.75; 1.50 -20031027; 12339; 0.35; 6.83; -3.61; 1.46 -20031028; 11737; 0.33; 0.80; -6.47; 1.42 -20031029; 10391; 0.29; 0.51; -8.49; 1.38 -20031030; 8475; 0.24; 0.49;-10.29; 1.34 -20031031; 7643; 0.22; 2.45; -5.89; 1.30 -20031101; 9591; 0.27; 1.57;-10.68; 1.26 -20031102; 8132; 0.23; 0.36;-11.63; 1.22 -20031103; 7558; 0.21; 1.21; -9.17; 1.18 -20031104; 9247; 0.26; 16.94; -3.68; 1.15 -20031105; 20099; 0.57; 23.26; 0.56; 1.11 -20031106; 27915; 0.79; 0.40; 0.11; 1.07 -20031107; 21416; 0.60; 0.14; -0.00; 1.03 -20031108; 16919; 0.48; 9.24; 2.42; 1.00 -20031109; 20698; 0.58; 0.85; 1.78; 0.96 -20031110; 20641; 0.58; 0.17; 0.86; 0.93 -20031111; 16947; 0.48; 3.56; 0.78; 0.89 -20031112; 22589; 0.64; 33.82; 1.75; 0.86 -20031113; 48670; 1.37; 7.37; 0.16; 0.82 -20031114; 36359; 1.03; 0.29; -2.77; 0.79 -20031115; 23478; 0.66; 0.26; -3.98; 0.75 -20031116; 17351; 0.49; 3.93; -3.71; 0.72 -20031117; 16518; 0.47; 11.08; -0.49; 0.69 -20031118; 22302; 0.63; 6.72; -2.00; 0.65 -20031119; 20641; 0.58; 9.87; -2.33; 0.62 -20031120; 25107; 0.71; 25.94; -1.44; 0.59 -20031121; 26538; 0.75; 8.81; -3.66; 0.56 -20031122; 20871; 0.59; 0.94; -6.16; 0.53 -20031123; 16692; 0.47; 3.36; -8.23; 0.49 -20031124; 15318; 0.43; 6.66; -3.65; 0.46 -20031125; 25624; 0.72; 33.21; -2.01; 0.43 -20031126; 32066; 0.91; 13.86; -2.02; 0.41 -20031127; 27455; 0.78; 11.99; -3.06; 0.38 -20031128; 23332; 0.66; 14.27; -4.79; 0.35 -20031129; 21041; 0.59; 6.21; -8.80; 0.32 -20031130; 16947; 0.48; 2.85;-12.64; 0.29 -20031201; 14974; 0.42; 15.77; -6.16; 0.27 -20031202; 16834; 0.48; 4.08; -3.72; 0.24 -20031203; 18410; 0.52; 2.52; -2.31; 0.21 -20031204; 18325; 0.52; 5.18; -1.58; 0.19 -20031205; 18781; 0.53; 11.13; -0.47; 0.17 -20031206; 40942; 1.16; 34.42; 0.02; 0.14 -20031207; 52966; 1.50; 3.53; -1.74; 0.12 -20031208; 37790; 1.07; 8.80; -2.23; 0.10 -20031209; 31492; 0.89; 9.06; -1.82; 0.07 -20031210; 29488; 0.83; 2.17; -4.65; 0.05 -20031211; 25135; 0.71; 7.34; -4.63; 0.03 -20031212; 24448; 0.69; 27.09; -2.80; 0.01 -20031213; 26570; 0.75; 1.09; -6.01; 0.00 -20031214; 21958; 0.62; 0.36; -6.68; 0.00 -20031215; 18123; 0.51; 0.02; -7.26; 0.00 -20031216; 16720; 0.47; 0.61; -6.38; 0.00 -20031217; 16377; 0.46; 0.68; -5.86; 0.00 -20031218; 18580; 0.52; 10.49; -4.96; 0.00 -20031219; 21416; 0.60; 2.25; -5.33; 0.00 -20031220; 19727; 0.56; 0.38; -7.75; 0.00 -20031221; 17492; 0.49; 1.93; -6.50; 0.00 -20031222; 17322; 0.49; 1.75; -3.45; 0.00 -20031223; 18264; 0.52; 0.24; -2.63; 0.00 -20031224; 18523; 0.52; 0.10; -3.06; 0.00 -20031225; 17722; 0.50; 0.00; -3.05; 0.00 -20031226; 16260; 0.46; 0.10; -4.15; 0.00 -20031227; 15059; 0.43; 0.07; -4.19; 0.00 -20031228; 14716; 0.42; 0.00; -4.24; 0.00 -20031229; 14716; 0.42; 0.04; -4.96; 0.00 -20031230; 15289; 0.43; 0.85; -5.42; 0.00 -20031231; 16462; 0.46; 0.23; -4.58; 0.00 -20040101; 15746; 0.44; 0.14; -5.63; 0.00 -20040102; 14287; 0.40; 0.97; -5.07; 0.00 -20040103; 14801; 0.42; 0.79; -5.33; 0.00 -20040104; 14602; 0.41; 3.06; -4.55; 0.00 -20040105; 14485; 0.41; 1.00; -3.42; 0.00 -20040106; 15116; 0.43; 3.07; -3.81; 0.00 -20040107; 14974; 0.42; 0.06; -5.75; 0.00 -20040108; 14287; 0.40; 0.13; -6.98; 0.00 -20040109; 13685; 0.39; 0.68; -4.59; 0.00 -20040110; 13742; 0.39; 4.04; -2.44; 0.00 -20040111; 14142; 0.40; 7.09; -4.09; 0.00 -20040112; 14142; 0.40; 0.73; -5.87; 0.00 -20040113; 13887; 0.39; 3.23; -5.15; 0.00 -20040114; 13798; 0.39; 4.15; -3.94; 0.00 -20040115; 13770; 0.39; 1.18; -3.53; 0.00 -20040116; 14287; 0.40; 4.95; -3.21; 0.00 -20040117; 14287; 0.40; 0.22; -6.18; 0.00 -20040118; 13228; 0.37; 0.13; -6.63; 0.00 -20040119; 11510; 0.32; 0.05; -5.18; 0.00 -20040120; 10480; 0.30; 0.00; -5.59; 0.00 -20040121; 10795; 0.30; 3.71; -7.78; 0.00 -20040122; 12282; 0.35; 5.29; -7.06; 0.00 -20040123; 15172; 0.43; 25.39; -3.16; 0.00 -20040124; 17666; 0.50; 2.97; 0.31; 0.00 -20040125; 18208; 0.51; 2.29; 0.22; 0.00 -20040126; 17577; 0.50; 0.31; -1.21; 0.00 -20040127; 16979; 0.48; 10.16; -0.99; 0.00 -20040128; 27915; 0.79; 7.40; 0.29; 0.00 -20040129; 32636; 0.92; 2.20; 0.08; 0.00 -20040130; 30062; 0.85; 0.83; 0.89; 0.00 -20040131; 28199; 0.80; 0.96; 3.15; 0.00 -20040201; 28372; 0.80; 0.77; 1.52; 0.00 -20040202; 28142; 0.79; 1.00; -1.25; 0.00 -20040203; 27285; 0.77; 0.01; -1.88; 0.00 -20040204; 25624; 0.72; 0.04; -1.36; 0.00 -20040205; 24133; 0.68; 0.00; -2.51; 0.00 -20040206; 23332; 0.66; 0.03; -2.89; 0.00 -20040207; 22730; 0.64; 1.17; -3.09; 0.00 -20040208; 22904; 0.65; 4.01; -1.84; 0.00 -20040209; 22702; 0.64; 0.33; -0.81; 0.01 -20040210; 21930; 0.62; 0.14; 0.11; 0.03 -20040211; 21558; 0.61; 1.16; 1.23; 0.05 -20040212; 22302; 0.63; 0.54; 1.06; 0.07 -20040213; 23191; 0.65; 1.76; 0.54; 0.10 -20040214; 24391; 0.69; 0.55; 0.18; 0.12 -20040215; 24792; 0.70; 0.26; -0.26; 0.14 -20040216; 24508; 0.69; 0.13; -2.95; 0.17 -20040217; 23733; 0.67; 0.15; -3.20; 0.19 -20040218; 22560; 0.64; 4.03; -2.32; 0.22 -20040219; 24048; 0.68; 9.00; 0.49; 0.24 -20040220; 32636; 0.92; 11.72; 2.12; 0.27 -20040221; 52966; 1.50; 5.31; 0.07; 0.29 -20040222; 56401; 1.59; 13.04; 0.68; 0.32 -20040223; 60694; 1.71; 1.17; -0.06; 0.35 -20040224; 56401; 1.59; 5.26; 0.31; 0.38 -20040225; 53536; 1.51; 0.13; 1.63; 0.41 -20040226; 52105; 1.47; 0.44; 3.42; 0.44 -20040227; 50961; 1.44; 0.09; 4.17; 0.47 -20040228; 51248; 1.45; 0.01; 4.39; 0.50 -20040229; 52392; 1.48; 0.05; 4.31; 0.53 -20040301; 54110; 1.53; 1.99; 4.79; 0.56 -20040302; 61554; 1.74; 1.15; 3.77; 0.59 -20040303; 66420; 1.88; 3.70; 4.12; 0.62 -20040304; 72434; 2.05; 0.82; 3.37; 0.66 -20040305; 74152; 2.09; 0.07; 3.04; 0.69 -20040306; 71287; 2.01; 0.20; 3.39; 0.72 -20040307; 69282; 1.96; 1.96; 2.29; 0.75 -20040308; 67277; 1.90; 0.93; 1.11; 0.79 -20040309; 64990; 1.83; 0.00; 0.64; 0.82 -20040310; 61267; 1.73; 0.05; 1.45; 0.86 -20040311; 59263; 1.67; 0.03; 3.25; 0.89 -20040312; 58689; 1.66; 0.34; 5.11; 0.93 -20040313; 59836; 1.69; 0.01; 5.82; 0.96 -20040314; 63559; 1.79; 0.39; 6.75; 1.00 -20040315; 69856; 1.97; 4.79; 5.81; 1.04 -20040316; 77871; 2.20; 21.36; 4.42; 1.07 -20040317; 97913; 2.76; 16.38; 1.17; 1.11 -20040318; 93334; 2.64; 5.63; 1.00; 1.15 -20040319; 85315; 2.41; 0.25; 1.35; 1.19 -20040320; 79305; 2.24; 0.10; 1.29; 1.23 -20040321; 73865; 2.09; 0.00; 1.12; 1.26 -20040322; 69282; 1.96; 0.03; 2.77; 1.30 -20040323; 66420; 1.88; 0.30; 2.82; 1.34 -20040324; 64129; 1.81; 0.00; 3.47; 1.38 -20040325; 62985; 1.78; 0.07; 3.82; 1.42 -20040326; 63272; 1.79; 1.78; 4.03; 1.46 -20040327; 67564; 1.91; 2.28; 2.04; 1.50 -20040328; 69569; 1.96; 0.24; 1.00; 1.54 -20040329; 65560; 1.85; 0.14; 1.66; 1.58 -20040330; 63559; 1.79; 0.03; 5.51; 1.62 -20040331; 66994; 1.89; 0.42; 6.38; 1.66 -20040401; 72717; 2.05; 0.57; 7.28; 1.70 -20040402; 82167; 2.32; 0.59; 8.98; 1.74 -20040403; 97052; 2.74; 1.70; 7.57; 1.78 -20040404; 117952; 3.33; 7.74; 2.38; 1.82 -20040405; 110511; 3.12; 5.94; -1.44; 1.86 -20040406; 98487; 2.78; 7.83; -3.06; 1.90 -20040407; 87320; 2.47; 3.69; -3.90; 1.94 -20040408; 81593; 2.30; 3.50; -1.39; 1.98 -20040409; 84171; 2.38; 27.78; 0.42; 2.02 -20040410; 120243; 3.40; 22.65; 1.24; 2.06 -20040411; 118525; 3.35; 2.87; 1.94; 2.10 -20040412; 111941; 3.16; 1.92; 5.09; 2.14 -20040413; 121674; 3.44; 1.45; 5.89; 2.18 -20040414; 129405; 3.65; 0.30; 5.83; 2.23 -20040415; 127975; 3.61; 0.79; 7.54; 2.27 -20040416; 131697; 3.72; 6.40; 7.41; 2.31 -20040417; 173779; 4.91; 32.12; 3.64; 2.35 -20040418; 200118; 5.65; 7.74; 1.88; 2.39 -20040419; 178649; 5.04; 0.83; 3.66; 2.43 -20040420; 166338; 4.70; 1.32; 6.03; 2.47 -20040421; 167482; 4.73; 15.13; 3.27; 2.51 -20040422; 168913; 4.77; 1.11; 0.60; 2.55 -20040423; 150879; 4.26; 0.13; 0.23; 2.59 -20040424; 136850; 3.86; 0.54; 3.20; 2.63 -20040425; 130836; 3.69; 0.34; 8.36; 2.67 -20040426; 136850; 3.86; 0.16; 11.84; 2.71 -20040427; 162329; 4.58; 0.00; 9.76; 2.75 -20040428; 186950; 5.28; 0.00; 9.79; 2.79 -20040429; 215865; 6.09; 2.42; 11.60; 2.83 -20040430; 309198; 8.73; 16.85; 6.01; 2.87 -20040501; 294883; 8.33; 0.35; 3.76; 2.90 -20040502; 235046; 6.64; 0.02; 5.97; 2.94 -20040503; 217582; 6.14; 0.49; 9.29; 2.98 -20040504; 220161; 6.22; 0.03; 11.42; 3.02 -20040505; 236764; 6.69; 0.00; 13.51; 3.06 -20040506; 268256; 7.57; 0.00; 14.10; 3.09 -20040507; 294883; 8.33; 0.52; 13.54; 3.13 -20040508; 300610; 8.49; 1.12; 10.11; 3.16 -20040509; 284863; 8.04; 4.61; 5.41; 3.20 -20040510; 237625; 6.71; 4.95; 5.50; 3.24 -20040511; 210998; 5.96; 0.04; 3.34; 3.27 -20040512; 176070; 4.97; 0.45; 2.64; 3.31 -20040513; 159467; 4.50; 0.06; 6.06; 3.34 -20040514; 154884; 4.37; 0.02; 8.92; 3.38 -20040515; 161468; 4.56; 0.00; 9.01; 3.41 -20040516; 164333; 4.64; 0.68; 8.19; 3.44 -20040517; 163473; 4.62; 0.42; 10.94; 3.48 -20040518; 170344; 4.81; 0.26; 12.82; 3.51 -20040519; 192104; 5.42; 3.50; 12.25; 3.54 -20040520; 219587; 6.20; 8.78; 7.85; 3.58 -20040521; 201266; 5.68; 0.65; 6.57; 3.61 -20040522; 171204; 4.83; 0.10; 8.86; 3.64 -20040523; 163760; 4.62; 0.97; 12.33; 3.67 -20040524; 164620; 4.65; 0.03; 13.39; 3.70 -20040525; 170917; 4.83; 0.04; 14.82; 3.73 -20040526; 187237; 5.29; 11.15; 10.13; 3.76 -20040527; 190099; 5.37; 1.21; 9.56; 3.79 -20040528; 159467; 4.50; 1.57; 10.11; 3.81 -20040529; 145725; 4.11; 4.07; 10.24; 3.84 -20040530; 144004; 4.07; 0.19; 10.51; 3.87 -20040531; 130262; 3.68; 0.28; 11.79; 3.90 -20040601; 121387; 3.43; 0.00; 14.50; 3.92 -20040602; 117668; 3.32; 0.05; 13.08; 3.95 -20040603; 113085; 3.19; 0.18; 9.52; 3.97 -20040604; 99344; 2.81; 0.15; 8.94; 4.00 -20040605; 90181; 2.55; 1.62; 8.99; 4.02 -20040606; 83884; 2.37; 0.18; 9.84; 4.04 -20040607; 77871; 2.20; 0.07; 12.29; 4.07 -20040608; 73578; 2.08; 0.41; 14.64; 4.09 -20040609; 71574; 2.02; 0.02; 15.74; 4.11 -20040610; 69856; 1.97; 0.35; 15.99; 4.13 -20040611; 67564; 1.91; 6.01; 15.74; 4.15 -20040612; 70143; 1.98; 9.18; 12.66; 4.17 -20040613; 78731; 2.22; 11.51; 6.24; 4.19 -20040614; 76153; 2.15; 7.77; 4.52; 4.21 -20040615; 69569; 1.96; 4.12; 6.84; 4.23 -20040616; 63272; 1.79; 6.26; 7.40; 4.25 -20040617; 66994; 1.89; 1.26; 10.86; 4.26 -20040618; 62985; 1.78; 0.26; 13.50; 4.28 -20040619; 56114; 1.58; 0.29; 15.72; 4.29 -20040620; 53249; 1.50; 0.35; 16.52; 4.31 -20040621; 50387; 1.42; 0.00; 17.25; 4.32 -20040622; 46952; 1.33; 0.00; 18.50; 4.34 -20040623; 44090; 1.24; 0.00; 20.01; 4.35 -20040624; 41225; 1.16; 0.08; 20.27; 4.36 -20040625; 38937; 1.10; 4.89; 19.45; 4.37 -20040626; 42372; 1.20; 4.28; 17.70; 4.38 -20040627; 41512; 1.17; 0.58; 17.37; 4.39 -20040628; 38076; 1.08; 0.58; 17.62; 4.40 -20040629; 40368; 1.14; 10.91; 11.78; 4.41 -20040630; 40942; 1.16; 2.17; 10.06; 4.42 -20040701; 40942; 1.16; 9.96; 8.77; 4.43 -20040702; 43230; 1.22; 5.78; 10.74; 4.43 -20040703; 40081; 1.13; 2.25; 12.79; 4.44 -20040704; 38076; 1.08; 6.23; 13.40; 4.45 -20040705; 40655; 1.15; 5.56; 11.63; 4.45 -20040706; 41512; 1.17; 1.97; 10.62; 4.45 -20040707; 46095; 1.30; 10.04; 9.61; 4.46 -20040708; 46952; 1.33; 3.14; 10.03; 4.46 -20040709; 42943; 1.21; 2.72; 10.86; 4.46 -20040710; 41512; 1.17; 2.12; 10.16; 4.46 -20040711; 40368; 1.14; 5.62; 10.72; 4.46 -20040712; 40942; 1.16; 1.41; 12.29; 4.46 -20040713; 37219; 1.05; 0.01; 13.96; 4.46 -20040714; 33784; 0.95; 0.00; 12.66; 4.46 -20040715; 31492; 0.89; 0.83; 12.42; 4.46 -20040716; 29488; 0.83; 0.07; 14.07; 4.45 -20040717; 27884; 0.79; 0.66; 16.67; 4.45 -20040718; 26481; 0.75; 0.10; 18.12; 4.44 -20040719; 25882; 0.73; 9.25; 17.19; 4.44 -20040720; 30349; 0.86; 11.24; 15.04; 4.43 -20040721; 37506; 1.06; 3.64; 13.63; 4.43 -20040722; 34354; 0.97; 12.97; 14.71; 4.42 -20040723; 37219; 1.05; 6.15; 10.81; 4.41 -20040724; 40655; 1.15; 0.13; 10.99; 4.40 -20040725; 34067; 0.96; 0.01; 13.44; 4.39 -20040726; 30062; 0.85; 0.11; 15.28; 4.38 -20040727; 27483; 0.78; 0.00; 16.82; 4.37 -20040728; 25507; 0.72; 0.00; 16.30; 4.36 -20040729; 24048; 0.68; 0.00; 15.84; 4.35 -20040730; 22847; 0.65; 0.07; 17.43; 4.34 -20040731; 21845; 0.62; 0.10; 18.97; 4.32 -20040801; 20843; 0.59; 0.15; 20.80; 4.31 -20040802; 19897; 0.56; 0.00; 20.38; 4.29 -20040803; 18923; 0.53; 0.04; 16.91; 4.28 -20040804; 18038; 0.51; 0.00; 16.82; 4.26 -20040805; 17436; 0.49; 0.00; 15.30; 4.25 -20040806; 16979; 0.48; 0.42; 14.37; 4.23 -20040807; 16405; 0.46; 0.43; 14.78; 4.21 -20040808; 16231; 0.46; 1.53; 13.60; 4.19 -20040809; 16603; 0.47; 0.83; 12.61; 4.17 -20040810; 15916; 0.45; 0.00; 15.27; 4.15 -20040811; 15059; 0.43; 0.00; 17.35; 4.13 -20040812; 14429; 0.41; 1.03; 19.18; 4.11 -20040813; 13827; 0.39; 0.00; 20.34; 4.09 -20040814; 13285; 0.38; 0.00; 21.12; 4.07 -20040815; 12970; 0.37; 1.11; 18.09; 4.04 -20040816; 12998; 0.37; 0.03; 17.72; 4.02 -20040817; 12998; 0.37; 0.74; 19.04; 4.00 -20040818; 12683; 0.36; 0.37; 19.05; 3.97 -20040819; 12109; 0.34; 0.16; 18.86; 3.95 -20040820; 11737; 0.33; 0.23; 18.00; 3.92 -20040821; 11309; 0.32; 1.46; 16.53; 3.90 -20040822; 12513; 0.35; 15.01; 8.78; 3.87 -20040823; 17836; 0.50; 4.35; 3.21; 3.84 -20040824; 16635; 0.47; 0.67; 3.87; 3.81 -20040825; 14631; 0.41; 0.53; 5.40; 3.79 -20040826; 13455; 0.38; 0.22; 8.95; 3.76 -20040827; 12768; 0.36; 0.00; 12.05; 3.73 -20040828; 12198; 0.34; 0.00; 11.84; 3.70 -20040829; 11624; 0.33; 0.00; 10.89; 3.67 -20040830; 11252; 0.32; 0.28; 11.22; 3.64 -20040831; 10965; 0.31; 0.68; 12.41; 3.61 -20040901; 10763; 0.30; 0.30; 12.62; 3.57 -20040902; 10508; 0.30; 0.00; 13.26; 3.54 -20040903; 10278; 0.29; 1.23; 13.70; 3.51 -20040904; 10795; 0.30; 12.49; 9.11; 3.48 -20040905; 15229; 0.43; 0.47; 5.51; 3.44 -20040906; 15144; 0.43; 0.65; 3.32; 3.41 -20040907; 13026; 0.37; 2.77; 4.70; 3.38 -20040908; 12856; 0.36; 13.74; 5.89; 3.34 -20040909; 18410; 0.52; 0.54; 8.28; 3.31 -20040910; 17436; 0.49; 0.70; 10.85; 3.27 -20040911; 14114; 0.40; 1.73; 13.31; 3.23 -20040912; 13455; 0.38; 7.05; 7.60; 3.20 -20040913; 14085; 0.40; 2.37; 2.83; 3.16 -20040914; 15544; 0.44; 2.99; 4.27; 3.13 -20040915; 14886; 0.42; 4.91; 6.40; 3.09 -20040916; 14857; 0.42; 0.97; 8.84; 3.05 -20040917; 15031; 0.42; 0.00; 8.11; 3.02 -20040918; 13944; 0.39; 0.00; 7.50; 2.98 -20040919; 12796; 0.36; 0.04; 8.84; 2.94 -20040920; 12282; 0.35; 0.33; 8.72; 2.90 -20040921; 12169; 0.34; 0.09; 12.00; 2.86 -20040922; 11967; 0.34; 0.66; 14.46; 2.82 -20040923; 11567; 0.33; 2.24; 14.81; 2.79 -20040924; 21958; 0.62; 43.83; 7.79; 2.75 -20040925; 58406; 1.65; 11.68; 4.09; 2.71 -20040926; 45234; 1.28; 1.85; 6.09; 2.67 -20040927; 31779; 0.90; 0.02; 7.68; 2.63 -20040928; 28000; 0.79; 0.30; 9.60; 2.59 -20040929; 25252; 0.71; 0.16; 13.16; 2.55 -20040930; 22904; 0.65; 0.00; 15.45; 2.51 -20041001; 21445; 0.61; 0.00; 16.43; 2.47 -20041002; 20127; 0.57; 0.08; 15.47; 2.43 -20041003; 18980; 0.54; 3.68; 10.29; 2.39 -20041004; 22674; 0.64; 1.15; 5.71; 2.35 -20041005; 20786; 0.59; 0.16; 5.85; 2.31 -20041006; 19610; 0.55; 0.50; 4.77; 2.26 -20041007; 18466; 0.52; 0.44; 3.85; 2.22 -20041008; 17694; 0.50; 0.28; 4.46; 2.18 -20041009; 17035; 0.48; 0.29; 4.89; 2.14 -20041010; 16490; 0.47; 0.69; 6.20; 2.10 -20041011; 16061; 0.45; 0.00; 9.05; 2.06 -20041012; 15403; 0.43; 2.28; 8.49; 2.02 -20041013; 16919; 0.48; 7.41; 4.62; 1.98 -20041014; 19610; 0.55; 1.10; 0.65; 1.94 -20041015; 18696; 0.53; 1.72; -0.93; 1.90 -20041016; 17436; 0.49; 4.62; 0.39; 1.86 -20041017; 17549; 0.50; 3.55; 3.14; 1.82 -20041018; 17751; 0.50; 0.57; 5.23; 1.77 -20041019; 17464; 0.49; 0.27; 7.62; 1.74 -20041020; 17464; 0.49; 0.00; 8.87; 1.69 -20041021; 17262; 0.49; 1.25; 6.96; 1.65 -20041022; 17351; 0.49; 0.40; 6.50; 1.61 -20041023; 16720; 0.47; 0.02; 8.24; 1.57 -20041024; 16061; 0.45; 0.00; 7.91; 1.53 -20041025; 15605; 0.44; 0.00; 7.51; 1.50 -20041026; 15201; 0.43; 0.05; 5.01; 1.46 -20041027; 14918; 0.42; 0.00; 3.99; 1.42 -20041028; 14687; 0.41; 4.02; 2.64; 1.38 -20041029; 17092; 0.48; 8.31; 2.56; 1.34 -20041030; 19755; 0.56; 8.52; 1.55; 1.30 -20041031; 23821; 0.67; 10.54; 1.33; 1.26 -20041101; 27483; 0.78; 9.39; 1.32; 1.22 -20041102; 32066; 0.91; 17.28; -1.10; 1.18 -20041103; 27629; 0.78; 1.05; -2.38; 1.15 -20041104; 24165; 0.68; 5.91; -4.26; 1.11 -20041105; 22989; 0.65; 1.92; -2.52; 1.07 -20041106; 22274; 0.63; 2.65; -1.93; 1.03 -20041107; 24335; 0.69; 9.67; 0.11; 1.00 -20041108; 32066; 0.91; 9.03; -1.01; 0.96 -20041109; 30062; 0.85; 3.88; -3.16; 0.93 -20041110; 26740; 0.76; 0.88; -4.50; 0.89 -20041111; 23963; 0.68; 4.61; -4.46; 0.86 -20041112; 22532; 0.64; 4.60; -2.15; 0.82 -20041113; 23991; 0.68; 0.56; 0.66; 0.79 -20041114; 24048; 0.68; 0.14; 1.42; 0.75 -20041115; 23332; 0.66; 0.11; 1.12; 0.72 -20041116; 22617; 0.64; 1.04; 0.37; 0.69 -20041117; 21958; 0.62; 0.64; -0.27; 0.65 -20041118; 22702; 0.64; 3.42; -1.51; 0.62 -20041119; 22589; 0.64; 5.59; -3.45; 0.59 -20041120; 22132; 0.62; 1.98; -4.67; 0.56 -20041121; 21328; 0.60; 15.61; -5.14; 0.53 -20041122; 22160; 0.63; 10.95; -3.07; 0.49 -20041123; 23704; 0.67; 2.46; -7.52; 0.46 -20041124; 18608; 0.53; 0.39;-10.42; 0.43 -20041125; 14000; 0.40; 0.41;-10.45; 0.41 -20041126; 13026; 0.37; 0.37; -8.71; 0.38 -20041127; 14631; 0.41; 4.63; -8.10; 0.35 -20041128; 22904; 0.65; 2.91; -5.96; 0.32 -20041129; 21958; 0.62; 0.10; -7.71; 0.29 -20041130; 19525; 0.55; 13.66; -6.20; 0.27 -20041201; 18466; 0.52; 0.49; -7.12; 0.24 -20041202; 17836; 0.50; 3.92; -7.96; 0.21 -20041203; 16175; 0.46; 0.17;-11.45; 0.19 -20041204; 12137; 0.34; 0.40;-11.67; 0.17 -20041205; 8589; 0.24; 0.09;-10.77; 0.14 -20041206; 8589; 0.24; 0.55;-10.94; 0.12 -20041207; 11450; 0.32; 7.41; -8.81; 0.10 -20041208; 17177; 0.48; 8.94; -5.84; 0.07 -20041209; 21473; 0.61; 2.78; -5.28; 0.05 -20041210; 22932; 0.65; 12.50; -3.45; 0.03 -20041211; 22217; 0.63; 0.50; -5.92; 0.01 -20041212; 19699; 0.56; 0.81; -8.05; 0.00 -20041213; 18636; 0.53; 0.97; -7.71; 0.00 -20041214; 18293; 0.52; 6.36; -3.94; 0.00 -20041215; 18009; 0.51; 1.89; -6.72; 0.00 -20041216; 17322; 0.49; 1.51; -9.22; 0.00 -20041217; 16979; 0.48; 2.75; -8.16; 0.00 -20041218; 16462; 0.46; 1.97;-10.81; 0.00 -20041219; 17807; 0.50; 6.40;-10.92; 0.00 -20041220; 20010; 0.56; 11.20; -6.53; 0.00 -20041221; 19869; 0.56; 19.68; -4.27; 0.00 -20041222; 18980; 0.54; 19.07; -3.18; 0.00 -20041223; 20212; 0.57; 4.19; -0.96; 0.00 -20041224; 20071; 0.57; 1.65; -2.39; 0.00 -20041225; 18410; 0.52; 3.75; -5.73; 0.00 -20041226; 17751; 0.50; 11.99; -4.76; 0.00 -20041227; 17120; 0.48; 9.58; -4.77; 0.00 -20041228; 16547; 0.47; 3.99; -6.89; 0.00 -20041229; 15948; 0.45; 10.73; -7.18; 0.00 -20041230; 15144; 0.43; 4.24; -9.29; 0.00 -20041231; 14857; 0.42; 6.63; -9.47; 0.00 -20050101; 15002; 0.42; 12.63; -7.91; 0.00 -20050102; 15144; 0.43; 4.72;-11.88; 0.00 -20050103; 14659; 0.41; 3.34;-11.20; 0.00 -20050104; 14918; 0.42; 3.08; -9.08; 0.00 -20050105; 14259; 0.40; 0.23;-11.14; 0.00 -20050106; 13742; 0.39; 0.98;-11.36; 0.00 -20050107; 11450; 0.32; 0.15;-11.99; 0.00 -20050108; 9162; 0.26; 3.29;-11.86; 0.00 -20050109; 10306; 0.29; 0.59;-14.18; 0.00 -20050110; 8589; 0.24; 0.40;-12.14; 0.00 -20050111; 8589; 0.24; 0.18;-12.67; 0.00 -20050112; 8589; 0.24; 0.84;-12.78; 0.00 -20050113; 8015; 0.23; 2.40;-11.60; 0.00 -20050114; 10306; 0.29; 2.02; -6.53; 0.00 -20050115; 14315; 0.40; 0.26; -6.39; 0.00 -20050116; 17177; 0.48; 1.85; -7.70; 0.00 -20050117; 16033; 0.45; 1.00; -6.01; 0.00 -20050118; 14315; 0.40; 0.15; -8.08; 0.00 -20050119; 13742; 0.39; 5.47; -5.59; 0.00 -20050120; 16462; 0.46; 10.64; -2.76; 0.00 -20050121; 18466; 0.52; 13.07; -2.49; 0.00 -20050122; 17892; 0.51; 16.03; -4.46; 0.00 -20050123; 16518; 0.47; 0.85; -7.77; 0.00 -20050124; 16061; 0.45; 18.03; -5.43; 0.00 -20050125; 18009; 0.51; 10.23; -0.56; 0.00 -20050126; 22043; 0.62; 0.07; -0.20; 0.00 -20050127; 21041; 0.59; 0.47; -1.06; 0.00 -20050128; 19582; 0.55; 0.17; -0.97; 0.00 -20050129; 18551; 0.52; 0.09; -2.97; 0.00 -20050130; 17606; 0.50; 0.06; -2.71; 0.00 -20050131; 16919; 0.48; 0.31; -1.96; 0.00 -20050201; 16749; 0.47; 0.02; -4.09; 0.00 -20050202; 16175; 0.46; 0.00; -4.46; 0.00 -20050203; 16919; 0.48; 0.00; -3.93; 0.00 -20050204; 17035; 0.48; 0.01; -2.09; 0.00 -20050205; 17407; 0.49; 0.00; -2.31; 0.00 -20050206; 17290; 0.49; 0.28; -3.21; 0.00 -20050207; 16805; 0.47; 0.03; -0.31; 0.00 -20050208; 17007; 0.48; 1.69; -1.48; 0.00 -20050209; 17921; 0.51; 6.39; -2.72; 0.01 -20050210; 18980; 0.54; 0.78; -2.71; 0.03 -20050211; 18668; 0.53; 2.36; -2.96; 0.05 -20050212; 19125; 0.54; 4.34; -2.36; 0.07 -20050213; 19323; 0.55; 1.44; -3.10; 0.10 -20050214; 19153; 0.54; 3.19; -6.58; 0.12 -20050215; 17464; 0.49; 0.59;-15.08; 0.14 -20050216; 13228; 0.37; 0.07;-16.99; 0.17 -20050217; 11967; 0.34; 0.64;-13.77; 0.19 -20050218; 15261; 0.43; 16.11;-10.26; 0.22 -20050219; 16947; 0.48; 7.77; -6.07; 0.24 -20050220; 17751; 0.50; 3.05; -7.02; 0.27 -20050221; 17007; 0.48; 8.79; -9.42; 0.29 -20050222; 16203; 0.46; 3.66; -8.67; 0.32 -20050223; 15431; 0.44; 0.16; -7.85; 0.35 -20050224; 15031; 0.42; 0.28; -9.16; 0.38 -20050225; 14829; 0.42; 0.45; -9.34; 0.41 -20050226; 15172; 0.43; 0.03; -9.38; 0.44 -20050227; 14687; 0.41; 0.35; -7.72; 0.47 -20050228; 14631; 0.41; 1.00; -4.12; 0.50 -20050301; 14485; 0.41; 1.33; -2.89; 0.53 -20050302; 14514; 0.41; 0.41; -3.31; 0.56 -20050303; 14400; 0.41; 1.13; -3.13; 0.59 -20050304; 14974; 0.42; 6.57; -1.58; 0.62 -20050305; 18381; 0.52; 3.45; 0.98; 0.66 -20050306; 22560; 0.64; 0.28; 3.82; 0.69 -20050307; 28372; 0.80; 0.11; 3.63; 0.72 -20050308; 32636; 0.92; 0.87; 1.31; 0.75 -20050309; 33784; 0.95; 0.02; -0.16; 0.79 -20050310; 33784; 0.95; 0.05; -1.70; 0.82 -20050311; 32636; 0.92; 0.00; -5.04; 0.86 -20050312; 30919; 0.87; 0.05; -4.73; 0.89 -20050313; 28914; 0.82; 1.41; -1.66; 0.93 -20050314; 31206; 0.88; 12.72; -0.19; 0.96 -20050315; 43230; 1.22; 18.12; -0.73; 1.00 -20050316; 56114; 1.58; 3.31; -1.60; 1.04 -20050317; 50674; 1.43; 7.71; 1.06; 1.07 -20050318; 64416; 1.82; 10.82; 2.14; 1.11 -20050319; 80449; 2.27; 1.99; 1.81; 1.15 -20050320; 78731; 2.22; 13.32; 0.13; 1.19 -20050321; 75870; 2.14; 1.46; 1.18; 1.23 -20050322; 69569; 1.96; 1.07; 5.18; 1.26 -20050323; 74152; 2.09; 3.46; 5.64; 1.30 -20050324; 86176; 2.43; 5.82; 2.98; 1.34 -20050325; 90468; 2.55; 3.88; 3.14; 1.38 -20050326; 97052; 2.74; 8.65; 3.49; 1.42 -20050327; 107075; 3.02; 1.76; 3.37; 1.46 -20050328; 108219; 3.06; 0.57; 3.13; 1.50 -20050329; 106215; 3.00; 2.95; 2.35; 1.54 -20050330; 99631; 2.81; 1.37; 1.85; 1.58 -20050331; 93334; 2.64; 0.43; 3.71; 1.62 -20050401; 92760; 2.62; 10.27; 3.84; 1.66 -20050402; 102492; 2.89; 9.01; 3.34; 1.70 -20050403; 103066; 2.91; 6.78; 3.38; 1.74 -20050404; 120243; 3.40; 15.14; 2.11; 1.78 -20050405; 122821; 3.47; 2.62; -0.01; 1.82 -20050406; 112799; 3.18; 0.25; 0.11; 1.86 -20050407; 103353; 2.92; 2.59; 1.83; 1.90 -20050408; 98487; 2.78; 7.75; 5.02; 1.94 -20050409; 112515; 3.18; 6.37; 2.03; 1.98 -20050410; 108506; 3.06; 6.11; 0.11; 2.02 -20050411; 101922; 2.88; 2.51; 0.61; 2.06 -20050412; 95051; 2.68; 0.76; -0.36; 2.10 -20050413; 88751; 2.51; 0.38; 0.53; 2.14 -20050414; 86459; 2.44; 2.35; 2.32; 2.18 -20050415; 83598; 2.36; 2.81; 0.18; 2.23 -20050416; 81306; 2.30; 1.00; 3.63; 2.27 -20050417; 82740; 2.34; 2.87; 5.21; 2.31 -20050418; 96769; 2.73; 13.55; 1.84; 2.35 -20050419; 94191; 2.66; 0.78; 1.58; 2.39 -20050420; 88464; 2.50; 0.84; 2.57; 2.43 -20050421; 88177; 2.49; 0.16; 5.00; 2.47 -20050422; 91899; 2.59; 5.01; 3.48; 2.51 -20050423; 94478; 2.67; 0.22; 2.79; 2.55 -20050424; 94478; 2.67; 3.51; 2.50; 2.59 -20050425; 95051; 2.68; 5.50; 4.40; 2.63 -20050426; 102205; 2.89; 6.82; 2.44; 2.67 -20050427; 100204; 2.83; 2.15; 2.68; 2.71 -20050428; 97339; 2.75; 1.72; 2.66; 2.75 -20050429; 104497; 2.95; 11.37; 3.09; 2.79 -20050430; 131123; 3.70; 9.00; 3.91; 2.83 -20050501; 135989; 3.84; 3.13; 5.26; 2.87 -20050502; 153166; 4.32; 3.08; 5.46; 2.90 -20050503; 172061; 4.86; 9.45; 4.91; 2.94 -20050504; 187237; 5.29; 12.25; 2.22; 2.98 -20050505; 176644; 4.99; 1.03; 6.70; 3.02 -20050506; 192677; 5.44; 6.28; 4.99; 3.06 -20050507; 206706; 5.84; 2.98; 2.16; 3.09 -20050508; 190960; 5.39; 8.61; 2.20; 3.13 -20050509; 174640; 4.93; 0.27; 5.32; 3.16 -20050510; 177214; 5.00; 0.39; 10.98; 3.20 -20050511; 229036; 6.47; 0.16; 14.74; 3.24 -20050512; 326375; 9.22; 0.07; 15.76; 3.27 -20050513; 412264; 11.64; 0.29; 15.93; 3.31 -20050514; 478111; 13.50; 0.39; 15.16; 3.34 -20050515; 506742; 14.31; 0.04; 13.93; 3.38 -20050516; 475249; 13.42; 0.00; 13.30; 3.41 -20050517; 449480; 12.69; 0.21; 12.78; 3.44 -20050518; 417991; 11.80; 0.22; 13.86; 3.48 -20050519; 415126; 11.72; 1.04; 14.71; 3.51 -20050520; 417991; 11.80; 4.66; 12.39; 3.54 -20050521; 412264; 11.64; 4.41; 9.49; 3.58 -20050522; 357868; 10.10; 3.92; 6.58; 3.61 -20050523; 300610; 8.49; 0.52; 6.79; 3.64 -20050524; 261099; 7.37; 0.43; 9.11; 3.67 -20050525; 250222; 7.07; 13.68; 12.79; 3.70 -20050526; 366456; 10.35; 7.63; 12.34; 3.73 -20050527; 323514; 9.13; 3.98; 13.29; 3.76 -20050528; 312060; 8.81; 4.23; 12.08; 3.79 -20050529; 282572; 7.98; 0.73; 10.32; 3.81 -20050530; 244782; 6.91; 0.90; 11.15; 3.84 -20050531; 221878; 6.26; 4.75; 13.98; 3.87 -20050601; 244209; 6.90; 9.28; 9.81; 3.90 -20050602; 224170; 6.33; 4.49; 8.76; 3.92 -20050603; 193534; 5.46; 0.09; 8.26; 3.95 -20050604; 167482; 4.73; 2.91; 8.43; 3.97 -20050605; 158606; 4.48; 0.44; 10.19; 4.00 -20050606; 150305; 4.24; 4.43; 9.80; 4.02 -20050607; 184946; 5.22; 23.07; 6.17; 4.04 -20050608; 192961; 5.45; 0.82; 6.11; 4.07 -20050609; 150305; 4.24; 3.27; 7.87; 4.09 -20050610; 145152; 4.10; 9.16; 8.46; 4.11 -20050611; 146582; 4.14; 12.25; 4.89; 4.13 -20050612; 158320; 4.47; 6.95; 3.46; 4.15 -20050613; 144865; 4.09; 1.21; 7.92; 4.17 -20050614; 131980; 3.73; 1.45; 12.80; 4.19 -20050615; 125683; 3.55; 8.95; 10.91; 4.21 -20050616; 138851; 3.92; 7.59; 9.52; 4.23 -20050617; 136850; 3.86; 0.59; 10.31; 4.25 -20050618; 121961; 3.44; 0.85; 13.66; 4.26 -20050619; 113946; 3.22; 1.25; 16.06; 4.28 -20050620; 109937; 3.10; 1.32; 18.30; 4.29 -20050621; 105641; 2.98; 8.70; 14.64; 4.31 -20050622; 123679; 3.49; 12.14; 5.20; 4.32 -20050623; 124252; 3.51; 11.84; 3.34; 4.34 -20050624; 115377; 3.26; 0.49; 7.40; 4.35 -20050625; 106215; 3.00; 1.14; 11.48; 4.36 -20050626; 98770; 2.79; 3.14; 15.38; 4.37 -20050627; 94764; 2.68; 0.27; 13.69; 4.38 -20050628; 90468; 2.55; 2.68; 8.42; 4.39 -20050629; 86746; 2.45; 0.28; 6.94; 4.40 -20050630; 80736; 2.28; 1.46; 8.18; 4.41 -20050701; 74722; 2.11; 0.90; 10.32; 4.42 -20050702; 76440; 2.16; 14.55; 7.72; 4.43 -20050703; 95335; 2.69; 8.32; 7.26; 4.43 -20050704; 93904; 2.65; 4.50; 8.20; 4.44 -20050705; 87320; 2.47; 3.25; 9.86; 4.45 -20050706; 83024; 2.34; 4.05; 9.83; 4.45 -20050707; 79018; 2.23; 7.23; 8.71; 4.45 -20050708; 79305; 2.24; 1.15; 10.98; 4.46 -20050709; 73865; 2.09; 1.58; 11.93; 4.46 -20050710; 68995; 1.95; 0.54; 10.18; 4.46 -20050711; 65560; 1.85; 0.86; 11.74; 4.46 -20050712; 61554; 1.74; 0.14; 8.14; 4.46 -20050713; 59263; 1.67; 3.82; 8.93; 4.46 -20050714; 61267; 1.73; 3.32; 8.56; 4.46 -20050715; 58689; 1.66; 2.11; 8.51; 4.46 -20050716; 55827; 1.58; 6.04; 8.92; 4.46 -20050717; 56688; 1.60; 8.47; 8.80; 4.45 -20050718; 56114; 1.58; 0.58; 10.14; 4.45 -20050719; 52105; 1.47; 4.99; 12.21; 4.44 -20050720; 51531; 1.46; 3.62; 10.13; 4.44 -20050721; 51248; 1.45; 0.48; 9.91; 4.43 -20050722; 48096; 1.36; 5.74; 9.02; 4.43 -20050723; 51248; 1.45; 6.07; 9.86; 4.42 -20050724; 52966; 1.50; 3.35; 11.12; 4.41 -20050725; 56114; 1.58; 7.66; 11.15; 4.40 -20050726; 66134; 1.87; 6.94; 10.33; 4.39 -20050727; 65276; 1.84; 0.39; 13.43; 4.38 -20050728; 56401; 1.59; 0.12; 17.43; 4.37 -20050729; 48670; 1.37; 0.35; 16.12; 4.36 -20050730; 44377; 1.25; 0.03; 13.58; 4.35 -20050731; 41799; 1.18; 0.00; 11.85; 4.34 -20050801; 39507; 1.12; 0.06; 13.51; 4.32 -20050802; 37790; 1.07; 0.05; 14.82; 4.31 -20050803; 35785; 1.01; 0.00; 15.61; 4.29 -20050804; 34354; 0.97; 2.66; 16.80; 4.28 -20050805; 33497; 0.95; 0.78; 15.70; 4.26 -20050806; 32350; 0.91; 0.03; 15.67; 4.25 -20050807; 30919; 0.87; 0.24; 16.00; 4.23 -20050808; 29488; 0.83; 0.93; 15.42; 4.21 -20050809; 28602; 0.81; 0.46; 16.71; 4.19 -20050810; 27370; 0.77; 0.13; 15.97; 4.17 -20050811; 26052; 0.74; 0.29; 14.71; 4.15 -20050812; 25164; 0.71; 1.16; 14.02; 4.13 -20050813; 24250; 0.68; 0.19; 14.06; 4.11 -20050814; 24020; 0.68; 5.00; 14.25; 4.09 -20050815; 28602; 0.81; 16.04; 12.05; 4.07 -20050816; 34928; 0.99; 4.91; 10.58; 4.04 -20050817; 34067; 0.96; 4.61; 10.13; 4.02 -20050818; 32350; 0.91; 0.58; 12.86; 4.00 -20050819; 28914; 0.82; 2.02; 16.58; 3.97 -20050820; 27257; 0.77; 3.24; 15.93; 3.95 -20050821; 27685; 0.78; 3.44; 11.91; 3.92 -20050822; 27685; 0.78; 0.49; 13.39; 3.90 -20050823; 25422; 0.72; 0.00; 12.72; 3.87 -20050824; 24048; 0.68; 0.32; 8.32; 3.84 -20050825; 22961; 0.65; 0.12; 5.99; 3.81 -20050826; 22132; 0.62; 0.24; 8.46; 3.79 -20050827; 21416; 0.60; 0.27; 9.92; 3.76 -20050828; 20786; 0.59; 4.26; 7.53; 3.73 -20050829; 21987; 0.62; 2.47; 6.82; 3.70 -20050830; 22674; 0.64; 0.32; 9.10; 3.67 -20050831; 21243; 0.60; 0.29; 10.49; 3.64 -20050901; 20099; 0.57; 0.34; 11.41; 3.61 -20050902; 19384; 0.55; 0.00; 12.55; 3.57 -20050903; 18923; 0.53; 0.00; 13.96; 3.54 -20050904; 18208; 0.51; 0.00; 14.48; 3.51 -20050905; 17634; 0.50; 0.01; 13.56; 3.48 -20050906; 17177; 0.48; 0.00; 13.35; 3.44 -20050907; 16947; 0.48; 0.04; 13.54; 3.41 -20050908; 16547; 0.47; 0.00; 14.67; 3.38 -20050909; 16090; 0.45; 0.00; 14.78; 3.34 -20050910; 15661; 0.44; 0.07; 15.39; 3.31 -20050911; 15289; 0.43; 1.95; 12.82; 3.27 -20050912; 15746; 0.44; 4.77; 5.63; 3.23 -20050913; 17064; 0.48; 0.53; 5.32; 3.20 -20050914; 17205; 0.49; 1.70; 6.68; 3.16 -20050915; 17092; 0.48; 4.07; 6.27; 3.13 -20050916; 17807; 0.50; 0.42; 6.69; 3.09 -20050917; 17351; 0.49; 0.17; 7.67; 3.05 -20050918; 16320; 0.46; 0.01; 7.95; 3.02 -20050919; 15718; 0.44; 0.03; 7.80; 2.98 -20050920; 15289; 0.43; 0.40; 4.35; 2.94 -20050921; 15201; 0.43; 0.08; 2.12; 2.90 -20050922; 15229; 0.43; 0.00; 4.15; 2.86 -20050923; 15031; 0.42; 0.00; 5.87; 2.82 -20050924; 15002; 0.42; 0.19; 7.36; 2.79 -20050925; 14918; 0.42; 0.06; 8.25; 2.75 -20050926; 14514; 0.41; 0.12; 9.24; 2.71 -20050927; 14199; 0.40; 0.34; 11.24; 2.67 -20050928; 13887; 0.39; 0.00; 12.02; 2.63 -20050929; 13657; 0.39; 0.27; 12.38; 2.59 -20050930; 13455; 0.38; 0.20; 12.06; 2.55 -20051001; 13083; 0.37; 0.00; 10.64; 2.51 -20051002; 12824; 0.36; 0.03; 10.61; 2.47 -20051003; 12711; 0.36; 0.11; 12.21; 2.43 -20051004; 12626; 0.36; 0.00; 12.76; 2.39 -20051005; 12481; 0.35; 0.02; 13.14; 2.35 -20051006; 12339; 0.35; 5.04; 10.52; 2.31 -20051007; 19323; 0.55; 32.17; 4.36; 2.26 -20051008; 23074; 0.65; 1.49; 2.50; 2.22 -20051009; 19812; 0.56; 2.49; 3.29; 2.18 -20051010; 16664; 0.47; 0.48; 5.40; 2.14 -20051011; 15633; 0.44; 0.75; 8.10; 2.10 -20051012; 15229; 0.43; 0.51; 7.46; 2.06 -20051013; 15229; 0.43; 4.77; 6.46; 2.02 -20051014; 16518; 0.47; 7.06; 5.33; 1.98 -20051015; 18810; 0.53; 6.05; 4.79; 1.94 -20051016; 19869; 0.56; 1.12; 4.66; 1.90 -20051017; 19440; 0.55; 0.24; 3.96; 1.86 -20051018; 18151; 0.51; 0.07; 3.33; 1.82 -20051019; 17290; 0.49; 2.18; 2.43; 1.77 -20051020; 17492; 0.49; 0.04; 2.45; 1.74 -20051021; 16862; 0.48; 0.54; 4.08; 1.69 -20051022; 16090; 0.45; 0.09; 5.49; 1.65 -20051023; 15888; 0.45; 0.22; 7.05; 1.61 -20051024; 15488; 0.44; 0.07; 4.15; 1.57 -20051025; 15002; 0.42; 0.28; 2.06; 1.53 -20051026; 14687; 0.41; 0.09; 1.80; 1.50 -20051027; 14429; 0.41; 1.90; 3.26; 1.46 -20051028; 16175; 0.46; 10.93; 0.69; 1.42 -20051029; 18753; 0.53; 0.81; -1.59; 1.38 -20051030; 16805; 0.47; 1.26; 0.84; 1.34 -20051031; 15459; 0.44; 4.92; -0.55; 1.30 -20051101; 16720; 0.47; 2.13; -2.08; 1.26 -20051102; 16203; 0.46; 0.99; -0.35; 1.22 -20051103; 15346; 0.43; 14.68; 1.63; 1.18 -20051104; 18293; 0.52; 2.16; -1.72; 1.15 -20051105; 17666; 0.50; 0.83; -3.55; 1.11 -20051106; 15976; 0.45; 0.37; -4.00; 1.07 -20051107; 14457; 0.41; 0.23; -3.98; 1.03 -20051108; 15633; 0.44; 0.07; -3.07; 1.00 -20051109; 14315; 0.40; 0.95; -3.31; 0.96 -20051110; 13511; 0.38; 0.00; -0.19; 0.93 -20051111; 14659; 0.41; 0.07; -1.69; 0.89 -20051112; 12885; 0.36; 0.42; -4.87; 0.86 -20051113; 12626; 0.36; 2.17; -4.69; 0.82 -20051114; 14574; 0.41; 0.41; -5.99; 0.79 -20051115; 12856; 0.36; 1.27; -2.64; 0.75 -20051116; 13256; 0.37; 1.85; -1.70; 0.72 -20051117; 14857; 0.42; 8.43; -1.63; 0.69 -20051118; 15718; 0.44; 5.24; -4.48; 0.65 -20051119; 14659; 0.41; 0.28; -4.63; 0.62 -20051120; 13572; 0.38; 0.71; -4.41; 0.59 -20051121; 12226; 0.35; 3.97; -2.90; 0.56 -20051122; 12913; 0.36; 10.78; -8.64; 0.53 -20051123; 12169; 0.34; 0.58;-16.40; 0.49 -20051124; 8560; 0.24; 1.48;-16.77; 0.46 -20051125; 7012; 0.20; 0.45;-14.01; 0.43 -20051126; 5869; 0.17; 0.36;-11.03; 0.41 -20051127; 6871; 0.19; 2.33; -8.93; 0.38 -20051128; 9162; 0.26; 0.37; -3.62; 0.35 -20051129; 15888; 0.45; 3.35; -2.48; 0.32 -20051130; 20443; 0.58; 6.78; -2.56; 0.29 -20051201; 19384; 0.55; 16.34; -1.35; 0.27 -20051202; 21041; 0.59; 10.20; -2.38; 0.24 -20051203; 19355; 0.55; 3.70; -1.72; 0.21 -20051204; 19012; 0.54; 12.06; -2.09; 0.19 -20051205; 18608; 0.53; 4.99; -5.57; 0.17 -20051206; 16405; 0.46; 1.13; -8.47; 0.14 -20051207; 14429; 0.41; 3.88; -5.22; 0.12 -20051208; 14287; 0.40; 14.99; -1.56; 0.10 -20051209; 17035; 0.48; 3.65; -0.68; 0.07 -20051210; 16890; 0.48; 1.43; 1.10; 0.05 -20051211; 17035; 0.48; 1.00; 1.41; 0.03 -20051212; 18264; 0.52; 2.61; -3.85; 0.01 -20051213; 16664; 0.47; 0.42; -5.41; 0.00 -20051214; 15633; 0.44; 0.08; -3.38; 0.00 -20051215; 15002; 0.42; 0.33; -4.39; 0.00 -20051216; 14857; 0.42; 0.05; -4.20; 0.00 -20051217; 14287; 0.40; 0.02; -5.03; 0.00 -20051218; 14000; 0.40; 0.29; -5.73; 0.00 -20051219; 13887; 0.39; 0.43; -6.40; 0.00 -20051220; 13600; 0.38; 0.86; -6.79; 0.00 -20051221; 13370; 0.38; 0.50; -6.39; 0.00 -20051222; 13083; 0.37; 3.23; -7.50; 0.00 -20051223; 12683; 0.36; 0.20; -7.01; 0.00 -20051224; 12311; 0.35; 0.30; -5.54; 0.00 -20051225; 11309; 0.32; 0.32; -4.27; 0.00 -20051226; 11939; 0.34; 0.19; -4.15; 0.00 -20051227; 13256; 0.37; 0.50; -4.68; 0.00 -20051228; 13944; 0.39; 0.05; -5.96; 0.00 -20051229; 12824; 0.36; 0.43; -4.38; 0.00 -20051230; 11765; 0.33; 4.24; -3.42; 0.00 -20051231; 13285; 0.38; 5.88; -2.51; 0.00 -20060101; 15031; 0.42; 23.34; -1.70; 0.00 -20060102; 15690; 0.44; 14.40; -1.30; 0.00 -20060103; 21271; 0.60; 7.48; 0.19; 0.00 -20060104; 21158; 0.60; 12.73; 0.26; 0.00 -20060105; 25624; 0.72; 13.49; -1.94; 0.00 -20060106; 23478; 0.66; 2.04; -4.50; 0.00 -20060107; 19699; 0.56; 0.87; -5.09; 0.00 -20060108; 18123; 0.51; 4.86; -2.63; 0.00 -20060109; 17722; 0.50; 7.75; -1.45; 0.00 -20060110; 17807; 0.50; 1.12; -1.06; 0.00 -20060111; 17892; 0.51; 7.17; -1.00; 0.00 -20060112; 18810; 0.53; 4.53; 0.20; 0.00 -20060113; 22447; 0.63; 7.54; 1.04; 0.00 -20060114; 27915; 0.79; 1.56; 1.94; 0.00 -20060115; 27770; 0.78; 5.36; 0.34; 0.00 -20060116; 26453; 0.75; 1.64; -1.17; 0.00 -20060117; 24020; 0.68; 0.31; 0.35; 0.00 -20060118; 22387; 0.63; 0.10; 0.01; 0.00 -20060119; 20928; 0.59; 0.00; 0.34; 0.00 -20060120; 19812; 0.56; 0.05; 0.24; 0.00 -20060121; 18551; 0.52; 0.05; -0.36; 0.00 -20060122; 18236; 0.51; 0.00; 1.27; 0.00 -20060123; 18381; 0.52; 0.27; 0.73; 0.00 -20060124; 18208; 0.51; 0.00; 0.55; 0.00 -20060125; 17949; 0.51; 0.06; -1.25; 0.00 -20060126; 17921; 0.51; 2.00; -2.78; 0.00 -20060127; 17949; 0.51; 1.98; -2.77; 0.00 -20060128; 17351; 0.49; 0.28; -4.46; 0.00 -20060129; 16033; 0.45; 0.61; -5.56; 0.00 -20060130; 15544; 0.44; 0.27; -7.47; 0.00 -20060131; 14114; 0.40; 0.15; -8.63; 0.00 -20060201; 11680; 0.33; 0.01; -8.47; 0.00 -20060202; 10048; 0.28; 0.06; -6.76; 0.00 -20060203; 11365; 0.32; 0.00; -6.88; 0.00 -20060204; 12739; 0.36; 0.00; -7.36; 0.00 -20060205; 12885; 0.36; 0.51; -6.53; 0.00 -20060206; 13370; 0.38; 0.34; -5.24; 0.00 -20060207; 15516; 0.44; 1.89;-11.71; 0.00 -20060208; 12856; 0.36; 0.71;-13.71; 0.00 -20060209; 12481; 0.35; 11.14; -9.94; 0.01 -20060210; 14631; 0.41; 3.02; -6.93; 0.03 -20060211; 15888; 0.45; 1.77; -8.05; 0.05 -20060212; 16033; 0.45; 0.77; -5.08; 0.07 -20060213; 15661; 0.44; 4.87; -3.54; 0.10 -20060214; 15172; 0.43; 3.20; -2.82; 0.12 -20060215; 14744; 0.42; 0.38; -1.63; 0.14 -20060216; 14542; 0.41; 1.38; 0.31; 0.17 -20060217; 14602; 0.41; 3.93; 1.23; 0.19 -20060218; 16292; 0.46; 2.71; -2.99; 0.22 -20060219; 15261; 0.43; 2.55; -5.02; 0.24 -20060220; 14344; 0.40; 1.54; -3.78; 0.27 -20060221; 13972; 0.39; 2.16; -2.70; 0.29 -20060222; 14114; 0.40; 6.56; -3.82; 0.32 -20060223; 15144; 0.43; 37.40; -4.77; 0.35 -20060224; 15775; 0.45; 11.19; -7.43; 0.38 -20060225; 14772; 0.42; 11.65; -6.56; 0.41 -20060226; 14429; 0.41; 3.82; -2.07; 0.44 -20060227; 17064; 0.48; 7.29; -0.80; 0.47 -20060228; 18810; 0.53; 5.52; -0.59; 0.50 -20060301; 22532; 0.64; 2.62; 3.81; 0.53 -20060302; 30062; 0.85; 0.36; 5.36; 0.56 -20060303; 35785; 1.01; 1.34; 3.72; 0.59 -20060304; 50100; 1.41; 12.50; 1.09; 0.62 -20060305; 56114; 1.58; 0.30; -2.13; 0.66 -20060306; 47239; 1.33; 0.00; -2.91; 0.69 -20060307; 39794; 1.12; 0.35; -3.90; 0.72 -20060308; 35502; 1.00; 0.00; -2.42; 0.75 -20060309; 32923; 0.93; 0.81; -0.32; 0.79 -20060310; 31779; 0.90; 1.09; -0.44; 0.82 -20060311; 31492; 0.89; 2.92; -0.49; 0.86 -20060312; 29775; 0.84; 0.38; 1.22; 0.89 -20060313; 29488; 0.83; 0.40; 3.83; 0.93 -20060314; 30919; 0.87; 0.10; 4.76; 0.96 -20060315; 35215; 0.99; 0.16; 6.53; 1.00 -20060316; 42659; 1.20; 4.40; 3.44; 1.04 -20060317; 48096; 1.36; 7.13; -0.69; 1.07 -20060318; 46665; 1.32; 10.09; 1.36; 1.11 -20060319; 49243; 1.39; 4.78; -3.19; 1.15 -20060320; 45521; 1.29; 6.56; -3.08; 1.19 -20060321; 45234; 1.28; 13.58; -3.20; 1.23 -20060322; 42659; 1.20; 1.42; -5.53; 1.26 -20060323; 40081; 1.13; 1.11; -4.36; 1.30 -20060324; 37506; 1.06; 0.48; -4.45; 1.34 -20060325; 35502; 1.00; 0.81; -2.74; 1.38 -20060326; 34641; 0.98; 0.16; -0.54; 1.42 -20060327; 34928; 0.99; 0.34; 1.52; 1.46 -20060328; 35215; 0.99; 0.00; 2.40; 1.50 -20060329; 38076; 1.08; 0.24; 3.50; 1.54 -20060330; 41225; 1.16; 0.09; 5.79; 1.58 -20060331; 46952; 1.33; 0.03; 5.75; 1.62 -20060401; 53536; 1.51; 0.20; 4.34; 1.66 -20060402; 59263; 1.67; 0.54; 5.91; 1.70 -20060403; 76440; 2.16; 15.07; 2.05; 1.74 -20060404; 82167; 2.32; 9.75; -0.21; 1.78 -20060405; 75009; 2.12; 3.36; 0.12; 1.82 -20060406; 72147; 2.04; 15.74; 0.94; 1.86 -20060407; 73291; 2.07; 5.34; 0.27; 1.90 -20060408; 68995; 1.95; 0.89; 1.70; 1.94 -20060409; 67851; 1.92; 3.17; 3.15; 1.98 -20060410; 68138; 1.92; 0.47; 3.65; 2.02 -20060411; 70143; 1.98; 0.58; 4.93; 2.06 -20060412; 77014; 2.17; 7.93; 3.71; 2.10 -20060413; 84458; 2.38; 2.83; 1.14; 2.14 -20060414; 81593; 2.30; 4.20; 0.10; 2.18 -20060415; 75583; 2.13; 1.14; 4.84; 2.23 -20060416; 81306; 2.30; 0.25; 10.45; 2.27 -20060417; 106788; 3.02; 0.58; 12.29; 2.31 -20060418; 158033; 4.46; 0.55; 12.38; 2.35 -20060419; 212429; 6.00; 0.14; 11.29; 2.39 -20060420; 256233; 7.23; 0.73; 11.51; 2.43 -20060421; 284576; 8.04; 2.16; 10.93; 2.47 -20060422; 340691; 9.62; 17.89; 4.95; 2.51 -20060423; 320648; 9.05; 4.12; 5.93; 2.55 -20060424; 292021; 8.25; 11.32; 5.87; 2.59 -20060425; 273983; 7.74; 6.02; 2.18; 2.63 -20060426; 225314; 6.36; 0.18; 0.87; 2.67 -20060427; 191817; 5.42; 0.09; 1.23; 2.71 -20060428; 170630; 4.82; 0.11; 0.70; 2.75 -20060429; 155458; 4.39; 0.58; 3.15; 2.79 -20060430; 148587; 4.20; 5.78; 4.81; 2.83 -20060501; 148300; 4.19; 1.04; 3.64; 2.87 -20060502; 142003; 4.01; 0.37; 5.23; 2.90 -20060503; 139712; 3.94; 0.83; 6.78; 2.94 -20060504; 145439; 4.11; 5.24; 6.71; 2.98 -20060505; 160037; 4.52; 0.76; 8.93; 3.02 -20060506; 180366; 5.09; 0.25; 9.98; 3.06 -20060507; 199548; 5.63; 0.10; 12.50; 3.09 -20060508; 237051; 6.69; 0.00; 13.65; 3.13 -20060509; 270261; 7.63; 0.27; 13.99; 3.16 -20060510; 286294; 8.08; 0.00; 13.10; 3.20 -20060511; 270548; 7.64; 0.96; 13.91; 3.24 -20060512; 289156; 8.16; 1.53; 11.20; 3.27 -20060513; 262246; 7.40; 0.00; 7.17; 3.31 -20060514; 214147; 6.05; 0.10; 7.28; 3.34 -20060515; 193534; 5.46; 1.51; 7.96; 3.38 -20060516; 185520; 5.24; 1.80; 5.61; 3.41 -20060517; 171204; 4.83; 15.41; 3.78; 3.44 -20060518; 168056; 4.75; 6.07; 6.04; 3.48 -20060519; 159180; 4.49; 7.90; 6.07; 3.51 -20060520; 154597; 4.37; 10.09; 5.46; 3.54 -20060521; 154597; 4.37; 3.06; 6.85; 3.58 -20060522; 147443; 4.16; 2.93; 7.60; 3.61 -20060523; 139999; 3.95; 0.91; 9.65; 3.64 -20060524; 137133; 3.87; 0.19; 11.91; 3.67 -20060525; 138851; 3.92; 0.24; 13.70; 3.70 -20060526; 140285; 3.96; 3.01; 13.72; 3.73 -20060527; 148587; 4.20; 2.11; 7.30; 3.76 -20060528; 133415; 3.77; 6.15; 6.17; 3.79 -20060529; 142573; 4.03; 9.93; 5.21; 3.81 -20060530; 148013; 4.18; 1.31; 8.22; 3.84 -20060531; 124252; 3.51; 7.33; 8.89; 3.87 -20060601; 137133; 3.87; 8.03; 6.22; 3.90 -20060602; 138851; 3.92; 1.59; 9.01; 3.92 -20060603; 121387; 3.43; 3.52; 12.94; 3.95 -20060604; 125683; 3.55; 5.25; 9.60; 3.97 -20060605; 122821; 3.47; 1.40; 11.53; 4.00 -20060606; 115090; 3.25; 5.23; 7.64; 4.02 -20060607; 116521; 3.29; 4.62; 4.26; 4.04 -20060608; 108793; 3.07; 3.32; 4.77; 4.07 -20060609; 99918; 2.82; 0.78; 7.37; 4.09 -20060610; 90755; 2.56; 1.09; 10.59; 4.11 -20060611; 85602; 2.42; 1.89; 12.71; 4.13 -20060612; 84741; 2.39; 6.72; 13.39; 4.15 -20060613; 131697; 3.72; 37.35; 7.19; 4.17 -20060614; 227889; 6.43; 7.85; 3.49; 4.19 -20060615; 166051; 4.69; 3.07; 5.27; 4.21 -20060616; 157749; 4.45; 9.82; 5.14; 4.23 -20060617; 151162; 4.27; 1.33; 8.51; 4.25 -20060618; 134559; 3.80; 0.20; 10.24; 4.26 -20060619; 124539; 3.52; 0.23; 11.97; 4.28 -20060620; 115664; 3.27; 1.18; 17.16; 4.29 -20060621; 109650; 3.10; 0.00; 17.88; 4.31 -20060622; 103923; 2.93; 0.34; 18.10; 4.32 -20060623; 97913; 2.76; 0.07; 17.57; 4.34 -20060624; 90181; 2.55; 0.00; 14.16; 4.35 -20060625; 83598; 2.36; 0.31; 14.54; 4.36 -20060626; 80449; 2.27; 2.04; 8.35; 4.37 -20060627; 79588; 2.25; 0.71; 10.97; 4.38 -20060628; 71287; 2.01; 0.09; 15.11; 4.39 -20060629; 65847; 1.86; 0.00; 15.76; 4.40 -20060630; 61841; 1.75; 0.02; 16.01; 4.41 -20060701; 58119; 1.64; 0.53; 15.32; 4.42 -20060702; 55827; 1.58; 2.13; 10.26; 4.43 -20060703; 54683; 1.54; 0.54; 7.79; 4.43 -20060704; 50961; 1.44; 0.37; 10.12; 4.44 -20060705; 48956; 1.38; 10.37; 10.43; 4.45 -20060706; 52679; 1.49; 4.13; 9.37; 4.45 -20060707; 50674; 1.43; 1.43; 13.31; 4.45 -20060708; 46378; 1.31; 0.28; 16.81; 4.46 -20060709; 42943; 1.21; 0.52; 17.03; 4.46 -20060710; 41512; 1.17; 0.00; 14.82; 4.46 -20060711; 38363; 1.08; 0.02; 13.74; 4.46 -20060712; 36072; 1.02; 0.00; 14.48; 4.46 -20060713; 34354; 0.97; 0.05; 15.13; 4.46 -20060714; 32923; 0.93; 0.31; 15.85; 4.46 -20060715; 31492; 0.89; 0.45; 15.76; 4.46 -20060716; 30349; 0.86; 0.00; 17.04; 4.46 -20060717; 28914; 0.82; 0.01; 18.39; 4.45 -20060718; 27629; 0.78; 0.00; 16.34; 4.45 -20060719; 26424; 0.75; 0.00; 14.90; 4.44 -20060720; 25567; 0.72; 0.36; 17.46; 4.44 -20060721; 24650; 0.70; 0.02; 20.22; 4.43 -20060722; 23478; 0.66; 0.49; 21.21; 4.43 -20060723; 22674; 0.64; 0.56; 21.26; 4.42 -20060724; 22674; 0.64; 1.28; 21.04; 4.41 -20060725; 23789; 0.67; 0.26; 20.72; 4.40 -20060726; 22819; 0.64; 0.16; 20.71; 4.39 -20060727; 20871; 0.59; 0.15; 20.98; 4.38 -20060728; 19755; 0.56; 0.14; 21.30; 4.37 -20060729; 18980; 0.54; 0.87; 21.04; 4.36 -20060730; 18523; 0.52; 0.03; 18.58; 4.35 -20060731; 18353; 0.52; 0.81; 19.22; 4.34 -20060801; 18410; 0.52; 0.49; 20.30; 4.32 -20060802; 17549; 0.50; 0.61; 20.25; 4.31 -20060803; 16664; 0.47; 0.18; 20.70; 4.29 -20060804; 16575; 0.47; 0.34; 20.22; 4.28 -20060805; 16118; 0.46; 0.16; 18.54; 4.26 -20060806; 15633; 0.44; 0.00; 15.33; 4.25 -20060807; 14886; 0.42; 0.08; 17.71; 4.23 -20060808; 14457; 0.41; 0.06; 16.84; 4.21 -20060809; 14199; 0.40; 0.00; 15.22; 4.19 -20060810; 13827; 0.39; 0.08; 17.56; 4.17 -20060811; 13600; 0.38; 0.87; 18.38; 4.15 -20060812; 13742; 0.39; 0.11; 18.41; 4.13 -20060813; 13370; 0.38; 0.03; 20.26; 4.11 -20060814; 12768; 0.36; 0.00; 20.96; 4.09 -20060815; 12137; 0.34; 0.00; 17.68; 4.07 -20060816; 11765; 0.33; 0.00; 15.52; 4.04 -20060817; 11422; 0.32; 0.00; 14.75; 4.02 -20060818; 11252; 0.32; 0.00; 16.02; 4.00 -20060819; 10993; 0.31; 0.00; 17.72; 3.97 -20060820; 10763; 0.30; 0.03; 16.68; 3.95 -20060821; 10650; 0.30; 0.00; 16.02; 3.92 -20060822; 10536; 0.30; 0.12; 10.68; 3.90 -20060823; 10706; 0.30; 0.02; 12.46; 3.87 -20060824; 10706; 0.30; 0.00; 14.02; 3.84 -20060825; 10335; 0.29; 0.00; 14.82; 3.81 -20060826; 10048; 0.28; 0.28; 13.94; 3.79 -20060827; 9764; 0.28; 0.00; 14.60; 3.76 -20060828; 9591; 0.27; 0.06; 16.44; 3.73 -20060829; 9421; 0.27; 0.03; 13.01; 3.70 -20060830; 9389; 0.27; 0.08; 12.12; 3.67 -20060831; 9276; 0.26; 0.02; 12.60; 3.64 -20060901; 9134; 0.26; 0.47; 13.59; 3.61 -20060902; 8989; 0.25; 2.02; 14.71; 3.57 -20060903; 9219; 0.26; 9.90; 9.63; 3.54 -20060904; 13657; 0.39; 5.51; 7.96; 3.51 -20060905; 15374; 0.43; 0.37; 10.25; 3.48 -20060906; 13228; 0.37; 1.37; 13.69; 3.44 -20060907; 11050; 0.31; 0.00; 15.81; 3.41 -20060908; 10193; 0.29; 0.00; 14.35; 3.38 -20060909; 9793; 0.28; 0.00; 8.84; 3.34 -20060910; 9676; 0.27; 0.00; 7.12; 3.31 -20060911; 9591; 0.27; 0.00; 8.01; 3.27 -20060912; 9478; 0.27; 0.04; 9.68; 3.23 -20060913; 9332; 0.26; 0.83; 10.27; 3.20 -20060914; 9276; 0.26; 0.36; 8.09; 3.16 -20060915; 9421; 0.27; 0.07; 10.57; 3.13 -20060916; 9421; 0.27; 0.09; 12.62; 3.09 -20060917; 9276; 0.26; 0.32; 14.72; 3.05 -20060918; 8932; 0.25; 0.00; 14.89; 3.02 -20060919; 8674; 0.24; 0.00; 14.59; 2.98 -20060920; 8504; 0.24; 0.00; 13.87; 2.94 -20060921; 8330; 0.24; 0.04; 11.33; 2.90 -20060922; 8188; 0.23; 0.00; 12.29; 2.86 -20060923; 8043; 0.23; 0.08; 14.23; 2.82 -20060924; 7958; 0.22; 0.00; 15.11; 2.79 -20060925; 7873; 0.22; 0.02; 14.50; 2.75 -20060926; 7760; 0.22; 0.01; 14.01; 2.71 -20060927; 7671; 0.22; 0.02; 14.26; 2.67 -20060928; 7586; 0.21; 0.10; 13.96; 2.63 -20060929; 7558; 0.21; 0.48; 10.53; 2.59 -20060930; 7586; 0.21; 0.04; 11.87; 2.55 -20061001; 7700; 0.22; 0.69; 10.69; 2.51 -20061002; 7788; 0.22; 0.85; 4.59; 2.47 -20061003; 7788; 0.22; 2.38; 0.90; 2.43 -20061004; 7816; 0.22; 1.32; 4.04; 2.39 -20061005; 8075; 0.23; 0.42; 5.71; 2.35 -20061006; 8188; 0.23; 0.19; 6.80; 2.31 -20061007; 8075; 0.23; 0.47; 5.89; 2.26 -20061008; 7958; 0.22; 0.13; 6.89; 2.22 -20061009; 7816; 0.22; 0.49; 9.74; 2.18 -20061010; 7788; 0.22; 0.36; 9.33; 2.14 -20061011; 8330; 0.24; 5.69; 4.23; 2.10 -20061012; 8790; 0.25; 1.67; 4.55; 2.06 -20061013; 8674; 0.24; 0.28; 3.67; 2.02 -20061014; 9247; 0.26; 9.69; 1.75; 1.98 -20061015; 10735; 0.30; 7.34; 0.07; 1.94 -20061016; 10678; 0.30; 1.10; 2.61; 1.90 -20061017; 10250; 0.29; 1.64; 2.90; 1.86 -20061018; 9764; 0.28; 0.71; 3.07; 1.82 -20061019; 9591; 0.27; 1.07; 4.01; 1.77 -20061020; 10048; 0.28; 5.14; 3.48; 1.74 -20061021; 13972; 0.39; 17.97; 2.35; 1.69 -20061022; 16805; 0.47; 1.47; 0.90; 1.65 -20061023; 13798; 0.39; 1.47; 1.90; 1.61 -20061024; 11422; 0.32; 1.00; 3.22; 1.57 -20061025; 10480; 0.30; 1.24; 4.81; 1.53 -20061026; 10019; 0.28; 4.89; 5.35; 1.50 -20061027; 16777; 0.47; 33.91; 4.39; 1.46 -20061028; 48956; 1.38; 10.39; 0.42; 1.42 -20061029; 29775; 0.84; 1.82; -2.15; 1.38 -20061030; 19784; 0.56; 6.40; -3.23; 1.34 -20061031; 19440; 0.55; 35.64; -1.02; 1.30 -20061101; 53536; 1.51; 24.05; -2.12; 1.26 -20061102; 34641; 0.98; 4.10; -4.98; 1.22 -20061103; 23850; 0.67; 0.48; -6.24; 1.18 -20061104; 19554; 0.55; 12.98; -5.76; 1.15 -20061105; 18523; 0.52; 5.44; -3.57; 1.11 -20061106; 18951; 0.54; 12.18; -3.64; 1.07 -20061107; 18264; 0.52; 1.54; -5.29; 1.03 -20061108; 16575; 0.47; 0.38; -5.99; 1.00 -20061109; 14429; 0.41; 3.27; -2.92; 0.96 -20061110; 16061; 0.45; 2.52; -0.45; 0.93 -20061111; 18236; 0.51; 0.35; -0.24; 0.89 -20061112; 17634; 0.50; 3.46; -2.69; 0.86 -20061113; 17092; 0.48; 0.28; -4.77; 0.82 -20061114; 15633; 0.44; 0.84; -3.78; 0.79 -20061115; 14918; 0.42; 1.97; -3.77; 0.75 -20061116; 14170; 0.40; 6.93; -4.26; 0.72 -20061117; 15573; 0.44; 1.24; -7.59; 0.69 -20061118; 13285; 0.38; 0.39;-11.02; 0.65 -20061119; 11794; 0.33; 9.03; -6.41; 0.62 -20061120; 13543; 0.38; 10.82; -5.89; 0.59 -20061121; 15087; 0.43; 0.46;-10.41; 0.56 -20061122; 11252; 0.32; 1.00;-11.22; 0.53 -20061123; 10763; 0.30; 8.05; -7.49; 0.49 -20061124; 11794; 0.33; 2.89; -2.67; 0.46 -20061125; 18580; 0.52; 7.10; -2.17; 0.43 -20061126; 16664; 0.47; 5.58; -5.77; 0.41 -20061127; 15031; 0.42; 9.91; -7.41; 0.38 -20061128; 14315; 0.40; 8.66; -7.04; 0.35 -20061129; 14230; 0.40; 22.24; -4.74; 0.32 -20061130; 15888; 0.45; 16.23; -0.34; 0.29 -20061201; 30919; 0.87; 13.76; -0.61; 0.27 -20061202; 39224; 1.11; 9.23; -3.19; 0.24 -20061203; 30062; 0.85; 7.15; -6.42; 0.21 -20061204; 24048; 0.68; 1.36;-10.07; 0.19 -20061205; 18009; 0.51; 0.45;-10.93; 0.17 -20061206; 16603; 0.47; 2.70; -8.89; 0.14 -20061207; 15172; 0.43; 4.41; -8.85; 0.12 -20061208; 14029; 0.40; 1.71; -8.28; 0.10 -20061209; 13742; 0.39; 6.84; -7.70; 0.07 -20061210; 14029; 0.40; 0.17; -7.95; 0.05 -20061211; 14315; 0.40; 0.17; -7.48; 0.03 -20061212; 14744; 0.42; 1.43; -7.24; 0.01 -20061213; 15976; 0.45; 4.45; -7.21; 0.00 -20061214; 17205; 0.49; 1.25; -6.86; 0.00 -20061215; 16061; 0.45; 4.62; -6.50; 0.00 -20061216; 15803; 0.45; 16.10; -3.29; 0.00 -20061217; 19267; 0.54; 12.04; -0.12; 0.00 -20061218; 22589; 0.64; 7.20; -0.62; 0.00 -20061219; 23046; 0.65; 0.44; -3.04; 0.00 -20061220; 20899; 0.59; 0.13; -1.42; 0.00 -20061221; 19068; 0.54; 1.20; -1.45; 0.00 -20061222; 18236; 0.51; 0.17; -2.45; 0.00 -20061223; 16603; 0.47; 0.13; -3.21; 0.00 -20061224; 16292; 0.46; 0.55; -2.96; 0.00 -20061225; 17234; 0.49; 1.12; -4.36; 0.00 -20061226; 18123; 0.51; 9.56; -2.98; 0.00 -20061227; 22989; 0.65; 12.94; 0.40; 0.00 -20061228; 27168; 0.77; 6.81; -1.80; 0.00 -20061229; 27083; 0.76; 0.67; -6.19; 0.00 -20061230; 24221; 0.68; 0.33; -8.76; 0.00 -20061231; 18038; 0.51; 0.23;-11.99; 0.00 -20070101; 10019; 0.28; 0.03;-11.12; 0.00 -20070102; 9449; 0.27; 0.06;-11.14; 0.00 -20070103; 8589; 0.24; 0.08;-10.97; 0.00 -20070104; 8589; 0.24; 0.10;-10.32; 0.00 -20070105; 9162; 0.26; 0.04;-10.32; 0.00 -20070106; 12885; 0.36; 0.89;-10.46; 0.00 -20070107; 17177; 0.48; 7.99; -6.61; 0.00 -20070108; 18608; 0.53; 5.96; -2.67; 0.00 -20070109; 20042; 0.57; 14.25; 0.09; 0.00 -20070110; 24335; 0.69; 2.39; 2.04; 0.00 -20070111; 28631; 0.81; 8.19; 0.26; 0.00 -20070112; 31492; 0.89; 4.43; -0.30; 0.00 -20070113; 32066; 0.91; 11.76; -0.76; 0.00 -20070114; 44377; 1.25; 18.68; 0.19; 0.00 -20070115; 49814; 1.41; 4.80; -1.16; 0.00 -20070116; 43516; 1.23; 4.26; -2.18; 0.00 -20070117; 38650; 1.09; 5.79; -3.74; 0.00 -20070118; 34354; 0.97; 5.64; -2.89; 0.00 -20070119; 31779; 0.90; 1.14; -2.21; 0.00 -20070120; 28631; 0.81; 0.13; -4.74; 0.00 -20070121; 24937; 0.70; 0.09; -5.38; 0.00 -20070122; 22015; 0.62; 0.00; -6.04; 0.00 -20070123; 20928; 0.59; 0.13; -6.47; 0.00 -20070124; 22415; 0.63; 1.06; -5.58; 0.00 -20070125; 24448; 0.69; 2.55; -2.43; 0.00 -20070126; 25596; 0.72; 10.68; -1.72; 0.00 -20070127; 24792; 0.70; 0.76; -1.94; 0.00 -20070128; 23219; 0.66; 0.08; -2.60; 0.00 -20070129; 21530; 0.61; 2.63; -3.58; 0.00 -20070130; 21902; 0.62; 11.35; -0.49; 0.00 -20070131; 34354; 0.97; 25.19; 1.78; 0.00 -20070201; 128832; 3.64; 31.03; 1.79; 0.00 -20070202; 183228; 5.17; 4.95; 0.14; 0.00 -20070203; 134845; 3.81; 0.98; 0.42; 0.00 -20070204; 104784; 2.96; 0.44; 2.44; 0.00 -20070205; 89895; 2.54; 0.03; 2.78; 0.00 -20070206; 82454; 2.33; 0.14; 2.24; 0.00 -20070207; 77300; 2.18; 0.17; 0.53; 0.00 -20070208; 71574; 2.02; 0.00; -0.61; 0.00 -20070209; 65847; 1.86; 0.14; -2.54; 0.01 -20070210; 61841; 1.75; 1.10; -5.23; 0.03 -20070211; 56688; 1.60; 0.30;-10.47; 0.05 -20070212; 48383; 1.37; 0.63;-15.55; 0.07 -20070213; 40655; 1.15; 1.43;-15.86; 0.10 -20070214; 42372; 1.20; 0.22;-13.20; 0.12 -20070215; 37219; 1.05; 4.20; -9.73; 0.14 -20070216; 38650; 1.09; 5.64; -2.99; 0.17 -20070217; 44947; 1.27; 21.59; -1.66; 0.19 -20070218; 47526; 1.34; 11.90; -0.24; 0.22 -20070219; 64129; 1.81; 23.59; 2.88; 0.24 -20070220; 121104; 3.42; 2.73; 5.89; 0.27 -20070221; 140285; 3.96; 1.12; 3.57; 0.29 -20070222; 129405; 3.65; 0.03; 2.23; 0.32 -20070223; 117095; 3.31; 0.30; 3.05; 0.35 -20070224; 110224; 3.11; 0.97; 5.34; 0.38 -20070225; 112799; 3.18; 3.87; 2.58; 0.41 -20070226; 116234; 3.28; 1.31; 1.26; 0.44 -20070227; 109937; 3.10; 0.06; -3.62; 0.47 -20070228; 99918; 2.82; 0.29; -5.98; 0.50 -20070301; 91616; 2.59; 0.13; -7.96; 0.53 -20070302; 83884; 2.37; 1.53; -5.75; 0.56 -20070303; 80449; 2.27; 5.75; -4.59; 0.59 -20070304; 78158; 2.21; 11.41; -4.24; 0.62 -20070305; 71860; 2.03; 4.29; -4.89; 0.66 -20070306; 66994; 1.89; 6.22; -6.19; 0.69 -20070307; 61841; 1.75; 3.43; -4.80; 0.72 -20070308; 59263; 1.67; 4.93; -3.02; 0.75 -20070309; 61267; 1.73; 6.30; 2.39; 0.79 -20070310; 68138; 1.92; 1.66; 4.51; 0.82 -20070311; 74152; 2.09; 4.07; 2.67; 0.86 -20070312; 80449; 2.27; 4.73; 0.62; 0.89 -20070313; 78731; 2.22; 6.50; -0.59; 0.93 -20070314; 77871; 2.20; 2.78; 2.86; 0.96 -20070315; 84741; 2.39; 10.81; 0.90; 1.00 -20070316; 85315; 2.41; 0.72; 0.64; 1.04 -20070317; 83598; 2.36; 0.85; 1.48; 1.07 -20070318; 88177; 2.49; 9.73; 1.20; 1.11 -20070319; 102492; 2.89; 5.58; 0.04; 1.15 -20070320; 99918; 2.82; 6.27; 0.94; 1.19 -20070321; 106501; 3.01; 7.57; -0.28; 1.23 -20070322; 101061; 2.85; 1.72; -0.88; 1.26 -20070323; 95621; 2.70; 7.63; 0.86; 1.30 -20070324; 91616; 2.59; 3.60; -2.24; 1.34 -20070325; 84171; 2.38; 0.40; -3.53; 1.38 -20070326; 78444; 2.21; 1.18; -2.77; 1.42 -20070327; 73865; 2.09; 0.14; -3.09; 1.46 -20070328; 69569; 1.96; 0.37; -3.00; 1.50 -20070329; 66707; 1.88; 0.14; -1.76; 1.54 -20070330; 64703; 1.83; 0.27; 1.64; 1.58 -20070331; 63559; 1.79; 0.58; 4.78; 1.62 -20070401; 64990; 1.83; 2.31; 1.62; 1.66 -20070402; 63842; 1.80; 0.49; 1.01; 1.70 -20070403; 61554; 1.74; 0.59; 4.08; 1.74 -20070404; 64990; 1.83; 3.40; 5.75; 1.78 -20070405; 78444; 2.21; 5.46; 3.84; 1.82 -20070406; 91616; 2.59; 4.63; 3.26; 1.86 -20070407; 97626; 2.76; 15.46; 3.73; 1.90 -20070408; 122248; 3.45; 10.07; 0.16; 1.94 -20070409; 113372; 3.20; 4.11; -1.26; 1.98 -20070410; 103640; 2.93; 1.75; 0.81; 2.02 -20070411; 98200; 2.77; 1.59; 0.99; 2.06 -20070412; 94191; 2.66; 3.56; 2.59; 2.10 -20070413; 102779; 2.90; 11.05; 2.53; 2.14 -20070414; 108793; 3.07; 2.26; -1.82; 2.18 -20070415; 102205; 2.89; 0.75; -2.42; 2.23 -20070416; 97052; 2.74; 0.71; -0.23; 2.27 -20070417; 94191; 2.66; 1.60; 1.56; 2.31 -20070418; 91899; 2.59; 9.02; 1.17; 2.35 -20070419; 92186; 2.60; 4.67; -0.86; 2.39 -20070420; 87033; 2.46; 1.48; -0.86; 2.43 -20070421; 83024; 2.34; 0.47; 1.12; 2.47 -20070422; 80449; 2.27; 2.24; 3.39; 2.51 -20070423; 81023; 2.29; 2.23; 4.14; 2.55 -20070424; 83598; 2.36; 0.84; 5.28; 2.59 -20070425; 89895; 2.54; 2.61; 4.28; 2.63 -20070426; 95051; 2.68; 0.07; 3.73; 2.67 -20070427; 99631; 2.81; 0.41; 4.81; 2.71 -20070428; 107645; 3.04; 7.82; 2.42; 2.75 -20070429; 104784; 2.96; 2.72; 1.83; 2.79 -20070430; 102205; 2.89; 1.00; 3.70; 2.83 -20070501; 101061; 2.85; 5.19; 2.85; 2.87 -20070502; 114803; 3.24; 7.45; 4.32; 2.90 -20070503; 137707; 3.89; 2.72; 5.01; 2.94 -20070504; 140285; 3.96; 1.13; 6.15; 2.98 -20070505; 152309; 4.30; 1.44; 6.34; 3.02 -20070506; 189812; 5.36; 20.57; 4.59; 3.06 -20070507; 227889; 6.43; 2.16; 5.61; 3.09 -20070508; 229323; 6.47; 2.57; 6.56; 3.13 -20070509; 247644; 6.99; 1.39; 7.88; 3.16 -20070510; 253945; 7.17; 3.40; 7.92; 3.20 -20070511; 277992; 7.85; 7.43; 5.23; 3.24 -20070512; 279423; 7.89; 5.34; 2.36; 3.27 -20070513; 235046; 6.64; 0.92; 3.02; 3.31 -20070514; 208137; 5.88; 1.12; 6.22; 3.34 -20070515; 203841; 5.76; 0.00; 7.67; 3.38 -20070516; 204128; 5.76; 2.60; 9.66; 3.41 -20070517; 243351; 6.87; 0.97; 8.22; 3.44 -20070518; 258237; 7.29; 0.30; 7.08; 3.48 -20070519; 259955; 7.34; 0.23; 6.79; 3.51 -20070520; 256233; 7.23; 0.18; 8.31; 3.54 -20070521; 266826; 7.53; 0.12; 8.76; 3.58 -20070522; 267112; 7.54; 0.12; 7.58; 3.61 -20070523; 259955; 7.34; 0.12; 7.67; 3.64 -20070524; 250506; 7.07; 0.00; 8.34; 3.67 -20070525; 246213; 6.95; 0.92; 7.32; 3.70 -20070526; 234763; 6.63; 4.94; 4.79; 3.73 -20070527; 215008; 6.07; 1.19; 7.44; 3.76 -20070528; 213003; 6.01; 0.84; 10.70; 3.79 -20070529; 237338; 6.70; 0.44; 13.34; 3.81 -20070530; 273983; 7.74; 0.29; 13.85; 3.84 -20070531; 303471; 8.57; 0.21; 13.48; 3.87 -20070601; 300610; 8.49; 1.25; 13.68; 3.90 -20070602; 294883; 8.33; 3.38; 12.96; 3.92 -20070603; 320648; 9.05; 10.23; 11.16; 3.95 -20070604; 317787; 8.97; 3.35; 12.70; 3.97 -20070605; 309198; 8.73; 16.21; 6.32; 4.00 -20070606; 277706; 7.84; 18.86; 0.12; 4.02 -20070607; 223022; 6.30; 2.56; 2.98; 4.04 -20070608; 206132; 5.82; 0.35; 4.60; 4.07 -20070609; 177788; 5.02; 0.69; 6.47; 4.09 -20070610; 162902; 4.60; 1.79; 10.15; 4.11 -20070611; 168626; 4.76; 0.63; 11.98; 4.13 -20070612; 179506; 5.07; 0.35; 12.97; 4.15 -20070613; 187524; 5.29; 0.00; 12.43; 4.17 -20070614; 186377; 5.26; 0.02; 12.35; 4.19 -20070615; 179793; 5.08; 1.61; 12.18; 4.21 -20070616; 172348; 4.87; 3.17; 12.09; 4.23 -20070617; 175497; 4.96; 10.60; 9.81; 4.25 -20070618; 179793; 5.08; 5.85; 8.32; 4.26 -20070619; 170917; 4.83; 7.35; 5.71; 4.28 -20070620; 154314; 4.36; 1.71; 5.85; 4.29 -20070621; 133985; 3.78; 10.72; 4.99; 4.31 -20070622; 141429; 3.99; 2.55; 8.09; 4.32 -20070623; 128832; 3.64; 1.11; 11.32; 4.34 -20070624; 125683; 3.55; 0.64; 14.16; 4.35 -20070625; 124539; 3.52; 0.07; 15.40; 4.36 -20070626; 123105; 3.48; 0.01; 15.71; 4.37 -20070627; 120243; 3.40; 0.00; 11.84; 4.38 -20070628; 109080; 3.08; 0.00; 9.54; 4.39 -20070629; 97626; 2.76; 0.00; 11.72; 4.40 -20070630; 91042; 2.57; 0.02; 14.27; 4.41 -20070701; 86746; 2.45; 0.00; 15.82; 4.42 -20070702; 85889; 2.43; 18.66; 12.48; 4.43 -20070703; 151449; 4.28; 20.57; 8.74; 4.43 -20070704; 144578; 4.08; 1.57; 11.89; 4.44 -20070705; 113659; 3.21; 1.28; 12.83; 4.45 -20070706; 99918; 2.82; 5.72; 16.91; 4.45 -20070707; 104210; 2.94; 1.68; 15.86; 4.45 -20070708; 90468; 2.55; 1.15; 18.07; 4.46 -20070709; 84171; 2.38; 3.29; 18.09; 4.46 -20070710; 86746; 2.45; 2.03; 15.27; 4.46 -20070711; 81306; 2.30; 11.19; 13.96; 4.46 -20070712; 85889; 2.43; 8.97; 12.62; 4.46 -20070713; 98200; 2.77; 6.67; 11.65; 4.46 -20070714; 84171; 2.38; 0.77; 12.65; 4.46 -20070715; 73578; 2.08; 0.27; 13.55; 4.46 -20070716; 67277; 1.90; 0.20; 14.91; 4.46 -20070717; 62411; 1.76; 0.36; 16.85; 4.45 -20070718; 58406; 1.65; 0.00; 17.59; 4.45 -20070719; 54970; 1.55; 0.17; 17.67; 4.44 -20070720; 51818; 1.46; 0.65; 17.59; 4.44 -20070721; 50961; 1.44; 0.50; 16.93; 4.43 -20070722; 47812; 1.35; 0.15; 15.04; 4.43 -20070723; 44947; 1.27; 0.03; 14.88; 4.42 -20070724; 42372; 1.20; 0.04; 14.70; 4.41 -20070725; 40081; 1.13; 0.07; 15.66; 4.40 -20070726; 38363; 1.08; 0.31; 13.46; 4.39 -20070727; 37506; 1.06; 0.16; 14.34; 4.38 -20070728; 35785; 1.01; 0.35; 17.67; 4.37 -20070729; 34641; 0.98; 1.80; 12.43; 4.36 -20070730; 34354; 0.97; 0.21; 8.79; 4.35 -20070731; 32923; 0.93; 0.34; 11.58; 4.34 -20070801; 31206; 0.88; 0.28; 15.27; 4.32 -20070802; 29488; 0.83; 0.43; 15.60; 4.31 -20070803; 28259; 0.80; 0.12; 16.40; 4.29 -20070804; 27196; 0.77; 0.02; 17.29; 4.28 -20070805; 26283; 0.74; 0.64; 18.18; 4.26 -20070806; 25252; 0.71; 0.05; 17.94; 4.25 -20070807; 26137; 0.74; 7.54; 12.41; 4.23 -20070808; 30062; 0.85; 2.45; 7.45; 4.21 -20070809; 28486; 0.80; 1.62; 10.75; 4.19 -20070810; 26194; 0.74; 1.76; 14.26; 4.17 -20070811; 24678; 0.70; 0.42; 12.27; 4.15 -20070812; 23619; 0.67; 5.04; 10.82; 4.13 -20070813; 24650; 0.70; 1.47; 9.36; 4.11 -20070814; 24537; 0.69; 0.86; 11.63; 4.09 -20070815; 22961; 0.65; 8.66; 12.19; 4.07 -20070816; 25252; 0.71; 14.14; 9.88; 4.04 -20070817; 30632; 0.86; 6.64; 7.16; 4.02 -20070818; 34928; 0.99; 0.83; 8.52; 4.00 -20070819; 28142; 0.79; 0.80; 11.28; 3.97 -20070820; 24650; 0.70; 0.80; 15.12; 3.95 -20070821; 22759; 0.64; 0.29; 17.86; 3.92 -20070822; 21473; 0.61; 0.64; 17.48; 3.90 -20070823; 20928; 0.59; 4.13; 17.89; 3.87 -20070824; 21300; 0.60; 0.59; 13.56; 3.84 -20070825; 20899; 0.59; 0.00; 12.66; 3.81 -20070826; 19812; 0.56; 0.00; 13.36; 3.79 -20070827; 18753; 0.53; 0.00; 13.51; 3.76 -20070828; 18094; 0.51; 0.00; 15.49; 3.73 -20070829; 17492; 0.49; 0.01; 10.41; 3.70 -20070830; 17064; 0.48; 0.03; 11.16; 3.67 -20070831; 16805; 0.47; 0.07; 14.11; 3.64 -20070901; 16348; 0.46; 0.12; 16.87; 3.61 -20070902; 15916; 0.45; 0.00; 17.73; 3.57 -20070903; 15459; 0.44; 1.25; 19.02; 3.54 -20070904; 15059; 0.43; 4.90; 17.93; 3.51 -20070905; 14857; 0.42; 1.94; 13.50; 3.48 -20070906; 15031; 0.42; 0.30; 13.04; 3.44 -20070907; 14744; 0.42; 9.60; 11.67; 3.41 -20070908; 15860; 0.45; 6.49; 8.62; 3.38 -20070909; 18325; 0.52; 1.41; 9.63; 3.34 -20070910; 16919; 0.48; 6.55; 10.02; 3.31 -20070911; 17064; 0.48; 0.85; 13.00; 3.27 -20070912; 17379; 0.49; 0.18; 13.96; 3.23 -20070913; 15544; 0.44; 0.00; 14.39; 3.20 -20070914; 14602; 0.41; 0.00; 14.47; 3.16 -20070915; 14057; 0.40; 0.00; 14.54; 3.13 -20070916; 13628; 0.38; 0.02; 15.28; 3.09 -20070917; 13228; 0.37; 0.09; 14.86; 3.05 -20070918; 12885; 0.36; 1.15; 12.56; 3.02 -20070919; 12885; 0.36; 10.87; 7.24; 2.98 -20070920; 15605; 0.44; 0.22; 4.38; 2.94 -20070921; 16061; 0.45; 0.34; 4.13; 2.90 -20070922; 14287; 0.40; 0.47; 5.23; 2.86 -20070923; 13628; 0.38; 0.03; 7.85; 2.82 -20070924; 13083; 0.37; 0.04; 8.58; 2.79 -20070925; 12683; 0.36; 0.24; 10.07; 2.75 -20070926; 12626; 0.36; 3.49; 8.49; 2.71 -20070927; 12768; 0.36; 6.43; 7.15; 2.67 -20070928; 14429; 0.41; 6.58; 6.03; 2.63 -20070929; 19897; 0.56; 7.23; 4.86; 2.59 -20070930; 18781; 0.53; 5.14; 4.08; 2.55 -20071001; 17634; 0.50; 0.39; 2.97; 2.51 -20071002; 17262; 0.49; 3.21; 0.86; 2.47 -20071003; 34641; 0.98; 40.29; 3.09; 2.43 -20071004; 57258; 1.62; 5.75; 1.02; 2.39 -20071005; 35502; 1.00; 2.01; 2.09; 2.35 -20071006; 28029; 0.79; 1.39; 3.44; 2.31 -20071007; 26226; 0.74; 0.58; 2.28; 2.26 -20071008; 24593; 0.69; 4.94; 3.55; 2.22 -20071009; 26109; 0.74; 2.03; 3.38; 2.18 -20071010; 25652; 0.72; 2.72; 7.11; 2.14 -20071011; 25794; 0.73; 16.53; 6.78; 2.10 -20071012; 40942; 1.16; 7.52; 1.89; 2.06 -20071013; 40081; 1.13; 0.79; 1.85; 2.02 -20071014; 33497; 0.95; 1.57; 5.96; 1.98 -20071015; 31492; 0.89; 1.15; 8.92; 1.94 -20071016; 34641; 0.98; 9.24; 5.49; 1.90 -20071017; 45521; 1.29; 15.43; 4.02; 1.86 -20071018; 73578; 2.08; 5.31; 2.21; 1.82 -20071019; 64703; 1.83; 1.37; 2.02; 1.77 -20071020; 50674; 1.43; 3.18; 2.89; 1.74 -20071021; 48096; 1.36; 6.23; 0.41; 1.69 -20071022; 46952; 1.33; 0.51; 0.12; 1.65 -20071023; 42086; 1.19; 1.01; -0.20; 1.61 -20071024; 39224; 1.11; 1.73; 1.93; 1.57 -20071025; 37506; 1.06; 13.26; 2.47; 1.53 -20071026; 58689; 1.66; 14.83; 2.89; 1.50 -20071027; 56971; 1.61; 0.04; 1.35; 1.46 -20071028; 47526; 1.34; 0.02; 0.19; 1.42 -20071029; 42943; 1.21; 0.02; -0.98; 1.38 -20071030; 39794; 1.12; 0.16; -2.99; 1.34 -20071031; 36646; 1.03; 0.08; -6.45; 1.30 -20071101; 31492; 0.89; 0.43; -8.00; 1.26 -20071102; 25766; 0.73; 0.42; -7.06; 1.22 -20071103; 23478; 0.66; 0.03; -5.69; 1.18 -20071104; 24335; 0.69; 2.42; -4.75; 1.15 -20071105; 28631; 0.81; 11.34; -2.32; 1.11 -20071106; 31492; 0.89; 10.13; -3.84; 1.07 -20071107; 32350; 0.91; 24.51; -2.58; 1.03 -20071108; 44947; 1.27; 28.13; 1.46; 1.00 -20071109; 121387; 3.43; 8.17; -1.72; 0.96 -20071110; 87320; 2.47; 8.99; -4.24; 0.93 -20071111; 112228; 3.17; 49.14; -1.24; 0.89 -20071112; 186377; 5.26; 7.59; -0.41; 0.86 -20071113; 138851; 3.92; 11.57; 1.02; 0.82 -20071114; 148874; 4.20; 0.42; 4.26; 0.79 -20071115; 144578; 4.08; 3.36; 3.30; 0.75 -20071116; 150592; 4.25; 3.50; 3.07; 0.72 -20071117; 144578; 4.08; 1.78; 3.16; 0.69 -20071118; 144291; 4.07; 2.03; 2.34; 0.65 -20071119; 135702; 3.83; 0.11; -0.41; 0.62 -20071120; 118239; 3.34; 0.39; -0.11; 0.59 -20071121; 107359; 3.03; 2.95; -0.18; 0.56 -20071122; 105071; 2.97; 10.41; -0.02; 0.53 -20071123; 118525; 3.35; 7.74; 2.31; 0.49 -20071124; 131123; 3.70; 14.56; 3.34; 0.46 -20071125; 203270; 5.74; 28.47; 1.81; 0.43 -20071126; 227031; 6.41; 18.17; -1.16; 0.41 -20071127; 196970; 5.56; 11.41; -2.53; 0.38 -20071128; 209281; 5.91; 42.60; -0.71; 0.35 -20071129; 366456; 10.35; 38.85; 1.53; 0.32 -20071130; 704285; 19.89; 30.49; 1.87; 0.29 -20071201; 701420; 19.80; 26.94; 1.04; 0.27 -20071202; 521054; 14.71; 6.20; -2.00; 0.24 -20071203; 377906; 10.67; 4.82; -1.82; 0.21 -20071204; 306333; 8.65; 8.23; -4.11; 0.19 -20071205; 243635; 6.88; 1.78; -8.55; 0.17 -20071206; 210425; 5.94; 1.23; -7.52; 0.14 -20071207; 184659; 5.21; 0.27; -7.41; 0.12 -20071208; 162616; 4.59; 0.53;-12.84; 0.10 -20071209; 144004; 4.07; 11.62; -9.79; 0.07 -20071210; 149731; 4.23; 10.32; -2.00; 0.05 -20071211; 154314; 4.36; 15.76; 0.07; 0.03 -20071212; 176931; 5.00; 18.23; 2.21; 0.01 -20071213; 196970; 5.56; 4.12; 0.43; 0.00 -20071214; 176357; 4.98; 9.78; -0.75; 0.00 -20071215; 167482; 4.73; 10.87; -1.39; 0.00 -20071216; 157176; 4.44; 0.59; -4.18; 0.00 -20071217; 144865; 4.09; 0.87; -5.98; 0.00 -20071218; 134272; 3.79; 0.61; -5.85; 0.00 -20071219; 127114; 3.59; 0.24; -6.61; 0.00 -20071220; 122248; 3.45; 0.02; -5.04; 0.00 -20071221; 114516; 3.23; 0.04; -5.76; 0.00 -20071222; 101348; 2.86; 0.31; -8.14; 0.00 -20071223; 85889; 2.43; 0.28; -8.44; 0.00 -20071224; 83024; 2.34; 0.04; -6.74; 0.00 -20071225; 80162; 2.26; 0.15; -6.28; 0.00 -20071226; 77300; 2.18; 0.00; -6.92; 0.00 -20071227; 74435; 2.10; 0.07; -7.71; 0.00 -20071228; 71574; 2.02; 1.31; -7.40; 0.00 -20071229; 74435; 2.10; 9.35; -6.16; 0.00 -20071230; 79875; 2.26; 21.80; -2.51; 0.00 -20071231; 85602; 2.42; 11.69; -2.28; 0.00 -20080101; 78444; 2.21; 3.95; -3.43; 0.00 -20080102; 73865; 2.09; 13.88; -2.29; 0.00 -20080103; 88751; 2.51; 18.14; -1.30; 0.00 -20080104; 86176; 2.43; 12.60; -5.87; 0.00 -20080105; 78158; 2.21; 5.24; -7.58; 0.00 -20080106; 73291; 2.07; 3.37; -5.38; 0.00 -20080107; 71287; 2.01; 7.16; -1.70; 0.00 -20080108; 75296; 2.13; 7.94; -1.84; 0.00 -20080109; 75009; 2.12; 17.16; -2.23; 0.00 -20080110; 79018; 2.23; 1.46; -1.77; 0.00 -20080111; 75870; 2.14; 0.96; -0.40; 0.00 -20080112; 73291; 2.07; 0.76; -0.98; 0.00 -20080113; 70430; 1.99; 0.30; -1.12; 0.00 -20080114; 67564; 1.91; 2.83; -0.28; 0.00 -20080115; 71287; 2.01; 22.03; 0.28; 0.00 -20080116; 85602; 2.42; 14.74; -1.62; 0.00 -20080117; 85889; 2.43; 3.76; -8.30; 0.00 -20080118; 76727; 2.17; 5.63;-11.32; 0.00 -20080119; 76153; 2.15; 12.93; -7.07; 0.00 -20080120; 74722; 2.11; 16.32; -4.49; 0.00 -20080121; 71000; 2.00; 8.43; -3.42; 0.00 -20080122; 66707; 1.88; 2.82; -5.67; 0.00 -20080123; 62985; 1.78; 7.78; -6.81; 0.00 -20080124; 61554; 1.74; 11.18; -6.99; 0.00 -20080125; 58976; 1.67; 6.36; -8.31; 0.00 -20080126; 56401; 1.59; 5.02; -8.68; 0.00 -20080127; 54396; 1.54; 14.47; -8.93; 0.00 -20080128; 53536; 1.51; 11.03;-10.14; 0.00 -20080129; 51818; 1.46; 3.48;-13.39; 0.00 -20080130; 45521; 1.29; 0.75;-15.19; 0.00 -20080131; 34354; 0.97; 0.17;-13.94; 0.00 -20080201; 31492; 0.89; 0.00;-15.17; 0.00 -20080202; 31492; 0.89; 0.75;-15.36; 0.00 -20080203; 34354; 0.97; 0.34;-12.92; 0.00 -20080204; 37219; 1.05; 5.81; -7.64; 0.00 -20080205; 42943; 1.21; 9.73; -3.79; 0.00 -20080206; 65847; 1.86; 43.20; -0.79; 0.00 -20080207; 171778; 4.85; 40.38; 0.27; 0.00 -20080208; 263390; 7.44; 13.44; 1.40; 0.00 -20080209; 369318; 10.43; 13.29; -1.11; 0.01 -20080210; 340691; 9.62; 1.61; -4.18; 0.03 -20080211; 250792; 7.08; 1.75; -2.16; 0.05 -20080212; 201553; 5.69; 2.29; -0.08; 0.07 -20080213; 172922; 4.88; 2.63; 1.75; 0.10 -20080214; 155745; 4.40; 0.23; 2.14; 0.12 -20080215; 143721; 4.06; 0.19; 1.41; 0.14 -20080216; 135989; 3.84; 0.13; 2.07; 0.17 -20080217; 133985; 3.78; 8.65; 0.43; 0.19 -20080218; 170917; 4.83; 12.44; 0.98; 0.22 -20080219; 203270; 5.74; 11.13; -0.83; 0.24 -20080220; 194395; 5.49; 3.21; 0.01; 0.27 -20080221; 177214; 5.00; 7.89; 0.47; 0.29 -20080222; 161468; 4.56; 4.32; -3.96; 0.32 -20080223; 146869; 4.15; 7.74; -5.44; 0.35 -20080224; 134272; 3.79; 2.92; -6.89; 0.38 -20080225; 122535; 3.46; 1.37;-10.69; 0.41 -20080226; 105928; 2.99; 0.38;-12.68; 0.44 -20080227; 94478; 2.67; 0.87;-14.36; 0.47 -20080228; 85889; 2.43; 1.19;-13.12; 0.50 -20080229; 80162; 2.26; 0.96; -9.12; 0.53 -20080301; 80162; 2.26; 1.73; -5.94; 0.56 -20080302; 77300; 2.18; 1.99; -3.09; 0.59 -20080303; 74435; 2.10; 2.91; -3.14; 0.62 -20080304; 77300; 2.18; 1.71; -1.56; 0.66 -20080305; 79305; 2.24; 3.64; -6.30; 0.69 -20080306; 73291; 2.07; 1.55; -5.97; 0.72 -20080307; 71287; 2.01; 2.50; -1.82; 0.75 -20080308; 70713; 2.00; 0.86; 1.16; 0.79 -20080309; 70713; 2.00; 0.75; 4.18; 0.82 -20080310; 73578; 2.08; 0.14; 4.99; 0.86 -20080311; 81023; 2.29; 1.62; 2.59; 0.89 -20080312; 88751; 2.51; 2.12; 1.86; 0.93 -20080313; 92760; 2.62; 0.14; 1.64; 0.96 -20080314; 93904; 2.65; 1.53; 2.78; 1.00 -20080315; 97339; 2.75; 1.54; 0.68; 1.04 -20080316; 97052; 2.74; 2.82; -0.53; 1.07 -20080317; 94764; 2.68; 1.01; -0.31; 1.11 -20080318; 91616; 2.59; 0.27; -0.01; 1.15 -20080319; 89895; 2.54; 0.66; 2.74; 1.19 -20080320; 90755; 2.56; 0.25; 1.33; 1.23 -20080321; 90181; 2.55; 0.93; 1.74; 1.26 -20080322; 91329; 2.58; 10.71; 0.54; 1.30 -20080323; 92473; 2.61; 4.00; -3.83; 1.34 -20080324; 87607; 2.47; 3.96;-10.43; 1.38 -20080325; 78158; 2.21; 0.57; -8.51; 1.42 -20080326; 77300; 2.18; 1.13; -3.76; 1.46 -20080327; 76440; 2.16; 1.66; -4.95; 1.50 -20080328; 75009; 2.12; 1.51; -4.57; 1.54 -20080329; 72717; 2.05; 5.15; -4.80; 1.58 -20080330; 71287; 2.01; 4.50; -1.57; 1.62 -20080331; 68712; 1.94; 3.89; 0.26; 1.66 -20080401; 75296; 2.13; 10.36; 3.86; 1.70 -20080402; 96482; 2.72; 5.91; 1.60; 1.74 -20080403; 92186; 2.60; 1.53; 0.08; 1.78 -20080404; 87894; 2.48; 1.36; 0.96; 1.82 -20080405; 87607; 2.47; 2.17; 4.54; 1.86 -20080406; 93047; 2.63; 2.24; 7.37; 1.90 -20080407; 112228; 3.17; 0.55; 10.27; 1.94 -20080408; 157462; 4.45; 0.00; 11.30; 1.98 -20080409; 210711; 5.95; 0.84; 9.76; 2.02 -20080410; 279997; 7.91; 40.31; 3.74; 2.06 -20080411; 320648; 9.05; 9.78; 2.64; 2.10 -20080412; 284290; 8.03; 8.67; 0.82; 2.14 -20080413; 248505; 7.02; 3.72; 1.07; 2.18 -20080414; 219017; 6.18; 1.61; 2.44; 2.23 -20080415; 202697; 5.72; 0.32; 6.61; 2.27 -20080416; 202984; 5.73; 6.53; 5.24; 2.31 -20080417; 215294; 6.08; 3.04; 2.25; 2.35 -20080418; 200979; 5.67; 9.38; -1.22; 2.39 -20080419; 186090; 5.25; 5.14; 1.32; 2.43 -20080420; 177214; 5.00; 6.22; -0.01; 2.47 -20080421; 164620; 4.65; 0.76; 1.01; 2.51 -20080422; 155458; 4.39; 2.44; 1.98; 2.55 -20080423; 172635; 4.87; 16.61; 3.88; 2.59 -20080424; 273126; 7.71; 33.24; 1.93; 2.63 -20080425; 264821; 7.48; 9.24; 1.97; 2.67 -20080426; 248505; 7.02; 5.11; 1.62; 2.71 -20080427; 225314; 6.36; 5.85; -0.10; 2.75 -20080428; 203554; 5.75; 2.62; 1.37; 2.79 -20080429; 190960; 5.39; 1.26; 3.26; 2.83 -20080430; 181224; 5.12; 3.19; 4.50; 2.87 -20080501; 187237; 5.29; 7.79; 1.87; 2.90 -20080502; 174353; 4.92; 1.21; -0.00; 2.94 -20080503; 163473; 4.62; 3.04; -0.68; 2.98 -20080504; 153166; 4.32; 0.89; 0.15; 3.02 -20080505; 144291; 4.07; 1.01; 1.32; 3.06 -20080506; 139712; 3.94; 1.68; 2.29; 3.09 -20080507; 138281; 3.90; 1.39; 3.78; 3.13 -20080508; 137420; 3.88; 0.00; 3.16; 3.16 -20080509; 137133; 3.87; 0.50; 2.58; 3.20 -20080510; 139425; 3.94; 0.65; 4.12; 3.24 -20080511; 144004; 4.07; 10.27; 5.43; 3.27 -20080512; 186664; 5.27; 3.63; 8.24; 3.31 -20080513; 269404; 7.61; 17.72; 7.18; 3.34 -20080514; 380772; 10.75; 7.99; 6.91; 3.38 -20080515; 423714; 11.96; 13.68; 6.33; 3.41 -20080516; 469522; 13.26; 10.74; 6.40; 3.44 -20080517; 480972; 13.58; 10.78; 7.02; 3.48 -20080518; 549684; 15.52; 10.33; 5.39; 3.51 -20080519; 495288; 13.98; 7.03; 3.91; 3.54 -20080520; 423714; 11.96; 0.89; 4.09; 3.58 -20080521; 369318; 10.43; 2.50; 5.68; 3.61 -20080522; 360729; 10.19; 11.32; 3.96; 3.64 -20080523; 334964; 9.46; 4.00; 2.96; 3.67 -20080524; 303471; 8.57; 0.52; 5.54; 3.70 -20080525; 297744; 8.41; 0.84; 8.04; 3.73 -20080526; 326375; 9.22; 4.61; 9.51; 3.76 -20080527; 389360; 10.99; 2.26; 9.64; 3.79 -20080528; 423714; 11.96; 6.38; 5.59; 3.81 -20080529; 389360; 10.99; 3.86; 4.14; 3.84 -20080530; 334964; 9.46; 1.59; 3.53; 3.87 -20080531; 300610; 8.49; 0.44; 6.41; 3.90 -20080601; 300610; 8.49; 0.07; 8.17; 3.92 -20080602; 314925; 8.89; 0.13; 12.48; 3.95 -20080603; 377906; 10.67; 0.00; 13.77; 3.97 -20080604; 443757; 12.53; 0.17; 12.02; 4.00 -20080605; 458072; 12.93; 0.06; 8.96; 4.02 -20080606; 403676; 11.40; 0.00; 11.47; 4.04 -20080607; 403676; 11.40; 0.23; 15.91; 4.07 -20080608; 472384; 13.34; 0.26; 16.32; 4.09 -20080609; 492426; 13.90; 0.57; 13.14; 4.11 -20080610; 435168; 12.29; 0.00; 11.18; 4.13 -20080611; 392222; 11.07; 0.00; 10.43; 4.15 -20080612; 346418; 9.78; 0.03; 11.17; 4.17 -20080613; 326375; 9.22; 0.31; 14.13; 4.19 -20080614; 329237; 9.30; 0.60; 14.14; 4.21 -20080615; 332102; 9.38; 1.57; 15.25; 4.23 -20080616; 340691; 9.62; 1.92; 15.13; 4.25 -20080617; 337825; 9.54; 3.16; 9.54; 4.26 -20080618; 286294; 8.08; 1.49; 3.92; 4.28 -20080619; 225601; 6.37; 0.40; 6.08; 4.29 -20080620; 194678; 5.50; 0.90; 7.40; 4.31 -20080621; 175784; 4.96; 7.90; 8.12; 4.32 -20080622; 186377; 5.26; 3.20; 7.96; 4.34 -20080623; 182941; 5.17; 3.39; 8.54; 4.35 -20080624; 182084; 5.14; 6.03; 8.55; 4.36 -20080625; 178362; 5.04; 1.63; 9.92; 4.37 -20080626; 170917; 4.83; 3.09; 12.67; 4.38 -20080627; 182654; 5.16; 2.51; 12.30; 4.39 -20080628; 188668; 5.33; 1.67; 10.35; 4.40 -20080629; 168342; 4.75; 0.29; 11.67; 4.41 -20080630; 162042; 4.58; 0.43; 14.51; 4.42 -20080701; 163189; 4.61; 0.17; 17.01; 4.43 -20080702; 169773; 4.79; 0.00; 19.93; 4.43 -20080703; 166051; 4.69; 0.00; 19.81; 4.44 -20080704; 156889; 4.43; 0.00; 16.66; 4.45 -20080705; 142003; 4.01; 0.04; 11.88; 4.45 -20080706; 123105; 3.48; 0.00; 11.11; 4.45 -20080707; 107645; 3.04; 0.13; 14.10; 4.46 -20080708; 98770; 2.79; 0.34; 16.73; 4.46 -20080709; 95051; 2.68; 0.17; 17.78; 4.46 -20080710; 92186; 2.60; 0.00; 15.34; 4.46 -20080711; 85028; 2.40; 0.00; 14.77; 4.46 -20080712; 78158; 2.21; 0.27; 16.29; 4.46 -20080713; 73004; 2.06; 0.00; 16.72; 4.46 -20080714; 68712; 1.94; 0.13; 18.56; 4.46 -20080715; 65276; 1.84; 0.00; 19.19; 4.46 -20080716; 61841; 1.75; 0.12; 17.88; 4.45 -20080717; 58119; 1.64; 0.13; 16.90; 4.45 -20080718; 54683; 1.54; 0.00; 12.79; 4.44 -20080719; 51531; 1.46; 0.00; 10.32; 4.44 -20080720; 48096; 1.36; 0.00; 9.62; 4.43 -20080721; 45234; 1.28; 0.34; 12.43; 4.43 -20080722; 42659; 1.20; 0.37; 15.08; 4.42 -20080723; 40655; 1.15; 0.05; 17.28; 4.41 -20080724; 38937; 1.10; 0.02; 18.54; 4.40 -20080725; 37219; 1.05; 0.00; 18.68; 4.39 -20080726; 35502; 1.00; 0.00; 18.61; 4.38 -20080727; 33784; 0.95; 0.17; 20.48; 4.37 -20080728; 32066; 0.91; 0.34; 21.21; 4.36 -20080729; 30919; 0.87; 2.39; 18.13; 4.35 -20080730; 30919; 0.87; 2.95; 16.50; 4.34 -20080731; 31492; 0.89; 0.16; 17.18; 4.32 -20080801; 29201; 0.82; 1.89; 17.31; 4.31 -20080802; 27483; 0.78; 2.74; 13.37; 4.29 -20080803; 27742; 0.78; 1.34; 9.25; 4.28 -20080804; 27257; 0.77; 1.32; 7.14; 4.26 -20080805; 26740; 0.76; 2.66; 6.87; 4.25 -20080806; 27572; 0.78; 1.46; 9.38; 4.23 -20080807; 25737; 0.73; 0.50; 13.66; 4.21 -20080808; 23789; 0.67; 0.11; 17.31; 4.19 -20080809; 22359; 0.63; 0.00; 17.61; 4.17 -20080810; 21356; 0.60; 0.08; 19.48; 4.15 -20080811; 20556; 0.58; 0.07; 20.38; 4.13 -20080812; 19869; 0.56; 0.17; 17.54; 4.11 -20080813; 19012; 0.54; 0.10; 15.72; 4.09 -20080814; 19097; 0.54; 0.40; 16.95; 4.07 -20080815; 19040; 0.54; 0.62; 17.73; 4.04 -20080816; 18523; 0.52; 0.01; 18.05; 4.02 -20080817; 17577; 0.50; 0.26; 14.60; 4.00 -20080818; 16805; 0.47; 1.44; 10.17; 3.97 -20080819; 16518; 0.47; 0.08; 11.43; 3.95 -20080820; 16118; 0.46; 0.00; 11.74; 3.92 -20080821; 15831; 0.45; 0.00; 11.45; 3.90 -20080822; 15289; 0.43; 0.10; 13.37; 3.87 -20080823; 14829; 0.42; 0.52; 16.68; 3.84 -20080824; 14287; 0.40; 0.02; 18.01; 3.81 -20080825; 13827; 0.39; 0.02; 18.36; 3.79 -20080826; 13426; 0.38; 0.03; 17.83; 3.76 -20080827; 13398; 0.38; 14.97; 16.45; 3.73 -20080828; 15346; 0.43; 1.50; 13.64; 3.70 -20080829; 17521; 0.49; 0.47; 15.08; 3.67 -20080830; 16518; 0.47; 0.30; 17.49; 3.64 -20080831; 14457; 0.41; 0.15; 12.93; 3.61 -20080901; 13511; 0.38; 0.00; 10.12; 3.57 -20080902; 13083; 0.37; 0.00; 10.14; 3.54 -20080903; 12824; 0.36; 0.40; 13.36; 3.51 -20080904; 13026; 0.37; 1.18; 10.91; 3.48 -20080905; 15860; 0.45; 12.86; 5.78; 3.44 -20080906; 17149; 0.48; 1.75; 7.07; 3.41 -20080907; 15976; 0.45; 0.09; 10.18; 3.38 -20080908; 14199; 0.40; 0.29; 11.07; 3.34 -20080909; 13140; 0.37; 0.33; 13.19; 3.31 -20080910; 12654; 0.36; 0.16; 16.01; 3.27 -20080911; 12311; 0.35; 0.37; 17.16; 3.23 -20080912; 12081; 0.34; 1.84; 17.14; 3.20 -20080913; 11967; 0.34; 1.83; 14.82; 3.16 -20080914; 12970; 0.37; 4.62; 9.00; 3.13 -20080915; 15374; 0.43; 10.11; 6.29; 3.09 -20080916; 18236; 0.51; 3.57; 4.45; 3.05 -20080917; 17751; 0.50; 2.68; 4.48; 3.02 -20080918; 16664; 0.47; 4.60; 4.05; 2.98 -20080919; 18151; 0.51; 8.06; 3.79; 2.94 -20080920; 22043; 0.62; 1.90; 4.86; 2.90 -20080921; 19497; 0.55; 0.38; 5.02; 2.86 -20080922; 17836; 0.50; 3.94; 1.79; 2.82 -20080923; 17864; 0.50; 0.92; 2.58; 2.79 -20080924; 16320; 0.46; 0.00; 2.97; 2.75 -20080925; 15318; 0.43; 0.00; 3.25; 2.71 -20080926; 14542; 0.41; 0.39; 4.15; 2.67 -20080927; 13944; 0.39; 0.65; 7.32; 2.63 -20080928; 13600; 0.38; 0.23; 11.32; 2.59 -20080929; 13200; 0.37; 0.07; 11.92; 2.55 -20080930; 12824; 0.36; 0.00; 11.49; 2.51 -20081001; 12452; 0.35; 0.00; 8.64; 2.47 -20081002; 12109; 0.34; 0.00; 9.20; 2.43 -20081003; 11911; 0.34; 0.00; 10.71; 2.39 -20081004; 11765; 0.33; 0.27; 11.81; 2.35 -20081005; 11709; 0.33; 0.95; 9.00; 2.31 -20081006; 11709; 0.33; 0.00; 8.16; 2.26 -20081007; 11482; 0.32; 0.03; 9.64; 2.22 -20081008; 11280; 0.32; 0.02; 11.00; 2.18 -20081009; 11139; 0.31; 0.00; 12.43; 2.14 -20081010; 10908; 0.31; 0.00; 11.74; 2.10 -20081011; 10795; 0.30; 0.00; 9.60; 2.06 -20081012; 10678; 0.30; 0.18; 8.29; 2.02 -20081013; 11337; 0.32; 11.71; 6.36; 1.98 -20081014; 17234; 0.49; 6.11; 3.39; 1.94 -20081015; 18636; 0.53; 12.53; 1.85; 1.90 -20081016; 18293; 0.52; 3.88; -2.18; 1.86 -20081017; 15948; 0.45; 1.72; -2.74; 1.82 -20081018; 15516; 0.44; 12.94; 0.56; 1.77 -20081019; 19355; 0.55; 7.16; -1.97; 1.74 -20081020; 17521; 0.49; 1.17; -4.58; 1.69 -20081021; 14857; 0.42; 2.38; -4.51; 1.65 -20081022; 14946; 0.42; 15.49; -0.83; 1.61 -20081023; 18009; 0.51; 2.41; -0.24; 1.57 -20081024; 22560; 0.64; 16.30; 0.79; 1.53 -20081025; 25135; 0.71; 8.26; -1.33; 1.50 -20081026; 19667; 0.56; 0.51; -1.93; 1.46 -20081027; 16947; 0.48; 0.27; -1.78; 1.42 -20081028; 15544; 0.44; 1.67; 1.59; 1.38 -20081029; 17092; 0.48; 3.95; 0.22; 1.34 -20081030; 19323; 0.55; 0.92; -2.12; 1.30 -20081031; 17864; 0.50; 0.23; -2.93; 1.26 -20081101; 14918; 0.42; 0.10; -1.58; 1.22 -20081102; 14057; 0.40; 0.51; 1.01; 1.18 -20081103; 14000; 0.40; 0.25; 0.46; 1.15 -20081104; 14974; 0.42; 4.49; -2.60; 1.11 -20081105; 15948; 0.45; 2.57; -3.91; 1.07 -20081106; 14974; 0.42; 15.01; -3.68; 1.03 -20081107; 15573; 0.44; 4.68; -2.73; 1.00 -20081108; 15144; 0.43; 2.50; 0.72; 0.96 -20081109; 15860; 0.45; 0.33; 2.12; 0.93 -20081110; 15544; 0.44; 0.00; 2.91; 0.89 -20081111; 15031; 0.42; 0.18; 2.54; 0.86 -20081112; 15261; 0.43; 0.17; 2.25; 0.82 -20081113; 16061; 0.45; 3.96; -0.25; 0.79 -20081114; 18636; 0.53; 5.23; -1.96; 0.75 -20081115; 18523; 0.52; 4.12; -3.67; 0.72 -20081116; 16890; 0.48; 1.93; -4.84; 0.69 -20081117; 15718; 0.44; 7.59; -3.57; 0.65 -20081118; 16720; 0.47; 40.36; -2.81; 0.62 -20081119; 19355; 0.55; 39.07; -0.94; 0.59 -20081120; 30062; 0.85; 1.58; -5.42; 0.56 -20081121; 28914; 0.82; 3.67; -5.01; 0.53 -20081122; 29201; 0.82; 4.67; -3.55; 0.49 -20081123; 29201; 0.82; 0.26; -6.20; 0.46 -20081124; 24420; 0.69; 12.06; -5.11; 0.43 -20081125; 23704; 0.67; 6.73; -3.78; 0.41 -20081126; 24221; 0.68; 0.72; -4.39; 0.38 -20081127; 22302; 0.63; 14.29; -3.91; 0.35 -20081128; 30062; 0.85; 18.91; -2.46; 0.32 -20081129; 29201; 0.82; 1.56; -5.06; 0.29 -20081130; 24420; 0.69; 4.79; -5.00; 0.27 -20081201; 23906; 0.68; 22.91; -3.61; 0.24 -20081202; 22702; 0.64; 5.99; -5.54; 0.21 -20081203; 21473; 0.61; 6.40; -6.56; 0.19 -20081204; 19812; 0.56; 12.47; -8.59; 0.17 -20081205; 19125; 0.54; 13.82; -4.79; 0.14 -20081206; 20156; 0.57; 9.87; -3.90; 0.12 -20081207; 19925; 0.56; 9.81; -4.41; 0.10 -20081208; 21615; 0.61; 21.57; -0.86; 0.07 -20081209; 32350; 0.91; 20.10; -0.75; 0.05 -20081210; 35215; 0.99; 10.91; -0.85; 0.03 -20081211; 39224; 1.11; 5.08; -2.91; 0.01 -20081212; 35502; 1.00; 6.76; -4.01; 0.00 -20081213; 31492; 0.89; 12.63; -4.82; 0.00 -20081214; 28631; 0.81; 2.62; -5.65; 0.00 -20081215; 26570; 0.75; 4.51; -6.66; 0.00 -20081216; 25737; 0.73; 1.95; -8.66; 0.00 -20081217; 22932; 0.65; 0.29;-12.59; 0.00 -20081218; 17892; 0.51; 1.22;-11.29; 0.00 -20081219; 19582; 0.55; 2.40; -8.15; 0.00 -20081220; 23046; 0.65; 17.29; -5.16; 0.00 -20081221; 23991; 0.68; 2.29; -5.94; 0.00 -20081222; 22245; 0.63; 0.78; -7.37; 0.00 -20081223; 21013; 0.59; 12.60; -7.57; 0.00 -20081224; 20556; 0.58; 26.90; -6.38; 0.00 -20081225; 18608; 0.53; 19.02; -8.93; 0.00 -20081226; 17177; 0.48; 29.07;-10.15; 0.00 -20081227; 17177; 0.48; 19.15; -5.86; 0.00 -20081228; 18608; 0.53; 10.24; -7.33; 0.00 -20081229; 20042; 0.57; 26.50; -3.28; 0.00 -20081230; 29488; 0.83; 19.86; 0.32; 0.00 -20081231; 57258; 1.62; 27.97; 1.54; 0.00 -20090101; 114516; 3.23; 23.12; 1.98; 0.00 -20090102; 128261; 3.62; 11.97; 0.26; 0.00 -20090103; 115664; 3.27; 12.19; -2.61; 0.00 -20090104; 93904; 2.65; 1.92; -5.74; 0.00 -20090105; 77014; 2.17; 0.54; -7.95; 0.00 -20090106; 66134; 1.87; 6.50; -8.22; 0.00 -20090107; 60980; 1.72; 13.90; -4.16; 0.00 -20090108; 55827; 1.58; 3.51; -1.86; 0.00 -20090109; 51818; 1.46; 8.31; -1.36; 0.00 -20090110; 52392; 1.48; 8.76; -1.12; 0.00 -20090111; 53249; 1.50; 2.87; -8.66; 0.00 -20090112; 42086; 1.19; 0.53;-15.53; 0.00 -20090113; 31492; 0.89; 0.39;-14.25; 0.00 -20090114; 34354; 0.97; 0.09;-10.98; 0.00 -20090115; 34354; 0.97; 0.65;-10.45; 0.00 -20090116; 34354; 0.97; 1.85;-10.18; 0.00 -20090117; 37219; 1.05; 12.20; -6.40; 0.00 -20090118; 51531; 1.46; 10.04; -0.98; 0.00 -20090119; 54396; 1.54; 1.76; 0.16; 0.00 -20090120; 46952; 1.33; 3.01; -1.61; 0.00 -20090121; 44377; 1.25; 3.77; -3.04; 0.00 -20090122; 42659; 1.20; 6.33; -4.37; 0.00 -20090123; 40655; 1.15; 9.60; -5.70; 0.00 -20090124; 39507; 1.12; 9.15; -6.40; 0.00 -20090125; 37506; 1.06; 5.10; -8.57; 0.00 -20090126; 36359; 1.03; 1.05;-10.15; 0.00 -20090127; 32923; 0.93; 3.41;-10.03; 0.00 -20090128; 32923; 0.93; 7.20; -5.12; 0.00 -20090129; 35785; 1.01; 3.90; -2.25; 0.00 -20090130; 37219; 1.05; 20.89; 0.23; 0.00 -20090131; 59836; 1.69; 22.33; -0.05; 0.00 -20090201; 75009; 2.12; 12.20; -1.66; 0.00 -20090202; 74435; 2.10; 3.55; -3.56; 0.00 -20090203; 64703; 1.83; 1.46; -5.16; 0.00 -20090204; 56114; 1.58; 0.02; -8.20; 0.00 -20090205; 46665; 1.32; 0.23; -9.06; 0.00 -20090206; 42943; 1.21; 0.07; -8.95; 0.00 -20090207; 40368; 1.14; 0.16; -8.69; 0.00 -20090208; 37219; 1.05; 0.09; -8.29; 0.00 -20090209; 37219; 1.05; 0.00; -6.46; 0.01 -20090210; 37219; 1.05; 0.84; -6.83; 0.03 -20090211; 38076; 1.08; 10.31; -3.72; 0.05 -20090212; 40368; 1.14; 10.10; -3.44; 0.07 -20090213; 37790; 1.07; 5.03; -3.26; 0.10 -20090214; 39794; 1.12; 18.70; -1.51; 0.12 -20090215; 56971; 1.61; 6.15; 1.19; 0.14 -20090216; 57832; 1.63; 3.00; 1.46; 0.17 -20090217; 58406; 1.65; 5.56; -0.23; 0.19 -20090218; 61267; 1.73; 5.43; -0.96; 0.22 -20090219; 65847; 1.86; 19.41; -1.98; 0.24 -20090220; 66707; 1.88; 5.81; -3.53; 0.27 -20090221; 59836; 1.69; 1.08; -3.95; 0.29 -20090222; 54110; 1.53; 1.29; -3.86; 0.32 -20090223; 49530; 1.40; 0.57; -4.28; 0.35 -20090224; 45234; 1.28; 2.14; -3.56; 0.38 -20090225; 43516; 1.23; 2.53; -4.11; 0.41 -20090226; 42943; 1.21; 11.08; -3.02; 0.44 -20090227; 43516; 1.23; 1.51; -5.00; 0.47 -20090228; 40368; 1.14; 0.96; -6.12; 0.50 -20090301; 38650; 1.09; 13.74; -4.75; 0.53 -20090302; 40081; 1.13; 14.58; -2.85; 0.56 -20090303; 38650; 1.09; 4.61; -4.47; 0.59 -20090304; 36646; 1.03; 4.13; -5.92; 0.62 -20090305; 34928; 0.99; 4.29; -3.04; 0.66 -20090306; 34354; 0.97; 3.56; -2.23; 0.69 -20090307; 36359; 1.03; 12.14; -1.50; 0.72 -20090308; 38076; 1.08; 2.58; -4.00; 0.75 -20090309; 37219; 1.05; 23.04; -3.59; 0.79 -20090310; 52105; 1.47; 27.32; -2.01; 0.82 -20090311; 55254; 1.56; 9.93; -0.22; 0.86 -20090312; 54396; 1.54; 6.87; -3.35; 0.89 -20090313; 49814; 1.41; 7.05; -6.68; 0.93 -20090314; 45234; 1.28; 4.14; -7.65; 0.96 -20090315; 41799; 1.18; 12.39; -7.32; 1.00 -20090316; 40655; 1.15; 6.03; 0.02; 1.04 -20090317; 51248; 1.45; 6.66; 0.50; 1.07 -20090318; 55540; 1.57; 2.07; 3.27; 1.11 -20090319; 68138; 1.92; 2.27; 5.95; 1.15 -20090320; 111941; 3.16; 6.89; 2.38; 1.19 -20090321; 136850; 3.86; 1.15; 1.25; 1.23 -20090322; 128261; 3.62; 0.83; 1.92; 1.26 -20090323; 118812; 3.35; 2.31; -0.02; 1.30 -20090324; 110798; 3.13; 0.46; -0.83; 1.34 -20090325; 107932; 3.05; 1.72; 3.84; 1.38 -20090326; 123105; 3.48; 12.36; 5.17; 1.42 -20090327; 165477; 4.67; 6.53; -0.54; 1.46 -20090328; 151162; 4.27; 7.50; -2.11; 1.50 -20090329; 130549; 3.69; 2.73; -0.52; 1.54 -20090330; 117952; 3.33; 3.16; 2.36; 1.58 -20090331; 116521; 3.29; 4.94; -0.92; 1.62 -20090401; 107645; 3.04; 2.07; -3.19; 1.66 -20090402; 97339; 2.75; 2.62; -1.53; 1.70 -20090403; 93047; 2.63; 4.65; -1.59; 1.74 -20090404; 88177; 2.49; 1.87; -4.61; 1.78 -20090405; 80736; 2.28; 0.74; -4.31; 1.82 -20090406; 76153; 2.15; 2.18; -3.09; 1.86 -20090407; 74722; 2.11; 0.48; -0.35; 1.90 -20090408; 75296; 2.13; 3.22; -0.65; 1.94 -20090409; 75583; 2.13; 1.14; -0.67; 1.98 -20090410; 77300; 2.18; 1.23; -4.81; 2.02 -20090411; 72717; 2.05; 1.53; -5.04; 2.06 -20090412; 73004; 2.06; 2.01; -1.79; 2.10 -20090413; 77300; 2.18; 5.56; 0.62; 2.14 -20090414; 85028; 2.40; 9.66; 0.52; 2.18 -20090415; 92473; 2.61; 4.76; 3.91; 2.23 -20090416; 113946; 3.22; 3.07; 6.85; 2.27 -20090417; 146869; 4.15; 2.55; 4.99; 2.31 -20090418; 169773; 4.79; 8.75; 2.77; 2.35 -20090419; 202697; 5.72; 11.94; 4.58; 2.39 -20090420; 289156; 8.16; 17.73; 3.13; 2.43 -20090421; 314925; 8.89; 0.66; 2.74; 2.47 -20090422; 269687; 7.61; 1.28; 3.49; 2.51 -20090423; 251940; 7.11; 30.13; 1.22; 2.55 -20090424; 243065; 6.86; 4.90; 2.04; 2.59 -20090425; 226745; 6.40; 2.89; 4.54; 2.63 -20090426; 233329; 6.59; 3.66; 7.24; 2.67 -20090427; 292021; 8.25; 10.96; 4.38; 2.71 -20090428; 309198; 8.73; 3.57; 2.49; 2.75 -20090429; 281715; 7.95; 10.30; 3.00; 2.79 -20090430; 265395; 7.49; 9.66; 1.82; 2.83 -20090501; 244782; 6.91; 4.29; 0.48; 2.87 -20090502; 219300; 6.19; 1.87; 1.78; 2.90 -20090503; 213860; 6.04; 1.11; 6.09; 2.94 -20090504; 238482; 6.73; 3.71; 4.78; 2.98 -20090505; 254802; 7.19; 0.92; 6.62; 3.02 -20090506; 297744; 8.41; 11.14; 4.24; 3.06 -20090507; 314925; 8.89; 2.73; 3.82; 3.09 -20090508; 306333; 8.65; 1.47; 6.00; 3.13 -20090509; 326375; 9.22; 0.20; 10.07; 3.16 -20090510; 389360; 10.99; 0.10; 10.46; 3.20 -20090511; 469522; 13.26; 0.06; 10.44; 3.24 -20090512; 526780; 14.87; 0.04; 11.02; 3.27 -20090513; 601219; 16.98; 0.00; 12.36; 3.31 -20090514; 678516; 19.16; 0.02; 12.52; 3.34 -20090515; 721462; 20.37; 0.10; 13.47; 3.38 -20090516; 798759; 22.55; 0.68; 13.30; 3.41 -20090517; 835979; 23.60; 0.27; 9.82; 3.44 -20090518; 781582; 22.07; 0.03; 6.98; 3.48 -20090519; 644162; 18.19; 0.00; 8.72; 3.51 -20090520; 601219; 16.98; 0.14; 9.76; 3.54 -20090521; 595492; 16.81; 0.07; 7.93; 3.58 -20090522; 552546; 15.60; 0.83; 8.87; 3.61 -20090523; 526780; 14.87; 1.99; 9.89; 3.64 -20090524; 552546; 15.60; 21.28; 4.07; 3.67 -20090525; 532507; 15.04; 12.59; 3.98; 3.70 -20090526; 483838; 13.66; 4.19; 6.93; 3.73 -20090527; 469522; 13.26; 0.44; 8.71; 3.76 -20090528; 486699; 13.74; 2.79; 10.24; 3.79 -20090529; 515330; 14.55; 4.48; 10.41; 3.81 -20090530; 549684; 15.52; 0.75; 11.85; 3.84 -20090531; 615531; 17.38; 4.76; 12.49; 3.87 -20090601; 698558; 19.72; 1.17; 10.07; 3.90 -20090602; 615531; 17.38; 0.53; 10.43; 3.92 -20090603; 561138; 15.84; 1.53; 11.20; 3.95 -20090604; 549684; 15.52; 8.89; 9.50; 3.97 -20090605; 584039; 16.49; 7.45; 8.28; 4.00 -20090606; 521054; 14.71; 1.44; 7.67; 4.02 -20090607; 452345; 12.77; 1.49; 10.52; 4.04 -20090608; 452345; 12.77; 0.13; 11.28; 4.07 -20090609; 452345; 12.77; 0.12; 12.23; 4.09 -20090610; 466661; 13.18; 2.82; 12.92; 4.11 -20090611; 512465; 14.47; 12.13; 9.79; 4.13 -20090612; 472384; 13.34; 9.05; 9.82; 4.15 -20090613; 446618; 12.61; 2.53; 10.59; 4.17 -20090614; 432303; 12.21; 2.10; 12.84; 4.19 -20090615; 446618; 12.61; 0.33; 14.28; 4.21 -20090616; 432303; 12.21; 0.33; 12.08; 4.23 -20090617; 389360; 10.99; 7.13; 13.48; 4.25 -20090618; 403676; 11.40; 0.22; 11.18; 4.26 -20090619; 352141; 9.94; 0.43; 9.24; 4.28 -20090620; 300610; 8.49; 0.16; 8.38; 4.29 -20090621; 264534; 7.47; 1.35; 9.45; 4.31 -20090622; 249935; 7.06; 0.28; 8.24; 4.32 -20090623; 230754; 6.52; 3.38; 5.89; 4.34 -20090624; 214147; 6.05; 2.45; 7.66; 4.35 -20090625; 200405; 5.66; 1.09; 10.90; 4.36 -20090626; 200405; 5.66; 0.60; 12.42; 4.37 -20090627; 200405; 5.66; 0.11; 11.89; 4.38 -20090628; 200405; 5.66; 2.19; 13.23; 4.39 -20090629; 200405; 5.66; 6.88; 10.52; 4.40 -20090630; 200405; 5.66; 20.48; 8.71; 4.41 -20090701; 271122; 7.66; 17.24; 7.03; 4.42 -20090702; 222735; 6.29; 2.88; 8.55; 4.43 -20090703; 186950; 5.28; 1.01; 11.13; 4.43 -20090704; 172635; 4.87; 0.43; 14.43; 4.44 -20090705; 167195; 4.72; 0.54; 16.75; 4.45 -20090706; 164620; 4.65; 0.10; 14.27; 4.45 -20090707; 153453; 4.33; 0.12; 13.24; 4.45 -20090708; 141142; 3.99; 0.01; 15.16; 4.46 -20090709; 146009; 4.12; 24.92; 12.45; 4.46 -20090710; 182371; 5.15; 3.23; 7.77; 4.46 -20090711; 147156; 4.16; 0.26; 8.25; 4.46 -20090712; 124539; 3.52; 0.50; 9.59; 4.46 -20090713; 112515; 3.18; 0.39; 12.93; 4.46 -20090714; 104497; 2.95; 0.05; 16.49; 4.46 -20090715; 99918; 2.82; 0.00; 16.79; 4.46 -20090716; 94478; 2.67; 0.10; 16.76; 4.46 -20090717; 90468; 2.55; 11.12; 14.72; 4.45 -20090718; 103640; 2.93; 9.11; 13.64; 4.45 -20090719; 122821; 3.47; 11.64; 13.28; 4.44 -20090720; 116234; 3.28; 0.65; 14.56; 4.44 -20090721; 94764; 2.68; 2.53; 18.03; 4.43 -20090722; 85602; 2.42; 0.08; 16.93; 4.43 -20090723; 79875; 2.26; 0.07; 15.54; 4.42 -20090724; 73004; 2.06; 0.02; 14.99; 4.41 -20090725; 67277; 1.90; 0.03; 14.02; 4.40 -20090726; 62698; 1.77; 0.09; 13.63; 4.39 -20090727; 58689; 1.66; 0.76; 15.57; 4.38 -20090728; 56971; 1.61; 0.39; 17.24; 4.37 -20090729; 54110; 1.53; 0.79; 16.55; 4.36 -20090730; 52392; 1.48; 0.49; 16.43; 4.35 -20090731; 49530; 1.40; 9.18; 16.49; 4.34 -20090801; 53249; 1.50; 1.50; 16.29; 4.32 -20090802; 48956; 1.38; 0.59; 17.03; 4.31 -20090803; 44090; 1.24; 0.04; 19.69; 4.29 -20090804; 41225; 1.16; 0.73; 19.33; 4.28 -20090805; 40942; 1.16; 0.88; 17.29; 4.26 -20090806; 39507; 1.12; 0.06; 18.64; 4.25 -20090807; 37219; 1.05; 0.52; 18.75; 4.23 -20090808; 35215; 0.99; 0.22; 13.50; 4.21 -20090809; 33210; 0.94; 0.08; 11.05; 4.19 -20090810; 32066; 0.91; 0.46; 12.85; 4.17 -20090811; 30919; 0.87; 1.23; 15.00; 4.15 -20090812; 30349; 0.86; 0.59; 15.53; 4.13 -20090813; 29488; 0.83; 1.68; 14.43; 4.11 -20090814; 28914; 0.82; 0.08; 17.58; 4.09 -20090815; 27770; 0.78; 1.19; 15.09; 4.07 -20090816; 26711; 0.75; 0.58; 11.95; 4.04 -20090817; 25939; 0.73; 0.50; 13.77; 4.02 -20090818; 25224; 0.71; 0.67; 14.78; 4.00 -20090819; 24335; 0.69; 0.02; 15.85; 3.97 -20090820; 23446; 0.66; 2.67; 17.16; 3.95 -20090821; 23619; 0.67; 0.00; 16.67; 3.92 -20090822; 23563; 0.67; 0.02; 17.73; 3.90 -20090823; 21958; 0.62; 0.05; 17.68; 3.87 -20090824; 26424; 0.75; 20.65; 12.62; 3.84 -20090825; 30349; 0.86; 0.97; 13.70; 3.81 -20090826; 25422; 0.72; 0.17; 17.02; 3.79 -20090827; 22387; 0.63; 0.14; 14.16; 3.76 -20090828; 21158; 0.60; 0.00; 13.14; 3.73 -20090829; 20471; 0.58; 0.07; 11.96; 3.70 -20090830; 19755; 0.56; 0.09; 14.50; 3.67 -20090831; 19267; 0.54; 0.00; 14.92; 3.64 -20090901; 18951; 0.54; 0.31; 17.47; 3.61 -20090902; 18293; 0.52; 3.83; 16.96; 3.57 -20090903; 19982; 0.56; 7.02; 12.94; 3.54 -20090904; 21958; 0.62; 0.87; 13.35; 3.51 -20090905; 20042; 0.57; 1.66; 14.93; 3.48 -20090906; 18696; 0.53; 0.45; 12.75; 3.44 -20090907; 18179; 0.51; 0.10; 13.72; 3.41 -20090908; 17436; 0.49; 0.05; 14.22; 3.38 -20090909; 16805; 0.47; 0.00; 15.54; 3.34 -20090910; 16348; 0.46; 0.96; 13.73; 3.31 -20090911; 18009; 0.51; 9.37; 10.88; 3.27 -20090912; 22532; 0.64; 2.57; 8.74; 3.23 -20090913; 21271; 0.60; 0.53; 10.09; 3.20 -20090914; 18951; 0.54; 1.05; 13.14; 3.16 -20090915; 21845; 0.62; 23.70; 7.10; 3.13 -20090916; 37790; 1.07; 11.29; 5.78; 3.09 -20090917; 37219; 1.05; 7.32; 6.81; 3.05 -20090918; 32923; 0.93; 0.44; 5.40; 3.02 -20090919; 28057; 0.79; 0.30; 6.40; 2.98 -20090920; 24363; 0.69; 0.33; 8.17; 2.94 -20090921; 22043; 0.62; 0.53; 9.72; 2.90 -20090922; 20471; 0.58; 0.12; 11.07; 2.86 -20090923; 19355; 0.55; 0.02; 12.82; 2.82 -20090924; 18551; 0.52; 0.07; 13.09; 2.79 -20090925; 17836; 0.50; 0.12; 13.57; 2.75 -20090926; 18151; 0.51; 11.78; 10.44; 2.71 -20090927; 23563; 0.67; 3.59; 5.40; 2.67 -20090928; 26283; 0.74; 0.55; 7.35; 2.63 -20090929; 23074; 0.65; 0.40; 10.81; 2.59 -20090930; 20843; 0.59; 0.00; 12.37; 2.55 -20091001; 19554; 0.55; 0.12; 12.84; 2.51 -20091002; 18636; 0.53; 3.69; 8.40; 2.47 -20091003; 18495; 0.52; 9.07; 5.31; 2.43 -20091004; 20612; 0.58; 10.92; 5.56; 2.39 -20091005; 31206; 0.88; 10.65; 3.19; 2.35 -20091006; 36359; 1.03; 0.96; 2.50; 2.31 -20091007; 30919; 0.87; 5.30; 0.92; 2.26 -20091008; 28514; 0.81; 1.14; 1.48; 2.22 -20091009; 27055; 0.76; 6.40; 2.87; 2.18 -20091010; 28372; 0.80; 1.23; 1.70; 2.14 -20091011; 27111; 0.77; 7.76; 0.38; 2.10 -20091012; 27370; 0.77; 1.09; -1.09; 2.06 -20091013; 26626; 0.75; 2.71; 2.49; 2.02 -20091014; 27055; 0.76; 0.43; 5.87; 1.98 -20091015; 26453; 0.75; 0.29; 6.99; 1.94 -20091016; 25911; 0.73; 0.00; 8.91; 1.90 -20091017; 25107; 0.71; 0.07; 7.91; 1.86 -20091018; 24508; 0.69; 0.31; 5.66; 1.82 -20091019; 23991; 0.68; 0.00; 5.14; 1.77 -20091020; 23248; 0.66; 0.02; 3.93; 1.74 -20091021; 22415; 0.63; 0.00; 4.14; 1.69 -20091022; 21788; 0.62; 0.02; 2.96; 1.65 -20091023; 21300; 0.60; 4.30; 0.91; 1.61 -20091024; 21041; 0.59; 0.18; -0.78; 1.57 -20091025; 20612; 0.58; 0.03; -1.44; 1.53 -20091026; 19784; 0.56; 0.31; 2.56; 1.50 -20091027; 20184; 0.57; 1.22; 0.76; 1.46 -20091028; 20354; 0.57; 1.06; 0.78; 1.42 -20091029; 25195; 0.71; 20.52; 1.82; 1.38 -20091030; 50387; 1.42; 47.85; 2.78; 1.34 -20091031; 115664; 3.27; 11.92; 2.17; 1.30 -20091101; 81023; 2.29; 6.75; 0.56; 1.26 -20091102; 64416; 1.82; 0.35; 0.09; 1.22 -20091103; 54970; 1.55; 1.37; 1.74; 1.18 -20091104; 50674; 1.43; 2.23; 3.31; 1.15 -20091105; 50100; 1.41; 0.29; 3.74; 1.11 -20091106; 46095; 1.30; 0.38; 4.46; 1.07 -20091107; 44090; 1.24; 4.20; 2.86; 1.03 -20091108; 48956; 1.38; 2.66; 0.27; 1.00 -20091109; 46095; 1.30; 0.08; -0.88; 0.96 -20091110; 42372; 1.20; 0.30; -1.81; 0.93 -20091111; 38937; 1.10; 0.31; -3.24; 0.89 -20091112; 34354; 0.97; 0.25; -3.56; 0.86 -20091113; 33497; 0.95; 0.09; -3.22; 0.82 -20091114; 28631; 0.81; 0.25; -4.88; 0.79 -20091115; 27196; 0.77; 0.49; -5.01; 0.75 -20091116; 25766; 0.73; 0.70; -4.01; 0.72 -20091117; 30919; 0.87; 13.80; -3.39; 0.69 -20091118; 35785; 1.01; 3.89; -2.13; 0.65 -20091119; 35215; 0.99; 15.06; -2.30; 0.62 -20091120; 40942; 1.16; 23.43; -1.53; 0.59 -20091121; 47526; 1.34; 4.77; -1.83; 0.56 -20091122; 41225; 1.16; 0.28; -3.50; 0.53 -20091123; 36359; 1.03; 3.92; -2.72; 0.49 -20091124; 43803; 1.24; 21.27; -0.81; 0.46 -20091125; 50100; 1.41; 6.57; -3.04; 0.43 -20091126; 44090; 1.24; 4.29; -4.52; 0.41 -20091127; 39224; 1.11; 0.02; -2.80; 0.38 -20091128; 37506; 1.06; 0.17; -0.93; 0.35 -20091129; 34928; 0.99; 0.02; -1.85; 0.32 -20091130; 33784; 0.95; 4.14; -2.60; 0.29 -20091201; 32923; 0.93; 0.18; -3.72; 0.27 -20091202; 30919; 0.87; 0.06; -5.36; 0.24 -20091203; 25567; 0.72; 0.15; -6.12; 0.21 -20091204; 22532; 0.64; 0.00; -5.72; 0.19 -20091205; 23676; 0.67; 0.03; -6.51; 0.17 -20091206; 23789; 0.67; 0.08; -5.75; 0.14 -20091207; 24363; 0.69; 0.74; -4.92; 0.12 -20091208; 26024; 0.73; 10.55; -5.74; 0.10 -20091209; 27944; 0.79; 0.79; -6.54; 0.07 -20091210; 27111; 0.77; 0.53; -7.35; 0.05 -20091211; 26194; 0.74; 0.26; -6.03; 0.03 -20091212; 23821; 0.67; 0.41; -6.48; 0.01 -20091213; 21416; 0.60; 0.20; -5.26; 0.00 -20091214; 21987; 0.62; 2.36; -3.18; 0.00 -20091215; 25309; 0.71; 4.80; -3.41; 0.00 -20091216; 28142; 0.79; 21.31; -1.30; 0.00 -20091217; 34928; 0.99; 11.80; -1.29; 0.00 -20091218; 32923; 0.93; 3.48; -5.04; 0.00 -20091219; 29201; 0.82; 0.25; -7.42; 0.00 -20091220; 26254; 0.74; 5.94; -6.23; 0.00 -20091221; 26137; 0.74; 3.03; -6.20; 0.00 -20091222; 24994; 0.71; 0.06; -9.40; 0.00 -20091223; 22702; 0.64; 2.17; -9.39; 0.00 -20091224; 23850; 0.67; 0.42; -8.06; 0.00 -20091225; 24165; 0.68; 0.08; -8.99; 0.00 -20091226; 22876; 0.65; 1.54; -8.37; 0.00 -20091227; 22160; 0.63; 6.46; -6.34; 0.00 -20091228; 22759; 0.64; 12.20; -3.34; 0.00 -20091229; 26339; 0.74; 2.34; -0.75; 0.00 -20091230; 28486; 0.80; 0.10; -1.31; 0.00 -20091231; 26796; 0.76; 0.00; -2.42; 0.00 -20100101; 24363; 0.69; 7.32; -0.58; 0.00 -20100102; 26368; 0.74; 9.34; -3.03; 0.00 -20100103; 26683; 0.75; 9.32; -3.66; 0.00 -20100104; 25422; 0.72; 4.36; -4.41; 0.00 -20100105; 24994; 0.71; 2.77; -4.71; 0.00 -20100106; 24707; 0.70; 0.66; -4.43; 0.00 -20100107; 24250; 0.68; 10.95; -4.58; 0.00 -20100108; 23850; 0.67; 12.96; -7.84; 0.00 -20100109; 21186; 0.60; 0.40;-11.98; 0.00 -20100110; 18608; 0.53; 1.86;-12.21; 0.00 -20100111; 20042; 0.57; 3.77;-14.40; 0.00 -20100112; 18608; 0.53; 7.54;-11.17; 0.00 -20100113; 20042; 0.57; 10.57; -5.84; 0.00 -20100114; 22904; 0.65; 10.84; -3.57; 0.00 -20100115; 25252; 0.71; 3.41; -2.90; 0.00 -20100116; 24048; 0.68; 2.31; -4.38; 0.00 -20100117; 24852; 0.70; 20.35; -1.93; 0.00 -20100118; 26194; 0.74; 2.05; -1.18; 0.00 -20100119; 27855; 0.79; 13.17; -1.64; 0.00 -20100120; 30062; 0.85; 5.17; -2.49; 0.00 -20100121; 28631; 0.81; 2.29; -3.10; 0.00 -20100122; 27944; 0.79; 4.08; -3.66; 0.00 -20100123; 26853; 0.76; 3.61; -3.13; 0.00 -20100124; 27572; 0.78; 9.37; -0.69; 0.00 -20100125; 29488; 0.83; 1.51; 0.00; 0.00 -20100126; 29488; 0.83; 2.98; 0.83; 0.00 -20100127; 33784; 0.95; 10.90; -0.53; 0.00 -20100128; 39507; 1.12; 0.52; -1.09; 0.00 -20100129; 37506; 1.06; 1.74; -1.31; 0.00 -20100130; 35785; 1.01; 1.62; -1.69; 0.00 -20100131; 34641; 0.98; 0.25; -2.44; 0.00 -20100201; 32350; 0.91; 0.04; -4.05; 0.00 -20100202; 30349; 0.86; 1.11; -2.96; 0.00 -20100203; 30632; 0.86; 0.43; -1.06; 0.00 -20100204; 31206; 0.88; 0.59; 1.13; 0.00 -20100205; 32636; 0.92; 0.88; -0.03; 0.00 -20100206; 32636; 0.92; 0.55; -1.61; 0.00 -20100207; 32923; 0.93; 1.66; -0.07; 0.00 -20100208; 34354; 0.97; 6.32; -0.31; 0.00 -20100209; 36072; 1.02; 1.79; -3.34; 0.01 -20100210; 34641; 0.98; 1.00; -5.06; 0.03 -20100211; 33784; 0.95; 3.37; -3.38; 0.05 -20100212; 32923; 0.93; 1.68; -3.40; 0.07 -20100213; 33210; 0.94; 5.87; -2.88; 0.10 -20100214; 32350; 0.91; 1.26; -4.22; 0.12 -20100215; 31206; 0.88; 2.96; -2.36; 0.14 -20100216; 31206; 0.88; 0.19; -1.76; 0.17 -20100217; 29775; 0.84; 0.76; -3.03; 0.19 -20100218; 28631; 0.81; 0.39; -1.42; 0.22 -20100219; 28542; 0.81; 0.64; -1.79; 0.24 -20100220; 27572; 0.78; 0.71; 0.16; 0.27 -20100221; 28914; 0.82; 9.38; -0.26; 0.29 -20100222; 30919; 0.87; 10.07; -2.33; 0.32 -20100223; 29488; 0.83; 1.05; -2.59; 0.35 -20100224; 28914; 0.82; 3.74; -4.36; 0.38 -20100225; 28287; 0.80; 4.21; -5.02; 0.41 -20100226; 28344; 0.80; 4.09; -4.95; 0.44 -20100227; 27398; 0.77; 1.17; -6.01; 0.47 -20100228; 25596; 0.72; 1.63; -7.28; 0.50 -20100301; 25567; 0.72; 1.62; -1.70; 0.53 -20100302; 27600; 0.78; 11.62; 0.05; 0.56 -20100303; 30632; 0.86; 5.87; -3.11; 0.59 -20100304; 28542; 0.81; 4.65; -4.47; 0.62 -20100305; 27398; 0.77; 0.86; -5.09; 0.66 -20100306; 26339; 0.74; 0.17; -8.44; 0.69 -20100307; 25450; 0.72; 0.20; -7.61; 0.72 -20100308; 24909; 0.70; 2.08; -6.04; 0.75 -20100309; 25479; 0.72; 7.09; -2.84; 0.79 -20100310; 27572; 0.78; 5.89; 0.47; 0.82 -20100311; 26768; 0.76; 1.06; 2.04; 0.86 -20100312; 27512; 0.78; 0.16; 3.52; 0.89 -20100313; 29201; 0.82; 0.04; 5.03; 0.93 -20100314; 33210; 0.94; 0.48; 3.42; 0.96 -20100315; 38650; 1.09; 0.25; 3.48; 1.00 -20100316; 44660; 1.26; 4.97; 0.75; 1.04 -20100317; 47526; 1.34; 8.92; -2.52; 1.07 -20100318; 45234; 1.28; 0.58; -3.24; 1.11 -20100319; 42659; 1.20; 0.05; -1.28; 1.15 -20100320; 41799; 1.18; 1.09; 2.46; 1.19 -20100321; 42943; 1.21; 1.00; 4.29; 1.23 -20100322; 50387; 1.42; 4.03; 4.72; 1.26 -20100323; 85602; 2.42; 20.33; 3.85; 1.30 -20100324; 148300; 4.19; 4.03; 3.66; 1.34 -20100325; 144004; 4.07; 4.88; 2.75; 1.38 -20100326; 136276; 3.85; 4.47; 0.28; 1.42 -20100327; 120817; 3.41; 1.23; -2.43; 1.46 -20100328; 105928; 2.99; 0.53; -3.14; 1.50 -20100329; 95621; 2.70; 0.16; -1.25; 1.54 -20100330; 87033; 2.46; 0.08; -0.59; 1.58 -20100331; 81593; 2.30; 0.05; 1.62; 1.62 -20100401; 78158; 2.21; 0.41; 3.15; 1.66 -20100402; 77871; 2.20; 2.21; 3.66; 1.70 -20100403; 82167; 2.32; 2.99; 4.60; 1.74 -20100404; 93617; 2.64; 9.20; 3.47; 1.78 -20100405; 102205; 2.89; 15.23; 1.82; 1.82 -20100406; 104784; 2.96; 8.53; 0.82; 1.86 -20100407; 101061; 2.85; 5.11; 1.73; 1.90 -20100408; 98487; 2.78; 0.78; 1.01; 1.94 -20100409; 94191; 2.66; 4.35; 1.28; 1.98 -20100410; 92760; 2.62; 1.38; 2.68; 2.02 -20100411; 93047; 2.63; 6.29; 2.05; 2.06 -20100412; 93047; 2.63; 2.71; -0.73; 2.10 -20100413; 85889; 2.43; 1.21; -0.70; 2.14 -20100414; 82454; 2.33; 5.03; 0.19; 2.18 -20100415; 79588; 2.25; 6.94; 1.28; 2.23 -20100416; 78444; 2.21; 1.59; 1.67; 2.27 -20100417; 76440; 2.16; 2.80; 0.89; 2.31 -20100418; 74435; 2.10; 0.87; 1.74; 2.35 -20100419; 76440; 2.16; 1.42; 3.18; 2.39 -20100420; 78731; 2.22; 0.24; 5.21; 2.43 -20100421; 87033; 2.46; 0.48; 8.61; 2.47 -20100422; 106215; 3.00; 0.29; 10.76; 2.51 -20100423; 154884; 4.37; 6.52; 10.75; 2.55 -20100424; 237051; 6.69; 14.18; 3.42; 2.59 -20100425; 208707; 5.89; 0.46; 0.71; 2.63 -20100426; 174353; 4.92; 0.34; 3.08; 2.67 -20100427; 163473; 4.62; 0.10; 6.35; 2.71 -20100428; 173779; 4.91; 0.48; 9.62; 2.75 -20100429; 202984; 5.73; 0.04; 10.45; 2.79 -20100430; 237051; 6.69; 0.28; 11.23; 2.83 -20100501; 270261; 7.63; 0.08; 11.90; 2.87 -20100502; 312060; 8.81; 0.29; 12.72; 2.90 -20100503; 360729; 10.19; 0.21; 11.59; 2.94 -20100504; 397949; 11.24; 0.11; 11.02; 2.98 -20100505; 397949; 11.24; 0.05; 11.35; 3.02 -20100506; 395087; 11.16; 0.13; 11.97; 3.06 -20100507; 406537; 11.48; 0.06; 12.02; 3.09 -20100508; 409399; 11.56; 1.88; 11.22; 3.13 -20100509; 377906; 10.67; 0.04; 8.94; 3.16 -20100510; 346418; 9.78; 0.18; 9.03; 3.20 -20100511; 317787; 8.97; 1.82; 7.91; 3.24 -20100512; 286294; 8.08; 2.17; 8.94; 3.27 -20100513; 285720; 8.07; 15.28; 7.28; 3.31 -20100514; 326375; 9.22; 9.18; 4.02; 3.34 -20100515; 276845; 7.82; 3.51; 3.22; 3.38 -20100516; 227605; 6.43; 9.03; 5.25; 3.41 -20100517; 236194; 6.67; 12.63; 3.57; 3.44 -20100518; 222165; 6.27; 2.26; 4.92; 3.48 -20100519; 195826; 5.53; 0.94; 7.57; 3.51 -20100520; 191530; 5.41; 2.43; 10.76; 3.54 -20100521; 228175; 6.44; 30.40; 5.48; 3.58 -20100522; 303471; 8.57; 18.39; 3.13; 3.61 -20100523; 279136; 7.88; 7.02; 4.01; 3.64 -20100524; 254802; 7.19; 1.71; 7.76; 3.67 -20100525; 245352; 6.93; 8.74; 9.51; 3.70 -20100526; 285720; 8.07; 14.44; 6.44; 3.73 -20100527; 300610; 8.49; 6.75; 3.26; 3.76 -20100528; 255089; 7.20; 1.01; 6.40; 3.79 -20100529; 232471; 6.56; 6.02; 9.08; 3.81 -20100530; 232185; 6.56; 6.44; 5.61; 3.84 -20100531; 215578; 6.09; 1.32; 8.72; 3.87 -20100601; 204701; 5.78; 0.08; 10.38; 3.90 -20100602; 203270; 5.74; 1.18; 8.93; 3.92 -20100603; 191530; 5.41; 0.28; 7.78; 3.95 -20100604; 174926; 4.94; 0.36; 7.61; 3.97 -20100605; 163189; 4.61; 1.36; 8.59; 4.00 -20100606; 161468; 4.56; 4.69; 8.13; 4.02 -20100607; 159467; 4.50; 2.43; 8.05; 4.04 -20100608; 152880; 4.32; 0.75; 8.29; 4.07 -20100609; 141716; 4.00; 1.30; 9.47; 4.09 -20100610; 136850; 3.86; 7.27; 9.98; 4.11 -20100611; 150879; 4.26; 2.43; 11.09; 4.13 -20100612; 147156; 4.16; 6.58; 12.09; 4.15 -20100613; 153166; 4.32; 13.52; 9.98; 4.17 -20100614; 159180; 4.49; 2.74; 9.39; 4.19 -20100615; 164620; 4.65; 17.46; 6.81; 4.21 -20100616; 177788; 5.02; 5.99; 4.23; 4.23 -20100617; 156889; 4.43; 0.97; 8.42; 4.25 -20100618; 139999; 3.95; 3.18; 11.76; 4.26 -20100619; 154027; 4.35; 27.28; 7.13; 4.28 -20100620; 196683; 5.55; 0.84; 9.68; 4.29 -20100621; 158893; 4.49; 0.57; 12.06; 4.31 -20100622; 146296; 4.13; 3.17; 11.97; 4.32 -20100623; 143721; 4.06; 3.61; 11.38; 4.34 -20100624; 139425; 3.94; 6.72; 10.72; 4.35 -20100625; 153453; 4.33; 15.36; 9.20; 4.36 -20100626; 182084; 5.14; 14.06; 6.12; 4.37 -20100627; 173496; 4.90; 0.55; 8.64; 4.38 -20100628; 145725; 4.11; 0.16; 11.06; 4.39 -20100629; 131410; 3.71; 0.25; 13.68; 4.40 -20100630; 122248; 3.45; 1.47; 16.64; 4.41 -20100701; 116521; 3.29; 0.34; 16.85; 4.42 -20100702; 111655; 3.15; 15.15; 16.62; 4.43 -20100703; 120243; 3.40; 6.32; 15.85; 4.43 -20100704; 115377; 3.26; 1.96; 15.65; 4.44 -20100705; 109363; 3.09; 2.18; 15.29; 4.45 -20100706; 98487; 2.78; 0.45; 15.83; 4.45 -20100707; 89324; 2.52; 0.08; 17.12; 4.45 -20100708; 82740; 2.34; 0.72; 17.29; 4.46 -20100709; 79018; 2.23; 4.21; 19.65; 4.46 -20100710; 74152; 2.09; 9.09; 18.64; 4.46 -20100711; 79875; 2.26; 7.42; 14.74; 4.46 -20100712; 79588; 2.25; 0.16; 14.28; 4.46 -20100713; 68712; 1.94; 0.01; 14.67; 4.46 -20100714; 62985; 1.78; 0.16; 16.04; 4.46 -20100715; 58406; 1.65; 0.07; 18.18; 4.46 -20100716; 54970; 1.55; 0.00; 19.71; 4.46 -20100717; 51818; 1.46; 0.00; 21.26; 4.45 -20100718; 48670; 1.37; 0.00; 20.25; 4.45 -20100719; 46095; 1.30; 0.36; 19.01; 4.44 -20100720; 43803; 1.24; 0.01; 17.22; 4.44 -20100721; 41512; 1.17; 0.00; 17.57; 4.43 -20100722; 40081; 1.13; 0.07; 18.68; 4.43 -20100723; 38076; 1.08; 0.03; 19.26; 4.42 -20100724; 37219; 1.05; 7.32; 19.10; 4.41 -20100725; 39507; 1.12; 0.20; 19.84; 4.40 -20100726; 35502; 1.00; 2.23; 21.57; 4.39 -20100727; 34928; 0.99; 1.76; 21.79; 4.38 -20100728; 32636; 0.92; 3.18; 19.91; 4.37 -20100729; 32066; 0.91; 0.32; 18.82; 4.36 -20100730; 31779; 0.90; 4.06; 17.70; 4.35 -20100731; 32350; 0.91; 13.50; 16.65; 4.34 -20100801; 39794; 1.12; 1.53; 14.08; 4.32 -20100802; 37790; 1.07; 0.30; 16.94; 4.31 -20100803; 32350; 0.91; 0.06; 18.47; 4.29 -20100804; 29488; 0.83; 0.15; 20.16; 4.28 -20100805; 27629; 0.78; 0.22; 21.59; 4.26 -20100806; 26166; 0.74; 1.52; 20.12; 4.25 -20100807; 25280; 0.71; 0.26; 17.24; 4.23 -20100808; 24650; 0.70; 0.00; 16.19; 4.21 -20100809; 23478; 0.66; 0.08; 18.35; 4.19 -20100810; 22791; 0.64; 0.27; 18.97; 4.17 -20100811; 21873; 0.62; 0.00; 19.02; 4.15 -20100812; 21130; 0.60; 0.07; 18.89; 4.13 -20100813; 20414; 0.58; 0.07; 19.51; 4.11 -20100814; 19869; 0.56; 0.08; 19.29; 4.09 -20100815; 19238; 0.54; 0.25; 17.93; 4.07 -20100816; 18580; 0.52; 0.26; 14.49; 4.04 -20100817; 18123; 0.51; 0.07; 12.09; 4.02 -20100818; 17864; 0.50; 0.06; 11.10; 4.00 -20100819; 17436; 0.49; 0.16; 12.97; 3.97 -20100820; 17120; 0.48; 1.02; 16.74; 3.95 -20100821; 16862; 0.48; 0.81; 16.20; 3.92 -20100822; 16635; 0.47; 0.88; 14.95; 3.90 -20100823; 16405; 0.46; 1.30; 12.97; 3.87 -20100824; 17351; 0.49; 0.14; 11.88; 3.84 -20100825; 16518; 0.47; 0.07; 14.44; 3.81 -20100826; 15803; 0.45; 0.00; 13.92; 3.79 -20100827; 15116; 0.43; 0.00; 14.19; 3.76 -20100828; 14659; 0.41; 0.12; 17.42; 3.73 -20100829; 14199; 0.40; 0.00; 18.82; 3.70 -20100830; 13685; 0.39; 0.00; 17.84; 3.67 -20100831; 13398; 0.38; 0.00; 18.50; 3.64 -20100901; 13055; 0.37; 0.00; 19.11; 3.61 -20100902; 12796; 0.36; 0.02; 19.27; 3.57 -20100903; 12452; 0.35; 0.00; 19.05; 3.54 -20100904; 12254; 0.35; 0.00; 19.93; 3.51 -20100905; 12081; 0.34; 0.00; 19.75; 3.48 -20100906; 11911; 0.34; 0.16; 20.09; 3.44 -20100907; 11967; 0.34; 7.55; 19.42; 3.41 -20100908; 14057; 0.40; 9.57; 16.35; 3.38 -20100909; 18466; 0.52; 15.31; 13.03; 3.34 -20100910; 20184; 0.57; 2.74; 11.95; 3.31 -20100911; 16979; 0.48; 0.57; 13.41; 3.27 -20100912; 15002; 0.42; 0.04; 13.73; 3.23 -20100913; 13944; 0.39; 0.07; 13.71; 3.20 -20100914; 13228; 0.37; 0.09; 15.18; 3.16 -20100915; 12711; 0.36; 0.00; 17.39; 3.13 -20100916; 12339; 0.35; 0.49; 16.99; 3.09 -20100917; 12081; 0.34; 1.49; 16.79; 3.05 -20100918; 12282; 0.35; 3.64; 10.70; 3.02 -20100919; 14199; 0.40; 10.12; 7.14; 2.98 -20100920; 19153; 0.54; 1.12; 7.41; 2.94 -20100921; 16348; 0.46; 0.17; 7.96; 2.90 -20100922; 14230; 0.40; 0.24; 9.42; 2.86 -20100923; 13083; 0.37; 0.05; 10.16; 2.82 -20100924; 12541; 0.35; 1.95; 10.31; 2.79 -20100925; 13887; 0.39; 10.94; 6.92; 2.75 -20100926; 18123; 0.51; 0.36; 8.54; 2.71 -20100927; 16090; 0.45; 0.26; 9.31; 2.67 -20100928; 14344; 0.40; 0.05; 10.54; 2.63 -20100929; 13256; 0.37; 0.10; 10.79; 2.59 -20100930; 12711; 0.36; 0.00; 10.64; 2.55 -20101001; 12311; 0.35; 0.06; 11.29; 2.51 -20101002; 15976; 0.45; 16.47; 6.14; 2.47 -20101003; 17351; 0.49; 2.03; 2.93; 2.43 -20101004; 15888; 0.45; 1.27; 2.52; 2.39 -20101005; 14857; 0.42; 0.41; 2.96; 2.35 -20101006; 13657; 0.39; 0.13; 7.52; 2.31 -20101007; 13111; 0.37; 0.38; 9.57; 2.26 -20101008; 12626; 0.36; 0.63; 7.50; 2.22 -20101009; 12885; 0.36; 2.82; 5.23; 2.18 -20101010; 13026; 0.37; 1.47; 2.33; 2.14 -20101011; 13111; 0.37; 0.29; 2.74; 2.10 -20101012; 12569; 0.35; 0.73; 6.59; 2.06 -20101013; 12368; 0.35; 2.13; 5.93; 2.02 -20101014; 13511; 0.38; 8.26; 3.43; 1.98 -20101015; 16518; 0.47; 2.09; 0.69; 1.94 -20101016; 16090; 0.45; 0.08; -0.53; 1.90 -20101017; 14259; 0.40; 1.41; -0.88; 1.86 -20101018; 14057; 0.40; 2.05; 1.95; 1.82 -20101019; 14170; 0.40; 0.22; 2.09; 1.77 -20101020; 13483; 0.38; 0.62; 3.54; 1.74 -20101021; 12913; 0.36; 0.13; 6.28; 1.69 -20101022; 12626; 0.36; 0.08; 5.31; 1.65 -20101023; 12396; 0.35; 0.05; 5.18; 1.61 -20101024; 12198; 0.34; 0.06; 6.45; 1.57 -20101025; 12052; 0.34; 0.00; 5.18; 1.53 -20101026; 11882; 0.34; 0.03; 4.74; 1.50 -20101027; 11737; 0.33; 0.79; 6.83; 1.46 -20101028; 11939; 0.34; 2.93; 3.11; 1.42 -20101029; 12885; 0.36; 1.25; -0.16; 1.38 -20101030; 12452; 0.35; 0.86; -1.12; 1.34 -20101031; 11854; 0.33; 0.24; 1.89; 1.30 -20101101; 11595; 0.33; 0.93; 1.66; 1.26 -20101102; 11882; 0.34; 2.15; 0.42; 1.22 -20101103; 11911; 0.34; 0.56; 0.34; 1.18 -20101104; 11939; 0.34; 3.06; -1.17; 1.15 -20101105; 12137; 0.34; 4.41; -0.00; 1.11 -20101106; 13685; 0.39; 3.46; -0.97; 1.07 -20101107; 13285; 0.38; 1.24; -1.41; 1.03 -20101108; 13600; 0.38; 19.94; -3.00; 1.00 -20101109; 13827; 0.39; 3.58; -4.54; 0.96 -20101110; 13200; 0.37; 2.82; -3.93; 0.93 -20101111; 12768; 0.36; 3.06; -3.21; 0.89 -20101112; 12541; 0.35; 0.85; -1.21; 0.86 -20101113; 19497; 0.55; 27.99; 0.83; 0.82 -20101114; 47239; 1.33; 6.39; 2.32; 0.79 -20101115; 34641; 0.98; 7.79; 2.09; 0.75 -20101116; 33784; 0.95; 4.92; 0.57; 0.72 -20101117; 30349; 0.86; 15.69; -0.97; 0.69 -20101118; 27026; 0.76; 6.52; -1.67; 0.65 -20101119; 24593; 0.69; 3.87; -1.78; 0.62 -20101120; 22876; 0.65; 12.28; -1.51; 0.59 -20101121; 37219; 1.05; 42.02; 0.40; 0.56 -20101122; 59263; 1.67; 15.67; -1.83; 0.53 -20101123; 42372; 1.20; 32.06; -2.47; 0.49 -20101124; 42086; 1.19; 5.73; -1.82; 0.46 -20101125; 37790; 1.07; 13.02; -1.01; 0.43 -20101126; 35215; 0.99; 3.30; 1.06; 0.41 -20101127; 34067; 0.96; 7.04; 0.22; 0.38 -20101128; 35215; 0.99; 18.72; -1.58; 0.35 -20101129; 33210; 0.94; 8.71; -3.11; 0.32 -20101130; 30632; 0.86; 7.96; -1.34; 0.29 -20101201; 30919; 0.87; 13.12; 0.31; 0.27 -20101202; 38363; 1.08; 33.56; -0.16; 0.24 -20101203; 48670; 1.37; 8.94; -3.19; 0.21 -20101204; 38937; 1.10; 0.85; -5.92; 0.19 -20101205; 33497; 0.95; 0.88; -6.52; 0.17 -20101206; 29775; 0.84; 4.22; -6.04; 0.14 -20101207; 27455; 0.78; 3.58; -5.54; 0.12 -20101208; 27257; 0.77; 10.82; -4.39; 0.10 -20101209; 25822; 0.73; 0.72; -5.57; 0.07 -20101210; 22876; 0.65; 2.61; -6.45; 0.05 -20101211; 22043; 0.62; 8.01; -2.59; 0.03 -20101212; 26052; 0.74; 3.67; -0.08; 0.01 -20101213; 27455; 0.78; 3.45; 0.65; 0.00 -20101214; 31492; 0.89; 0.76; -2.44; 0.00 -20101215; 30349; 0.86; 0.83; -4.65; 0.00 -20101216; 28000; 0.79; 1.66; -0.17; 0.00 -20101217; 27657; 0.78; 5.40; -1.29; 0.00 -20101218; 26424; 0.75; 3.67;-11.26; 0.00 -20101219; 17234; 0.49; 0.55;-19.21; 0.00 -20101220; 8589; 0.24; 0.20;-21.48; 0.00 -20101221; 4296; 0.12; 0.25;-19.21; 0.00 -20101222; 5153; 0.15; 0.08;-16.37; 0.00 -20101223; 7445; 0.21; 0.32;-14.64; 0.00 -20101224; 10306; 0.29; 9.24;-10.81; 0.00 -20101225; 14315; 0.40; 22.63; -4.58; 0.00 -20101226; 18608; 0.53; 14.25; -3.23; 0.00 -20101227; 22904; 0.65; 30.17; -2.91; 0.00 -20101228; 28631; 0.81; 23.48; -0.25; 0.00 -20101229; 46952; 1.33; 20.67; 0.59; 0.00 -20101230; 87894; 2.48; 7.17; -0.36; 0.00 -20101231; 76440; 2.16; 5.69; -2.17; 0.00 -20110101; 61841; 1.75; 0.53; -3.94; 0.00 -20110102; 50961; 1.44; 0.54; -5.24; 0.00 -20110103; 44377; 1.25; 0.55; -6.56; 0.00 -20110104; 40081; 1.13; 3.23; -3.63; 0.00 -20110105; 37219; 1.05; 4.90; -0.50; 0.00 -20110106; 35785; 1.01; 2.61; 0.23; 0.00 -20110107; 36072; 1.02; 6.23; -1.41; 0.00 -20110108; 35502; 1.00; 5.56; -2.26; 0.00 -20110109; 34641; 0.98; 10.47; -1.73; 0.00 -20110110; 37219; 1.05; 10.93; -0.39; 0.00 -20110111; 46665; 1.32; 1.72; 0.95; 0.00 -20110112; 44090; 1.24; 5.95; -0.84; 0.00 -20110113; 43230; 1.22; 1.21; -1.08; 0.00 -20110114; 44377; 1.25; 18.04; -0.35; 0.00 -20110115; 76727; 2.17; 14.64; -1.20; 0.00 -20110116; 70713; 2.00; 12.67; -2.66; 0.00 -20110117; 61267; 1.73; 10.78; -2.34; 0.00 -20110118; 55827; 1.58; 12.24; -0.90; 0.00 -20110119; 50674; 1.43; 5.38; -0.88; 0.00 -20110120; 48383; 1.37; 5.31; -1.74; 0.00 -20110121; 46378; 1.31; 12.08; -2.46; 0.00 -20110122; 44660; 1.26; 4.53; -2.03; 0.00 -20110123; 43230; 1.22; 10.97; -5.17; 0.00 -20110124; 40368; 1.14; 2.19; -9.18; 0.00 -20110125; 35215; 0.99; 1.12; -8.59; 0.00 -20110126; 32636; 0.92; 1.54; -8.35; 0.00 -20110127; 33784; 0.95; 1.41; -6.82; 0.00 -20110128; 32923; 0.93; 1.82; -4.49; 0.00 -20110129; 31779; 0.90; 0.21; -0.61; 0.00 -20110130; 30349; 0.86; 0.03; -1.52; 0.00 -20110131; 28602; 0.81; 1.97; -2.74; 0.00 -20110201; 28914; 0.82; 4.47; -5.19; 0.00 -20110202; 28914; 0.82; 18.76; -3.24; 0.00 -20110203; 27884; 0.79; 3.84; -3.34; 0.00 -20110204; 27285; 0.77; 4.71; -2.34; 0.00 -20110205; 26881; 0.76; 1.97; -3.69; 0.00 -20110206; 26396; 0.75; 8.13; -1.81; 0.00 -20110207; 26683; 0.75; 12.10; -2.25; 0.00 -20110208; 26626; 0.75; 7.74; -6.24; 0.00 -20110209; 26254; 0.74; 19.31; -6.04; 0.01 -20110210; 25507; 0.72; 4.54; -8.59; 0.03 -20110211; 24448; 0.69; 0.56; -7.90; 0.05 -20110212; 22961; 0.65; 2.86; -5.94; 0.07 -20110213; 23162; 0.65; 0.32; -1.69; 0.10 -20110214; 25022; 0.71; 3.20; -3.58; 0.12 -20110215; 24622; 0.70; 1.12; -4.17; 0.14 -20110216; 24221; 0.68; 3.85; -2.96; 0.17 -20110217; 24909; 0.70; 10.10; -2.34; 0.19 -20110218; 25050; 0.71; 12.23; -4.21; 0.22 -20110219; 26825; 0.76; 10.45; -3.52; 0.24 -20110220; 26311; 0.74; 2.09; -4.62; 0.27 -20110221; 26109; 0.74; 4.72; -2.75; 0.29 -20110222; 25939; 0.73; 4.20; -3.74; 0.32 -20110223; 26509; 0.75; 23.46; -1.44; 0.35 -20110224; 44947; 1.27; 11.50; 0.91; 0.38 -20110225; 50100; 1.41; 8.22; -0.34; 0.41 -20110226; 47526; 1.34; 3.45; -3.48; 0.44 -20110227; 43516; 1.23; 13.92; -4.23; 0.47 -20110228; 61554; 1.74; 32.72; 0.34; 0.50 -20110301; 83884; 2.37; 6.08; -2.31; 0.53 -20110302; 71574; 2.02; 2.20; -3.09; 0.56 -20110303; 63842; 1.80; 8.96; -2.83; 0.59 -20110304; 57258; 1.62; 10.47; -4.57; 0.62 -20110305; 51248; 1.45; 3.36; -5.27; 0.66 -20110306; 45808; 1.29; 0.66; -6.12; 0.69 -20110307; 42943; 1.21; 0.16; -4.33; 0.72 -20110308; 41225; 1.16; 0.26; -4.42; 0.75 -20110309; 39224; 1.11; 0.58; -1.97; 0.79 -20110310; 37219; 1.05; 0.70; -2.41; 0.82 -20110311; 35785; 1.01; 0.09; -2.97; 0.86 -20110312; 34641; 0.98; 0.25; -2.42; 0.89 -20110313; 34641; 0.98; 0.77; 2.58; 0.93 -20110314; 38363; 1.08; 0.11; 4.95; 0.96 -20110315; 44090; 1.24; 0.84; 3.11; 1.00 -20110316; 51248; 1.45; 9.38; -2.17; 1.04 -20110317; 49530; 1.40; 1.15; -1.47; 1.07 -20110318; 47526; 1.34; 0.52; 3.18; 1.11 -20110319; 50100; 1.41; 0.45; 5.84; 1.15 -20110320; 62698; 1.77; 1.41; 7.67; 1.19 -20110321; 88177; 2.49; 2.89; 5.94; 1.23 -20110322; 115090; 3.25; 3.55; 3.87; 1.26 -20110323; 121674; 3.44; 1.31; 4.50; 1.30 -20110324; 122248; 3.45; 0.25; 5.41; 1.34 -20110325; 125396; 3.54; 1.93; 5.34; 1.38 -20110326; 141716; 4.00; 9.98; 0.01; 1.42 -20110327; 131697; 3.72; 9.76; -4.57; 1.46 -20110328; 113085; 3.19; 3.69; -5.50; 1.50 -20110329; 100204; 2.83; 13.76; -1.05; 1.54 -20110330; 90755; 2.56; 4.99; -2.55; 1.58 -20110331; 81593; 2.30; 1.30; -4.06; 1.62 -20110401; 74152; 2.09; 0.61; -3.37; 1.66 -20110402; 68995; 1.95; 0.64; -2.69; 1.70 -20110403; 66134; 1.87; 0.68; -2.56; 1.74 -20110404; 62411; 1.76; 4.09; -2.31; 1.78 -20110405; 59550; 1.68; 1.04; -1.59; 1.82 -20110406; 56688; 1.60; 0.72; -0.57; 1.86 -20110407; 54683; 1.54; 0.66; 1.69; 1.90 -20110408; 57545; 1.62; 3.81; 1.11; 1.94 -20110409; 57832; 1.63; 4.10; -2.67; 1.98 -20110410; 54970; 1.55; 0.61; -3.06; 2.02 -20110411; 54110; 1.53; 0.49; 0.71; 2.06 -20110412; 57258; 1.62; 1.74; 3.33; 2.10 -20110413; 66134; 1.87; 0.10; 2.25; 2.14 -20110414; 71574; 2.02; 0.22; 0.46; 2.18 -20110415; 73865; 2.09; 0.20; 1.21; 2.23 -20110416; 78444; 2.21; 0.47; 4.74; 2.27 -20110417; 90468; 2.55; 0.23; 7.73; 2.31 -20110418; 115090; 3.25; 1.49; 8.88; 2.35 -20110419; 164907; 4.66; 5.16; 6.28; 2.39 -20110420; 219017; 6.18; 6.22; 2.77; 2.43 -20110421; 202410; 5.72; 1.52; -0.13; 2.47 -20110422; 171204; 4.83; 0.88; 1.36; 2.51 -20110423; 155745; 4.40; 0.02; 5.29; 2.55 -20110424; 165477; 4.67; 0.19; 6.34; 2.59 -20110425; 188955; 5.34; 2.10; 8.06; 2.63 -20110426; 241347; 6.81; 2.21; 5.64; 2.67 -20110427; 249935; 7.06; 1.76; 3.45; 2.71 -20110428; 221878; 6.26; 5.03; 1.20; 2.75 -20110429; 190386; 5.38; 0.64; 1.79; 2.79 -20110430; 173779; 4.91; 0.14; 5.08; 2.83 -20110501; 186090; 5.25; 5.30; 4.14; 2.87 -20110502; 194108; 5.48; 5.85; 2.71; 2.90 -20110503; 192390; 5.43; 7.04; 2.36; 2.94 -20110504; 183515; 5.18; 7.69; 0.10; 2.98 -20110505; 164620; 4.65; 0.87; 0.32; 3.02 -20110506; 152309; 4.30; 1.13; 5.43; 3.06 -20110507; 162329; 4.58; 1.23; 1.78; 3.09 -20110508; 153166; 4.32; 2.24; -0.89; 3.13 -20110509; 145725; 4.11; 2.53; -0.28; 3.16 -20110510; 135989; 3.84; 0.85; -0.26; 3.20 -20110511; 128261; 3.62; 1.39; 2.11; 3.24 -20110512; 139712; 3.94; 4.31; 4.07; 3.27 -20110513; 147726; 4.17; 0.39; 2.39; 3.31 -20110514; 140569; 3.97; 0.67; 2.98; 3.34 -20110515; 137707; 3.89; 1.09; 2.92; 3.38 -20110516; 135989; 3.84; 0.25; 4.60; 3.41 -20110517; 147726; 4.17; 4.07; 6.19; 3.44 -20110518; 175784; 4.96; 9.22; 6.33; 3.48 -20110519; 235333; 6.64; 0.70; 7.66; 3.51 -20110520; 271122; 7.66; 0.35; 8.53; 3.54 -20110521; 312060; 8.81; 0.36; 8.33; 3.58 -20110522; 357868; 10.10; 0.04; 8.25; 3.61 -20110523; 383633; 10.83; 0.25; 12.70; 3.64 -20110524; 469522; 13.26; 0.27; 14.69; 3.67 -20110525; 586904; 16.57; 0.02; 13.11; 3.70 -20110526; 626985; 17.70; 0.23; 10.36; 3.73 -20110527; 549684; 15.52; 0.00; 11.09; 3.76 -20110528; 532507; 15.04; 0.14; 12.11; 3.79 -20110529; 535369; 15.12; 0.75; 10.29; 3.81 -20110530; 492426; 13.90; 0.31; 6.43; 3.84 -20110531; 417991; 11.80; 17.84; 5.69; 3.87 -20110601; 509603; 14.39; 6.01; 8.70; 3.90 -20110602; 515330; 14.55; 10.43; 7.24; 3.92 -20110603; 495288; 13.98; 17.99; 3.90; 3.95 -20110604; 463795; 13.10; 1.41; 6.79; 3.97 -20110605; 420853; 11.88; 2.10; 6.56; 4.00 -20110606; 389360; 10.99; 0.70; 4.51; 4.02 -20110607; 337825; 9.54; 0.99; 4.59; 4.04 -20110608; 309198; 8.73; 9.52; 3.16; 4.07 -20110609; 271409; 7.66; 0.24; 4.41; 4.09 -20110610; 245639; 6.94; 1.47; 6.89; 4.11 -20110611; 247931; 7.00; 0.46; 9.23; 4.13 -20110612; 271122; 7.66; 0.12; 12.14; 4.15 -20110613; 317787; 8.97; 0.37; 13.94; 4.17 -20110614; 369318; 10.43; 0.02; 15.09; 4.19 -20110615; 446618; 12.61; 0.36; 16.47; 4.21 -20110616; 515330; 14.55; 4.77; 16.79; 4.23 -20110617; 523919; 14.79; 0.76; 15.27; 4.25 -20110618; 478111; 13.50; 1.82; 14.66; 4.26 -20110619; 446618; 12.61; 0.17; 12.86; 4.28 -20110620; 397949; 11.24; 0.31; 13.34; 4.29 -20110621; 375045; 10.59; 5.99; 10.06; 4.31 -20110622; 346418; 9.78; 2.02; 9.59; 4.32 -20110623; 306333; 8.65; 0.08; 11.46; 4.34 -20110624; 289156; 8.16; 11.19; 12.50; 4.35 -20110625; 343552; 9.70; 9.07; 7.29; 4.36 -20110626; 272266; 7.69; 0.50; 7.58; 4.37 -20110627; 229323; 6.47; 0.13; 8.51; 4.38 -20110628; 207850; 5.87; 1.06; 9.00; 4.39 -20110629; 203270; 5.74; 1.46; 11.00; 4.40 -20110630; 208424; 5.88; 2.30; 11.26; 4.41 -20110701; 200692; 5.67; 2.83; 9.68; 4.42 -20110702; 189525; 5.35; 0.06; 7.52; 4.43 -20110703; 163760; 4.62; 0.40; 7.75; 4.43 -20110704; 154597; 4.37; 5.39; 6.97; 4.44 -20110705; 148874; 4.20; 0.92; 9.65; 4.45 -20110706; 138851; 3.92; 0.80; 15.31; 4.45 -20110707; 144865; 4.09; 0.00; 13.83; 4.45 -20110708; 144865; 4.09; 0.00; 11.26; 4.46 -20110709; 132554; 3.74; 0.14; 13.74; 4.46 -20110710; 125683; 3.55; 0.00; 16.64; 4.46 -20110711; 120817; 3.41; 0.39; 17.60; 4.46 -20110712; 116521; 3.29; 0.00; 17.73; 4.46 -20110713; 110798; 3.13; 0.07; 17.57; 4.46 -20110714; 102205; 2.89; 0.24; 13.76; 4.46 -20110715; 93904; 2.65; 0.00; 10.11; 4.46 -20110716; 84741; 2.39; 0.00; 11.63; 4.46 -20110717; 77587; 2.19; 0.49; 14.16; 4.45 -20110718; 73578; 2.08; 0.01; 12.99; 4.45 -20110719; 69856; 1.97; 0.05; 14.40; 4.44 -20110720; 65276; 1.84; 1.60; 16.24; 4.44 -20110721; 62411; 1.76; 0.37; 15.51; 4.43 -20110722; 58689; 1.66; 0.04; 15.72; 4.43 -20110723; 54970; 1.55; 0.01; 16.83; 4.42 -20110724; 52105; 1.47; 1.02; 13.89; 4.41 -20110725; 50387; 1.42; 0.15; 12.32; 4.40 -20110726; 46952; 1.33; 0.22; 14.96; 4.39 -20110727; 44090; 1.24; 0.39; 19.33; 4.38 -20110728; 41512; 1.17; 0.07; 20.04; 4.37 -20110729; 39507; 1.12; 0.00; 19.32; 4.36 -20110730; 37790; 1.07; 0.13; 15.74; 4.35 -20110731; 36072; 1.02; 0.01; 15.11; 4.34 -20110801; 34354; 0.97; 0.00; 16.99; 4.32 -20110802; 33497; 0.95; 0.33; 19.55; 4.31 -20110803; 34354; 0.97; 1.89; 19.35; 4.29 -20110804; 34354; 0.97; 2.02; 18.61; 4.28 -20110805; 34354; 0.97; 0.06; 18.29; 4.26 -20110806; 31492; 0.89; 2.00; 19.06; 4.25 -20110807; 28631; 0.81; 5.17; 16.93; 4.23 -20110808; 28631; 0.81; 0.69; 14.69; 4.21 -20110809; 28631; 0.81; 0.13; 16.09; 4.19 -20110810; 25766; 0.73; 0.97; 17.74; 4.17 -20110811; 25766; 0.73; 6.77; 14.75; 4.15 -20110812; 28631; 0.81; 4.22; 14.81; 4.13 -20110813; 31492; 0.89; 15.73; 12.21; 4.11 -20110814; 34354; 0.97; 2.23; 9.41; 4.09 -20110815; 31492; 0.89; 2.04; 10.11; 4.07 -20110816; 28631; 0.81; 0.40; 13.11; 4.04 -20110817; 25766; 0.73; 1.09; 16.00; 4.02 -20110818; 24335; 0.69; 0.39; 18.77; 4.00 -20110819; 22904; 0.65; 2.57; 18.18; 3.97 -20110820; 22904; 0.65; 0.00; 18.27; 3.95 -20110821; 21473; 0.61; 0.06; 16.57; 3.92 -20110822; 20042; 0.57; 0.07; 15.46; 3.90 -20110823; 20042; 0.57; 0.01; 17.32; 3.87 -20110824; 20042; 0.57; 1.11; 17.64; 3.84 -20110825; 20042; 0.57; 0.29; 16.69; 3.81 -20110826; 18608; 0.53; 0.00; 17.56; 3.79 -20110827; 17177; 0.48; 0.14; 19.13; 3.76 -20110828; 17177; 0.48; 0.79; 17.48; 3.73 -20110829; 17177; 0.48; 0.14; 18.09; 3.70 -20110830; 17177; 0.48; 2.88; 14.60; 3.67 -20110831; 17035; 0.48; 1.73; 7.61; 3.64 -20110901; 16890; 0.48; 0.22; 6.98; 3.61 -20110902; 16348; 0.46; 1.82; 7.39; 3.57 -20110903; 16005; 0.45; 0.27; 8.16; 3.54 -20110904; 15916; 0.45; 0.13; 9.17; 3.51 -20110905; 15488; 0.44; 0.04; 12.84; 3.48 -20110906; 14801; 0.42; 0.03; 9.41; 3.44 -20110907; 14287; 0.40; 0.00; 7.81; 3.41 -20110908; 14000; 0.40; 0.02; 10.35; 3.38 -20110909; 13628; 0.38; 0.00; 13.01; 3.34 -20110910; 13426; 0.38; 0.00; 11.24; 3.31 -20110911; 12941; 0.37; 0.00; 8.54; 3.27 -20110912; 12654; 0.36; 0.00; 9.22; 3.23 -20110913; 12481; 0.35; 0.01; 11.21; 3.20 -20110914; 12282; 0.35; 0.02; 12.85; 3.16 -20110915; 12081; 0.34; 0.16; 13.45; 3.13 -20110916; 11765; 0.33; 0.00; 13.64; 3.09 -20110917; 11595; 0.33; 0.00; 13.53; 3.05 -20110918; 11422; 0.32; 0.02; 12.37; 3.02 -20110919; 11252; 0.32; 0.00; 10.98; 2.98 -20110920; 11022; 0.31; 0.00; 11.49; 2.94 -20110921; 10852; 0.31; 0.00; 13.34; 2.90 -20110922; 10735; 0.30; 0.22; 13.95; 2.86 -20110923; 10621; 0.30; 0.29; 13.40; 2.82 -20110924; 10451; 0.30; 0.31; 8.80; 2.79 -20110925; 10480; 0.30; 4.21; 5.61; 2.75 -20110926; 10735; 0.30; 2.77; 2.84; 2.71 -20110927; 11595; 0.33; 2.91; 0.81; 2.67 -20110928; 12052; 0.34; 1.03; 1.56; 2.63 -20110929; 11794; 0.33; 0.14; 6.78; 2.59 -20110930; 11450; 0.32; 0.00; 7.80; 2.55 -20111001; 11195; 0.32; 0.00; 5.28; 2.51 -20111002; 10880; 0.31; 0.05; 3.20; 2.47 -20111003; 10650; 0.30; 0.04; 5.05; 2.43 -20111004; 10593; 0.30; 0.00; 8.61; 2.39 -20111005; 10536; 0.30; 0.06; 8.95; 2.35 -20111006; 10420; 0.29; 0.39; 6.61; 2.31 -20111007; 10420; 0.29; 0.23; 6.49; 2.26 -20111008; 10508; 0.30; 14.43; 9.07; 2.22 -20111009; 21356; 0.60; 11.74; 5.36; 2.18 -20111010; 20556; 0.58; 0.28; 5.14; 2.14 -20111011; 15346; 0.43; 0.13; 8.12; 2.10 -20111012; 13055; 0.37; 1.57; 7.10; 2.06 -20111013; 12396; 0.35; 2.36; 9.57; 2.02 -20111014; 12569; 0.35; 0.38; 5.54; 1.98 -20111015; 12311; 0.35; 0.91; -0.06; 1.94 -20111016; 11624; 0.33; 0.19; -0.78; 1.90 -20111017; 11482; 0.32; 0.24; 1.73; 1.86 -20111018; 11365; 0.32; 0.06; 3.60; 1.82 -20111019; 11224; 0.32; 0.02; 3.84; 1.77 -20111020; 11224; 0.32; 0.30; 5.86; 1.74 -20111021; 11107; 0.31; 0.00; 7.79; 1.69 -20111022; 10937; 0.31; 0.03; 8.56; 1.65 -20111023; 10908; 0.31; 0.00; 8.62; 1.61 -20111024; 10763; 0.30; 0.04; 4.78; 1.57 -20111025; 10593; 0.30; 1.36; 6.38; 1.53 -20111026; 11139; 0.31; 18.27; 3.81; 1.50 -20111027; 14485; 0.41; 15.53; 2.39; 1.46 -20111028; 30919; 0.87; 28.20; 3.63; 1.42 -20111029; 47239; 1.33; 2.63; 2.29; 1.38 -20111030; 28372; 0.80; 0.77; 5.71; 1.34 -20111031; 22532; 0.64; 3.16; 3.22; 1.30 -20111101; 21130; 0.60; 0.37; -1.16; 1.26 -20111102; 18208; 0.51; 0.38; 0.90; 1.22 -20111103; 15860; 0.45; 0.56; 3.29; 1.18 -20111104; 21186; 0.60; 9.57; 1.14; 1.15 -20111105; 22475; 0.63; 5.76; -0.62; 1.11 -20111106; 25737; 0.73; 6.10; 4.89; 1.07 -20111107; 29201; 0.82; 0.18; 6.22; 1.03 -20111108; 25507; 0.72; 1.87; 4.90; 1.00 -20111109; 23332; 0.66; 0.30; 3.77; 0.96 -20111110; 21728; 0.61; 0.13; 4.05; 0.93 -20111111; 20326; 0.57; 1.26; 5.93; 0.89 -20111112; 19610; 0.55; 0.18; 9.11; 0.86 -20111113; 19210; 0.54; 1.11; 8.58; 0.82 -20111114; 19012; 0.54; 0.03; 6.83; 0.79 -20111115; 18608; 0.53; 0.10; 4.80; 0.75 -20111116; 17751; 0.50; 0.13; 3.06; 0.72 -20111117; 18236; 0.51; 9.79; 1.34; 0.69 -20111118; 19525; 0.55; 0.34; 0.08; 0.65 -20111119; 18123; 0.51; 1.68; -0.55; 0.62 -20111120; 18753; 0.53; 10.09; -0.69; 0.59 -20111121; 20471; 0.58; 5.93; -3.58; 0.56 -20111122; 18753; 0.53; 2.09; -4.66; 0.53 -20111123; 17007; 0.48; 1.83; -4.96; 0.49 -20111124; 15690; 0.44; 16.09; -2.73; 0.46 -20111125; 53536; 1.51; 49.15; 0.59; 0.43 -20111126; 152596; 4.31; 22.86; 0.14; 0.41 -20111127; 98487; 2.78; 1.89; -1.51; 0.38 -20111128; 60980; 1.72; 0.12; -1.04; 0.35 -20111129; 47526; 1.34; 0.36; 0.53; 0.32 -20111130; 43230; 1.22; 1.43; 1.51; 0.29 -20111201; 42086; 1.19; 3.86; -0.42; 0.27 -20111202; 39507; 1.12; 9.45; -1.60; 0.24 -20111203; 38076; 1.08; 3.32; -4.35; 0.21 -20111204; 31779; 0.90; 0.31; -5.84; 0.19 -20111205; 26998; 0.76; 1.01; -4.81; 0.17 -20111206; 28914; 0.82; 13.77; -2.69; 0.14 -20111207; 31492; 0.89; 8.33; -3.27; 0.12 -20111208; 29488; 0.83; 0.26; -4.53; 0.10 -20111209; 27629; 0.78; 6.38; -4.13; 0.07 -20111210; 27140; 0.77; 7.88; -3.35; 0.05 -20111211; 27342; 0.77; 14.70; -2.16; 0.03 -20111212; 28631; 0.81; 14.99; -0.49; 0.01 -20111213; 34641; 0.98; 6.83; -3.21; 0.00 -20111214; 30632; 0.86; 15.15; -4.19; 0.00 -20111215; 29775; 0.84; 23.71; -1.26; 0.00 -20111216; 37506; 1.06; 17.25; 0.77; 0.00 -20111217; 53249; 1.50; 8.71; -0.49; 0.00 -20111218; 63559; 1.79; 20.76; -0.63; 0.00 -20111219; 60694; 1.71; 2.79; -2.81; 0.00 -20111220; 48383; 1.37; 3.07; -1.23; 0.00 -20111221; 42086; 1.19; 0.87; -1.64; 0.00 -20111222; 37790; 1.07; 0.16; -3.26; 0.00 -20111223; 33784; 0.95; 0.15; -4.14; 0.00 -20111224; 28227; 0.80; 0.04; -3.56; 0.00 -20111225; 26081; 0.74; 0.02; -3.62; 0.00 -20111226; 25567; 0.72; 0.02; -3.62; 0.00 -20111227; 24792; 0.70; 0.06; -3.04; 0.00 -20111228; 23534; 0.66; 0.02; -3.09; 0.00 -20111229; 24048; 0.68; 0.09; -4.51; 0.00 -20111230; 22330; 0.63; 0.23; -5.04; 0.00 -20111231; 23219; 0.66; 4.92; -4.04; 0.00 -20120101; 29201; 0.82; 7.10; -3.19; 0.00 -20120102; 27972; 0.79; 9.74; -4.92; 0.00 -20120103; 25539; 0.72; 2.88; -5.70; 0.00 -20120104; 24909; 0.70; 25.83; -2.90; 0.00 -20120105; 24391; 0.69; 6.96; -3.13; 0.00 -20120106; 23878; 0.67; 0.68; -4.59; 0.00 -20120107; 23417; 0.66; 1.79; -3.39; 0.00 -20120108; 23648; 0.67; 13.42; -1.93; 0.00 -20120109; 24221; 0.68; 14.82; -3.00; 0.00 -20120110; 23534; 0.66; 11.25; -4.91; 0.00 -20120111; 23046; 0.65; 9.54; -3.84; 0.00 -20120112; 22274; 0.63; 3.49; -5.66; 0.00 -20120113; 21473; 0.61; 7.81; -5.23; 0.00 -20120114; 21873; 0.62; 10.24; -1.17; 0.00 -20120115; 23591; 0.67; 2.63; -1.54; 0.00 -20120116; 23761; 0.67; 6.92; -0.12; 0.00 -20120117; 24650; 0.70; 0.90; -1.89; 0.00 -20120118; 23733; 0.67; 0.14; -3.37; 0.00 -20120119; 22961; 0.65; 0.41; -3.41; 0.00 -20120120; 22819; 0.64; 3.99; -2.28; 0.00 -20120121; 22932; 0.65; 4.16; -2.09; 0.00 -20120122; 22932; 0.65; 0.95; -2.91; 0.00 -20120123; 22702; 0.64; 0.23; -3.59; 0.00 -20120124; 22387; 0.63; 1.82; -1.44; 0.00 -20120125; 22730; 0.64; 10.48; -1.65; 0.00 -20120126; 23619; 0.67; 5.67; -2.43; 0.00 -20120127; 23332; 0.66; 2.98; -3.77; 0.00 -20120128; 22589; 0.64; 0.41; -5.74; 0.00 -20120129; 20786; 0.59; 0.09; -6.84; 0.00 -20120130; 17779; 0.50; 0.21; -6.69; 0.00 -20120131; 17549; 0.50; 2.21; -6.90; 0.00 -20120201; 19412; 0.55; 9.50; -2.64; 0.00 -20120202; 26570; 0.75; 24.33; -0.12; 0.00 -20120203; 29201; 0.82; 1.25; -1.68; 0.00 -20120204; 27600; 0.78; 1.70; -2.23; 0.00 -20120205; 26283; 0.74; 1.43; -0.68; 0.00 -20120206; 26453; 0.75; 1.33; 0.36; 0.00 -20120207; 26626; 0.75; 1.03; 0.88; 0.00 -20120208; 26998; 0.76; 2.32; 1.78; 0.00 -20120209; 31779; 0.90; 3.86; -0.51; 0.01 -20120210; 34354; 0.97; 0.55; -1.87; 0.03 -20120211; 34354; 0.97; 8.16; -3.80; 0.05 -20120212; 32923; 0.93; 7.63; -3.45; 0.07 -20120213; 31779; 0.90; 4.63; -2.75; 0.10 -20120214; 32636; 0.92; 34.69; -1.33; 0.12 -20120215; 41799; 1.18; 9.69; -1.74; 0.14 -20120216; 40081; 1.13; 0.97; -2.43; 0.17 -20120217; 37506; 1.06; 0.06; -5.57; 0.19 -20120218; 33784; 0.95; 0.06; -5.70; 0.22 -20120219; 31492; 0.89; 0.18; -4.78; 0.24 -20120220; 29775; 0.84; 0.23; -2.59; 0.27 -20120221; 31206; 0.88; 0.57; 0.84; 0.29 -20120222; 33784; 0.95; 0.22; 1.75; 0.32 -20120223; 34354; 0.97; 7.33; 1.08; 0.35 -20120224; 36932; 1.04; 10.45; -2.61; 0.38 -20120225; 36072; 1.02; 0.74; -3.49; 0.41 -20120226; 34928; 0.99; 4.86; -1.38; 0.44 -20120227; 37219; 1.05; 12.57; 1.08; 0.47 -20120228; 49530; 1.40; 4.59; 0.03; 0.50 -20120229; 51531; 1.46; 2.45; -0.42; 0.53 -20120301; 49530; 1.40; 0.43; 0.23; 0.56 -20120302; 48670; 1.37; 0.12; 0.65; 0.59 -20120303; 48096; 1.36; 0.29; 2.79; 0.62 -20120304; 51248; 1.45; 0.04; 3.52; 0.66 -20120305; 56114; 1.58; 1.26; 3.46; 0.69 -20120306; 59263; 1.67; 1.98; 2.53; 0.72 -20120307; 60694; 1.71; 1.89; 1.64; 0.75 -20120308; 60123; 1.70; 1.40; 0.58; 0.79 -20120309; 58689; 1.66; 4.04; -0.13; 0.82 -20120310; 55827; 1.58; 1.46; 0.29; 0.86 -20120311; 54970; 1.55; 6.66; -1.21; 0.89 -20120312; 51818; 1.46; 1.40; -1.24; 0.93 -20120313; 49243; 1.39; 1.22; 0.79; 0.96 -20120314; 49243; 1.39; 7.82; 0.30; 1.00 -20120315; 48383; 1.37; 0.28; -1.20; 1.04 -20120316; 46378; 1.31; 9.13; -1.99; 1.07 -20120317; 45808; 1.29; 6.35; -2.37; 1.11 -20120318; 43803; 1.24; 10.70; 0.16; 1.15 -20120319; 51531; 1.46; 9.13; -2.31; 1.19 -20120320; 48670; 1.37; 1.38; -2.32; 1.23 -20120321; 45808; 1.29; 0.40; -1.06; 1.26 -20120322; 44947; 1.27; 1.73; 5.00; 1.30 -20120323; 57545; 1.62; 8.08; 1.34; 1.34 -20120324; 58689; 1.66; 1.18; 0.42; 1.38 -20120325; 57258; 1.62; 0.28; 2.14; 1.42 -20120326; 56971; 1.61; 0.48; 3.42; 1.46 -20120327; 60980; 1.72; 5.91; 5.52; 1.50 -20120328; 78444; 2.21; 6.83; 0.95; 1.54 -20120329; 79305; 2.24; 2.90; -0.37; 1.58 -20120330; 72434; 2.05; 0.69; 0.35; 1.62 -20120331; 67564; 1.91; 0.25; 1.45; 1.66 -20120401; 66707; 1.88; 0.41; 3.84; 1.70 -20120402; 70143; 1.98; 0.73; 2.98; 1.74 -20120403; 77300; 2.18; 0.46; 5.37; 1.78 -20120404; 93617; 2.64; 2.16; 6.64; 1.82 -20120405; 127688; 3.61; 0.46; 2.76; 1.86 -20120406; 125683; 3.55; 9.53; -0.29; 1.90 -20120407; 109937; 3.10; 0.69; 1.04; 1.94 -20120408; 100204; 2.83; 1.12; 5.49; 1.98 -20120409; 104497; 2.95; 0.08; 6.66; 2.02 -20120410; 121961; 3.44; 0.02; 6.65; 2.06 -20120411; 140856; 3.98; 0.22; 7.17; 2.10 -20120412; 164620; 4.65; 0.85; 9.22; 2.14 -20120413; 224740; 6.35; 9.94; 7.38; 2.18 -20120414; 268256; 7.57; 2.83; 3.57; 2.23 -20120415; 239342; 6.76; 2.38; 5.00; 2.27 -20120416; 226458; 6.39; 2.84; 4.52; 2.31 -20120417; 220161; 6.22; 0.19; 6.36; 2.35 -20120418; 235333; 6.64; 1.76; 8.65; 2.39 -20120419; 270835; 7.65; 1.13; 7.91; 2.43 -20120420; 286294; 8.08; 0.85; 7.61; 2.47 -20120421; 294883; 8.33; 0.31; 9.34; 2.51 -20120422; 323514; 9.13; 5.91; 4.73; 2.55 -20120423; 289156; 8.16; 1.17; 2.61; 2.59 -20120424; 246213; 6.95; 2.14; 1.72; 2.63 -20120425; 215294; 6.08; 8.42; 2.07; 2.67 -20120426; 197544; 5.58; 0.51; 4.73; 2.71 -20120427; 195826; 5.53; 1.46; 10.10; 2.75 -20120428; 251366; 7.10; 2.95; 4.66; 2.79 -20120429; 231611; 6.54; 0.33; 3.12; 2.83 -20120430; 208994; 5.90; 0.62; 7.81; 2.87 -20120501; 231041; 6.52; 0.20; 10.66; 2.90 -20120502; 281141; 7.94; 2.51; 7.54; 2.94 -20120503; 280567; 7.92; 7.69; 8.26; 2.98 -20120504; 320648; 9.05; 5.58; 4.81; 3.02 -20120505; 285434; 8.06; 7.24; 4.97; 3.06 -20120506; 265395; 7.49; 0.29; 3.48; 3.09 -20120507; 238769; 6.74; 0.16; 4.56; 3.13 -20120508; 227318; 6.42; 5.41; 4.96; 3.16 -20120509; 231324; 6.53; 15.75; 4.25; 3.20 -20120510; 237051; 6.69; 5.63; 1.42; 3.24 -20120511; 207276; 5.85; 5.76; 0.87; 3.27 -20120512; 190673; 5.38; 4.20; 3.35; 3.31 -20120513; 178649; 5.04; 0.53; 5.14; 3.34 -20120514; 175213; 4.95; 0.10; 8.04; 3.38 -20120515; 185233; 5.23; 0.27; 9.09; 3.41 -20120516; 209568; 5.92; 0.26; 9.80; 3.44 -20120517; 238198; 6.73; 1.64; 9.88; 3.48 -20120518; 263103; 7.43; 0.01; 9.66; 3.51 -20120519; 279710; 7.90; 2.20; 7.93; 3.54 -20120520; 280280; 7.91; 0.38; 9.28; 3.58 -20120521; 309198; 8.73; 0.09; 12.65; 3.61 -20120522; 346418; 9.78; 0.00; 12.35; 3.64 -20120523; 355006; 10.02; 0.02; 10.06; 3.67 -20120524; 312060; 8.81; 0.22; 9.59; 3.70 -20120525; 294883; 8.33; 0.15; 9.73; 3.73 -20120526; 289156; 8.16; 1.23; 8.66; 3.76 -20120527; 264821; 7.48; 10.12; 9.17; 3.79 -20120528; 317787; 8.97; 1.77; 8.57; 3.81 -20120529; 289156; 8.16; 1.43; 7.79; 3.84 -20120530; 256519; 7.24; 10.92; 6.87; 3.87 -20120531; 257380; 7.27; 8.82; 4.22; 3.90 -20120601; 221878; 6.26; 0.83; 6.85; 3.92 -20120602; 207276; 5.85; 0.02; 11.43; 3.95 -20120603; 218730; 6.18; 0.02; 11.72; 3.97 -20120604; 223883; 6.32; 0.09; 13.59; 4.00 -20120605; 235333; 6.64; 0.02; 14.42; 4.02 -20120606; 240486; 6.79; 0.00; 13.23; 4.04 -20120607; 235907; 6.66; 0.04; 14.38; 4.07 -20120608; 239629; 6.77; 1.37; 11.08; 4.09 -20120609; 219874; 6.21; 3.40; 7.62; 4.11 -20120610; 192104; 5.42; 10.53; 5.51; 4.13 -20120611; 180653; 5.10; 1.12; 4.64; 4.15 -20120612; 175497; 4.96; 19.01; 7.36; 4.17 -20120613; 220734; 6.23; 2.57; 8.97; 4.19 -20120614; 190099; 5.37; 8.26; 11.40; 4.21 -20120615; 221878; 6.26; 3.25; 9.08; 4.23 -20120616; 190673; 5.38; 0.22; 8.87; 4.25 -20120617; 162616; 4.59; 0.02; 10.86; 4.26 -20120618; 150879; 4.26; 0.13; 12.11; 4.28 -20120619; 145439; 4.11; 2.55; 8.82; 4.29 -20120620; 136276; 3.85; 0.23; 10.74; 4.31 -20120621; 127114; 3.59; 0.07; 12.85; 4.32 -20120622; 122821; 3.47; 0.19; 13.69; 4.34 -20120623; 117095; 3.31; 0.00; 12.34; 4.35 -20120624; 107359; 3.03; 0.45; 11.86; 4.36 -20120625; 102205; 2.89; 0.48; 12.21; 4.37 -20120626; 95621; 2.70; 0.12; 13.02; 4.38 -20120627; 89037; 2.51; 0.00; 14.17; 4.39 -20120628; 83311; 2.35; 0.05; 15.27; 4.40 -20120629; 78444; 2.21; 0.04; 15.55; 4.41 -20120630; 73865; 2.09; 0.03; 16.71; 4.42 -20120701; 69856; 1.97; 0.44; 15.02; 4.43 -20120702; 65847; 1.86; 0.10; 12.80; 4.43 -20120703; 63559; 1.79; 4.62; 8.92; 4.44 -20120704; 60980; 1.72; 0.41; 8.29; 4.45 -20120705; 56114; 1.58; 5.18; 9.84; 4.45 -20120706; 56688; 1.60; 5.12; 10.54; 4.45 -20120707; 60694; 1.71; 0.14; 12.21; 4.46 -20120708; 52392; 1.48; 0.64; 13.99; 4.46 -20120709; 48956; 1.38; 1.49; 13.98; 4.46 -20120710; 46952; 1.33; 0.24; 13.52; 4.46 -20120711; 43803; 1.24; 0.00; 14.94; 4.46 -20120712; 41225; 1.16; 0.08; 18.50; 4.46 -20120713; 39224; 1.11; 0.02; 19.44; 4.46 -20120714; 36932; 1.04; 0.00; 17.42; 4.46 -20120715; 35215; 0.99; 0.00; 13.59; 4.46 -20120716; 33497; 0.95; 0.00; 14.46; 4.45 -20120717; 31779; 0.90; 0.00; 16.37; 4.45 -20120718; 30349; 0.86; 0.40; 16.70; 4.44 -20120719; 29201; 0.82; 0.52; 16.36; 4.44 -20120720; 28057; 0.79; 0.16; 17.34; 4.43 -20120721; 27196; 0.77; 0.06; 18.36; 4.43 -20120722; 25737; 0.73; 0.38; 20.02; 4.42 -20120723; 24622; 0.70; 0.08; 15.94; 4.41 -20120724; 23676; 0.67; 0.00; 15.27; 4.40 -20120725; 22876; 0.65; 0.00; 16.84; 4.39 -20120726; 21930; 0.62; 0.17; 17.47; 4.38 -20120727; 21271; 0.60; 0.00; 17.52; 4.37 -20120728; 20386; 0.58; 0.00; 18.51; 4.36 -20120729; 19699; 0.56; 0.00; 20.26; 4.35 -20120730; 19040; 0.54; 0.00; 21.44; 4.34 -20120731; 18551; 0.52; 0.04; 22.43; 4.32 -20120801; 17978; 0.51; 0.15; 20.02; 4.31 -20120802; 17035; 0.48; 0.03; 18.70; 4.29 -20120803; 16547; 0.47; 0.09; 19.23; 4.28 -20120804; 16146; 0.46; 0.18; 19.28; 4.26 -20120805; 15690; 0.44; 0.07; 17.14; 4.25 -20120806; 15172; 0.43; 0.00; 17.54; 4.23 -20120807; 14829; 0.42; 0.00; 17.55; 4.21 -20120808; 14259; 0.40; 0.00; 18.05; 4.19 -20120809; 13827; 0.39; 0.00; 20.05; 4.17 -20120810; 13600; 0.38; 1.61; 18.21; 4.15 -20120811; 13543; 0.38; 0.35; 15.60; 4.13 -20120812; 13770; 0.39; 0.00; 15.28; 4.11 -20120813; 13370; 0.38; 0.00; 14.69; 4.09 -20120814; 12711; 0.36; 0.00; 13.74; 4.07 -20120815; 12311; 0.35; 0.00; 14.24; 4.04 -20120816; 12081; 0.34; 0.00; 14.04; 4.02 -20120817; 11765; 0.33; 0.00; 15.25; 4.00 -20120818; 11595; 0.33; 0.14; 14.24; 3.97 -20120819; 11337; 0.32; 0.01; 11.52; 3.95 -20120820; 11224; 0.32; 0.07; 10.50; 3.92 -20120821; 11078; 0.31; 0.00; 11.34; 3.90 -20120822; 11050; 0.31; 0.00; 14.06; 3.87 -20120823; 11050; 0.31; 0.00; 17.47; 3.84 -20120824; 10937; 0.31; 1.56; 16.10; 3.81 -20120825; 10908; 0.31; 0.01; 16.65; 3.79 -20120826; 10993; 0.31; 0.13; 13.92; 3.76 -20120827; 10565; 0.30; 0.07; 11.21; 3.73 -20120828; 10306; 0.29; 0.00; 10.52; 3.70 -20120829; 10165; 0.29; 0.09; 11.89; 3.67 -20120830; 10019; 0.28; 0.00; 12.96; 3.64 -20120831; 9963; 0.28; 0.46; 12.40; 3.61 -20120901; 12913; 0.36; 15.28; 10.72; 3.57 -20120902; 15948; 0.45; 5.48; 7.24; 3.54 -20120903; 16146; 0.46; 0.13; 6.69; 3.51 -20120904; 13944; 0.39; 2.71; 7.84; 3.48 -20120905; 18980; 0.54; 10.22; 7.58; 3.44 -20120906; 19182; 0.54; 1.72; 6.70; 3.41 -20120907; 15374; 0.43; 0.21; 9.52; 3.38 -20120908; 13455; 0.38; 6.08; 9.36; 3.34 -20120909; 15374; 0.43; 1.76; 6.71; 3.31 -20120910; 18208; 0.51; 14.64; 6.44; 3.27 -20120911; 25507; 0.72; 4.76; 9.89; 3.23 -20120912; 22302; 0.63; 0.17; 13.12; 3.20 -20120913; 17722; 0.50; 0.21; 15.03; 3.16 -20120914; 15172; 0.43; 0.16; 17.73; 3.13 -20120915; 13742; 0.39; 0.00; 16.97; 3.09 -20120916; 12885; 0.36; 7.76; 15.84; 3.05 -20120917; 12481; 0.35; 0.05; 14.20; 3.02 -20120918; 13398; 0.38; 1.19; 12.12; 2.98 -20120919; 13168; 0.37; 1.41; 10.80; 2.94 -20120920; 12598; 0.36; 6.47; 6.92; 2.90 -20120921; 14429; 0.41; 3.16; 3.11; 2.86 -20120922; 14142; 0.40; 0.07; 0.16; 2.82 -20120923; 13083; 0.37; 0.02; 0.80; 2.79 -20120924; 12424; 0.35; 0.08; 5.35; 2.75 -20120925; 12169; 0.34; 0.03; 7.84; 2.71 -20120926; 11939; 0.34; 0.00; 8.58; 2.67 -20120927; 11595; 0.33; 0.15; 9.85; 2.63 -20120928; 11337; 0.32; 0.12; 10.78; 2.59 -20120929; 11224; 0.32; 23.65; 8.32; 2.55 -20120930; 15803; 0.45; 43.86; 8.22; 2.51 -20121001; 68425; 1.93; 38.44; 8.02; 2.47 -20121002; 87894; 2.48; 0.67; 4.97; 2.43 -20121003; 48383; 1.37; 0.61; 3.67; 2.39 -20121004; 33210; 0.94; 0.00; 3.14; 2.35 -20121005; 27370; 0.77; 0.07; 2.99; 2.31 -20121006; 24250; 0.68; 0.04; 3.58; 2.26 -20121007; 22217; 0.63; 0.02; 6.08; 2.22 -20121008; 20814; 0.59; 0.80; 8.57; 2.18 -20121009; 19727; 0.56; 0.07; 9.84; 2.14 -20121010; 18838; 0.53; 0.76; 7.06; 2.10 -20121011; 18551; 0.52; 1.13; 5.68; 2.06 -20121012; 18636; 0.53; 16.46; 4.11; 2.02 -20121013; 28914; 0.82; 23.25; 3.39; 1.98 -20121014; 40655; 1.15; 3.87; 4.28; 1.94 -20121015; 37790; 1.07; 0.42; 4.96; 1.90 -20121016; 31779; 0.90; 0.21; 6.21; 1.86 -20121017; 28199; 0.80; 0.09; 8.56; 1.82 -20121018; 26768; 0.76; 2.39; 7.04; 1.77 -20121019; 29201; 0.82; 4.47; 5.52; 1.74 -20121020; 30349; 0.86; 7.90; 6.42; 1.69 -20121021; 43230; 1.22; 10.17; 1.59; 1.65 -20121022; 43516; 1.23; 0.44; 0.29; 1.61 -20121023; 35502; 1.00; 0.72; 2.27; 1.57 -20121024; 32066; 0.91; 0.58; 4.28; 1.53 -20121025; 30349; 0.86; 0.27; 4.48; 1.50 -20121026; 28631; 0.81; 0.31; 4.86; 1.46 -20121027; 27884; 0.79; 2.27; 4.18; 1.42 -20121028; 27168; 0.77; 1.26; 3.93; 1.38 -20121029; 28457; 0.80; 7.51; 2.09; 1.34 -20121030; 29488; 0.83; 0.17; 0.79; 1.30 -20121031; 27455; 0.78; 1.22; 0.06; 1.26 -20121101; 26655; 0.75; 2.15; -1.63; 1.22 -20121102; 25624; 0.72; 0.49; -2.01; 1.18 -20121103; 23704; 0.67; 0.29; -0.89; 1.15 -20121104; 24165; 0.68; 10.43; 0.56; 1.11 -20121105; 26509; 0.75; 5.44; -1.98; 1.07 -20121106; 25107; 0.71; 0.18; -2.94; 1.03 -20121107; 23446; 0.66; 0.62; -4.35; 1.00 -20121108; 22043; 0.62; 14.13; -4.56; 0.96 -20121109; 23417; 0.66; 2.58; -7.28; 0.93 -20121110; 20071; 0.57; 0.53;-11.08; 0.89 -20121111; 17322; 0.49; 0.15; -9.25; 0.86 -20121112; 20042; 0.57; 0.11; -8.73; 0.82 -20121113; 19125; 0.54; 0.28; -8.13; 0.79 -20121114; 18523; 0.52; 0.11; -8.58; 0.75 -20121115; 17921; 0.51; 0.69; -7.68; 0.72 -20121116; 19355; 0.55; 0.10; -6.23; 0.69 -20121117; 20212; 0.57; 0.09; -6.67; 0.65 -20121118; 18753; 0.53; 0.00; -5.61; 0.62 -20121119; 17322; 0.49; 0.60; -5.77; 0.59 -20121120; 16377; 0.46; 0.65; -4.31; 0.56 -20121121; 15888; 0.45; 0.16; -3.05; 0.53 -20121122; 16061; 0.45; 0.00; -4.36; 0.49 -20121123; 15459; 0.44; 2.19; -4.06; 0.46 -20121124; 16231; 0.46; 2.63; -3.73; 0.43 -20121125; 18866; 0.53; 0.91; -2.82; 0.41 -20121126; 19497; 0.55; 3.92; -2.20; 0.38 -20121127; 19384; 0.55; 9.82; -2.80; 0.35 -20121128; 18551; 0.52; 0.40; -4.76; 0.32 -20121129; 17290; 0.49; 9.01; -4.54; 0.29 -20121130; 17577; 0.50; 1.94; -3.66; 0.27 -20121201; 18353; 0.52; 0.17; -3.43; 0.24 -20121202; 16834; 0.48; 0.46; -4.02; 0.21 -20121203; 16348; 0.46; 0.00; -2.92; 0.19 -20121204; 17666; 0.50; 0.24; -4.01; 0.17 -20121205; 16635; 0.47; 0.07; -3.30; 0.14 -20121206; 16490; 0.47; 0.05; -2.79; 0.12 -20121207; 15690; 0.44; 0.10; -4.11; 0.10 -20121208; 15318; 0.43; 0.11; -4.87; 0.07 -20121209; 15201; 0.43; 5.68; -4.24; 0.05 -20121210; 16005; 0.45; 5.84; -6.95; 0.03 -20121211; 15633; 0.44; 0.75;-10.74; 0.01 -20121212; 12024; 0.34; 0.08;-12.67; 0.00 -20121213; 13483; 0.38; 6.79; -9.78; 0.00 -20121214; 15775; 0.45; 15.45; -5.15; 0.00 -20121215; 18038; 0.51; 14.17; -6.36; 0.00 -20121216; 18236; 0.51; 10.20; -7.46; 0.00 -20121217; 18895; 0.53; 12.37; -3.85; 0.00 -20121218; 17577; 0.50; 1.29; -5.32; 0.00 -20121219; 17351; 0.49; 5.76; -6.23; 0.00 -20121220; 16749; 0.47; 0.01; -9.76; 0.00 -20121221; 16547; 0.47; 2.94; -7.28; 0.00 -20121222; 16175; 0.46; 6.48; -3.54; 0.00 -20121223; 17892; 0.51; 6.61; -1.71; 0.00 -20121224; 18608; 0.53; 7.52; -2.23; 0.00 -20121225; 17634; 0.50; 0.05; -2.75; 0.00 -20121226; 16603; 0.47; 0.41; -1.95; 0.00 -20121227; 16260; 0.46; 0.66; -1.69; 0.00 -20121228; 16260; 0.46; 0.37; -3.18; 0.00 -20121229; 15888; 0.45; 0.16; -4.72; 0.00 -20121230; 15374; 0.43; 0.32; -3.12; 0.00 -20121231; 15289; 0.43; 0.20; -1.94; 0.00 diff --git a/files_misc/airGR_AdvancedExample/Test_DataInput/List_HypsoData.txt b/files_misc/airGR_AdvancedExample/Test_DataInput/List_HypsoData.txt deleted file mode 100644 index cd60bfe913916db096f8a8e55d28fc0bd79bba00..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/Test_DataInput/List_HypsoData.txt +++ /dev/null @@ -1,3 +0,0 @@ - CODE Zmin Z01 Z02 Z03 Z04 Z05 Z06 Z07 Z08 Z09 Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17 Z18 Z19 Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27 Z28 Z29 Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37 Z38 Z39 Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47 Z48 Z49 Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57 Z58 Z59 Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67 Z68 Z69 Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77 Z78 Z79 Z80 Z81 Z82 Z83 Z84 Z85 Z86 Z87 Z88 Z89 Z90 Z91 Z92 Z93 Z94 Z95 Z96 Z97 Z98 Z99 Zmax -L0123001 7 40 54 60 65 69 73 75 78 80 83 85 87 89 91 93 95 98 100 102 105 107 110 112 115 117 119 121 124 126 128 130 132 134 137 139 141 143 145 146 148 150 151 153 155 156 157 159 160 162 163 164 166 167 168 169 170 172 173 174 175 176 177 178 179 180 180 181 182 183 184 184 185 186 187 188 189 190 191 192 193 195 196 198 199 201 203 205 208 210 213 216 219 223 228 232 237 244 253 265 315 -L0123002 471 656 749 808 868 908 948 991 1023 1052 1075 1101 1120 1148 1167 1185 1210 1229 1242 1259 1277 1291 1305 1318 1328 1340 1350 1366 1377 1389 1402 1413 1424 1435 1449 1460 1474 1487 1498 1511 1523 1538 1551 1564 1573 1584 1593 1603 1614 1626 1636 1648 1661 1672 1682 1693 1705 1715 1724 1733 1742 1751 1759 1768 1777 1787 1795 1802 1813 1822 1832 1840 1849 1858 1867 1874 1882 1891 1899 1909 1919 1931 1941 1948 1958 1965 1976 1987 1999 2013 2027 2047 2058 2078 2097 2117 2146 2177 2221 2264 2539 diff --git a/files_misc/airGR_AdvancedExample/example_AdvancedMain.R b/files_misc/airGR_AdvancedExample/example_AdvancedMain.R deleted file mode 100644 index be1f315c9b0c40cc0e3c1f60d5bcb28a5929b275..0000000000000000000000000000000000000000 --- a/files_misc/airGR_AdvancedExample/example_AdvancedMain.R +++ /dev/null @@ -1,134 +0,0 @@ -##_______________________________________________________________________________________________## -## Example for Main script to perform model calibration and runs with R ## -## ## -## Laurent Coron - July 2014 - example_AdvancedMain ## -##_______________________________________________________________________________________________## - - - -##__Directories_and_functions_loading__________________________________________________________#### - DIR_ROOT <- "C:/Data/MyWorkingDir/airGR_AdvancedExample/"; - ### DIR_ROOT <- "C:/Data/Hydrologie/Codes/airGR_dev/airGR_dev_0.7/files_misc/airGR_AdvancedExample/"; - DIR_DATA_INPUT <- paste(DIR_ROOT,"Test_DataInput/",sep=""); - DIR_DATA_OUTPUT <- paste(DIR_ROOT,"Test_DataOutput/",sep=""); - DIR_MyFunctions <- paste(DIR_ROOT,"MyFunctions/",sep=""); - Load <- require(airGR); if(!Load){ cat("Error: airGR is not installed \n"); stop("RUN STOPPED",call.=FALSE); } - for(FileName in list.files(DIR_MyFunctions,pattern="\\.[Rr]$")){ source(file.path(DIR_MyFunctions,FileName)); } - - - -##__Basins_Loop________________________________________________________________________________#### - ListBasinCode <- c("L0123001","L0123002"); ClearData_Basin <- FALSE; - for(iBasin in 1:length(ListBasinCode)){ - - -##__Data_import________________________________________________________________________________#### - BasinCode <- ListBasinCode[iBasin]; - HypsoDataFile <- paste(DIR_DATA_INPUT,"List_HypsoData.txt",sep=""); - BasinData <- DataImport_TutorialExamples(DIR_DATA_INPUT,BasinCode,BasinCharactFile,HypsoDataFile) - - -##__Periods_Selection__________________________________________________________________________#### - IndPeriod_WarmUp_Cal <- which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="01/01/1989"):which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="31/12/1989"); - IndPeriod_Run_Cal <- which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="01/01/1990"):which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="31/12/1999"); - IndPeriod_WarmUp_Sim <- which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="01/01/2000"):which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="31/12/2000"); - IndPeriod_Run_Sim <- which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="01/01/2001"):which(format(BasinData$TabDatesR,format="%d/%m/%Y")=="31/12/2005"); - - -##__Models_Loop________________________________________________________________________________#### - ListModelName <- c("GR4J","GR6J","CemaNeigeGR4J"); ClearData_Model <- FALSE; ### "GR4J" "GR5J" "GR6J" "CemaNeigeGR4J" "CemaNeigeGR5J" "CemaNeigeGR6J" - for(iModel in 1:length(ListModelName)){ - - -##__Model_preparation__________________________________________________________________________#### - ModelName <- ListModelName[iModel] - FUN_MOD <- get(paste("RunModel_",ModelName,sep="")); - InputsModel <- CreateInputsModel(FUN_MOD=FUN_MOD,DatesR=BasinData$TabDatesR,Precip=BasinData$TabObsP,PotEvap=BasinData$TabObsE, - TempMean=BasinData$TabObsT,ZInputs=BasinData$HypsoData[51],HypsoData=BasinData$HypsoData,NLayers=5); - ### NB. for systematic testing with different models of the same family, CreateInputsModel could be called only once before the loop on models - - -##__Calibration_on_IndPeriod_Run_Cal______________________________________________________________#### - ##RunOptions - RunOptions <- CreateRunOptions(FUN_MOD=FUN_MOD,InputsModel=InputsModel,IndPeriod_WarmUp=IndPeriod_WarmUp_Cal,IndPeriod_Run=IndPeriod_Run_Cal) - ##ErrorCriterion - FUN_CRIT <- ErrorCrit_NSE - InputsCrit <- CreateInputsCrit(FUN_CRIT=FUN_CRIT,InputsModel=InputsModel,RunOptions=RunOptions,Qobs=BasinData$TabObsQmm[IndPeriod_Run_Cal]) - ##CalibOptions - FUN_CALIB <- Calibration_HBAN - CalibOptions <- CreateCalibOptions(FUN_MOD=FUN_MOD,FUN_CALIB=FUN_CALIB) - ##Calibration - OutputsCalib <- Calibration(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit,CalibOptions=CalibOptions,FUN_MOD=FUN_MOD,FUN_CRIT=FUN_CRIT,FUN_CALIB=FUN_CALIB) - Param <- OutputsCalib$ParamFinalR; - - -##__Simulation_on_IndPeriod_Run_Cal_______________________________________________________________#### - ##RunOptions - RunOptions <- CreateRunOptions(FUN_MOD=FUN_MOD,InputsModel=InputsModel,IndPeriod_WarmUp=IndPeriod_WarmUp_Cal,IndPeriod_Run=IndPeriod_Run_Cal) - ##Model_run - cat("\t Simulation on IndPeriod_Run_Cal\n"); - OutputsModel_Cal <- RunModel(InputsModel,RunOptions,Param,FUN=FUN_MOD); - ##Error_criterion_NSE - InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,RunOptions=RunOptions,Qobs=BasinData$TabObsQmm[IndPeriod_Run_Cal]) - OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel_Cal) - cat(paste("\t Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - ##Error_criterion_KGE_log - transfo <- "log" - Ind_zeroes <- which(round(BasinData$TabObsQmm[IndPeriod_Run_Cal],3)==0) - epsilon_m3s <- 0.01; epsilon_mmj <- epsilon_m3s*86.4/BasinData$BasinArea_km2 - InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,RunOptions=RunOptions,Qobs=BasinData$TabObsQmm[IndPeriod_Run_Cal], - transfo=transfo,Ind_zeroes=Ind_zeroes,epsilon=epsilon_mmj) - OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel_Cal) - cat(paste("\t Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - - -##__Simulation_on_IndPeriod_Run_Cal_______________________________________________________________#### - ##RunOptions - RunOptions <- CreateRunOptions(FUN_MOD=FUN_MOD,InputsModel=InputsModel,IndPeriod_WarmUp=IndPeriod_WarmUp_Sim,IndPeriod_Run=IndPeriod_Run_Sim) - ##Model_run - cat("\t Simulation on IndPeriod_Run_Sim\n"); - OutputsModel_Sim <- RunModel(InputsModel,RunOptions,Param,FUN=FUN_MOD); - ##Error_criterion_NSE - InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,RunOptions=RunOptions,Qobs=BasinData$TabObsQmm[IndPeriod_Run_Sim]) - OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel_Sim) - cat(paste("\t Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - ##Error_criterion_KGE_log - transfo <- "log" - Ind_zeroes <- which(round(BasinData$TabObsQmm[IndPeriod_Run_Sim],3)==0) - epsilon_m3s <- 0.01; epsilon_mmj <- epsilon_m3s*86.4/BasinData$BasinArea_km2 - InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,RunOptions=RunOptions,Qobs=BasinData$TabObsQmm[IndPeriod_Run_Sim], - transfo=transfo,Ind_zeroes=Ind_zeroes,epsilon=epsilon_mmj) - OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel_Sim) - cat(paste("\t Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - - -##__Results_export_____________________________________________________________________________#### - - ##Results_plot - IndPeriod_Plot <- 1:length(OutputsModel_Sim$Qsim); - plot_OutputsModel(OutputsModel=OutputsModel_Sim,Qobs=BasinData$TabObsQmm[IndPeriod_Run_Sim],IndPeriod_Plot=IndPeriod_Plot) - layout(1) - plotScreen_TS_Q_CalSim(BasinData$TabDatesR,BasinData$TabObsQmm,IndPeriod_Run_Cal,OutputsModel_Cal,IndPeriod_Run_Sim,OutputsModel_Sim); - - ##Results_table_export - ExportFile <- paste(DIR_DATA_OUTPUT,"Export_",BasinCode,"_",ModelName,"_PEQ_Cal.txt",sep=""); - IndPeriod_Export <- 1:length(OutputsModel_Cal$Qsim); - DataExport_PEQ(BasinData$TabObsQmm[IndPeriod_Run_Cal],OutputsModel_Cal,IndPeriod_Export,ExportFile); - ExportFile <- paste(DIR_DATA_OUTPUT,"Export_",BasinCode,"_",ModelName,"_PEQ_Sim.txt",sep=""); - IndPeriod_Export <- 1:length(OutputsModel_Sim$Qsim); - DataExport_PEQ(BasinData$TabObsQmm[IndPeriod_Run_Sim],OutputsModel_Sim,IndPeriod_Export,ExportFile); - ExportFile <- paste(DIR_DATA_OUTPUT,"Export_",BasinCode,"_",ModelName,"_ALL_Cal.txt",sep=""); - IndPeriod_Export <- 1:length(OutputsModel_Sim$Qsim); - DataExport_ALL(BasinData$TabObsQmm[IndPeriod_Run_Sim],OutputsModel_Sim,IndPeriod_Export,ExportFile); - - -##__End_loop_on_model_and_basin_list___________________________________________________________#### - if(ClearData_Model==TRUE){ rm(InputsModel); rm(InputsCrit); - if(exists("OutputsCalib")){ rm(OutputsCalib); }; - if(exists("OutputsModel")){ rm(OutputsModel); }; - if(exists("OutputsModel_Cal")){ rm(OutputsModel_Cal); }; - if(exists("OutputsModel_Sim")){ rm(OutputsModel_Sim); }; } - } ##end_model_loop - if(ClearData_Basin==TRUE){ rm(BasinData); } - } ##end_basin_loop - diff --git a/files_src/frun_CEMANEIGE.f b/files_src/frun_CEMANEIGE.f deleted file mode 100644 index fddc6a5fd4a95f5fc01c9fae385ff8d96b34d542..0000000000000000000000000000000000000000 --- a/files_src/frun_CEMANEIGE.f +++ /dev/null @@ -1,128 +0,0 @@ - - - SUBROUTINE frun_CEMANEIGE( - !inputs - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsFracSolidPrecip, ! [double] input series of fraction of solid precipitation [0-1] - & InputsTemp , ! [double] input series of air mean temperature [degC] - & MeanAnSolidPrecip , ! [double] value of annual mean solid precip [mm/y] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising = 2 - & StateStart , ! [double] state variables used when the model run starts - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_cemaneige - - - Implicit None - !### input and output variables - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, intent(in) :: MeanAnSolidPrecip - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsFracSolidPrecip - doubleprecision, dimension(LInputs) :: InputsTemp - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - doubleprecision CTG,Kf - doubleprecision G,eTG,PliqAndMelt - doubleprecision Tmelt,Gthreshold,MinSpeed - doubleprecision Pliq,Psol,Gratio,PotMelt,Melt - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation des constantes - Tmelt=0 - Gthreshold=0.9*MeanAnSolidPrecip - MinSpeed=0.1 - - !initilisation of model states using StateStart - G=StateStart(1) - eTG=StateStart(2) - PliqAndMelt=0 - - !setting parameter values - CTG=Param(1) - Kf=Param(2) - - !initialisation of model outputs -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - - !SolidPrecip and LiquidPrecip - Pliq=(1-InputsFracSolidPrecip(k))*InputsPrecip(k) - Psol=InputsFracSolidPrecip(k)*InputsPrecip(k) - - !Snow pack volume before melt - G=G+Psol - - !Snow pack thermal state before melt - eTG=CTG*eTG + (1-CTG)*InputsTemp(k) - IF(eTG.GT.0) eTG=0 - - !Potential melt - IF(eTG.EQ.0.AND.InputsTemp(k).GT.Tmelt) THEN - PotMelt=Kf*(InputsTemp(k)-Tmelt) - IF(PotMelt.GT.G) PotMelt=G - ELSE - PotMelt=0 - ENDIF - - !Gratio - IF(G.LT.Gthreshold) THEN - Gratio=G/Gthreshold - ELSE - Gratio=1 - ENDIF - - !Actual melt - Melt=((1-MinSpeed)*Gratio+MinSpeed)*PotMelt - - !Update of snow pack volume - G=G-Melt - - !Water volume to pass to the hydrological model - PliqAndMelt=Pliq+Melt - - !Storage of outputs - DO I=1,NOutputs - IF(IndOutputs(I).EQ.1) Outputs(k,I)=Pliq - IF(IndOutputs(I).EQ.2) Outputs(k,I)=Psol - IF(IndOutputs(I).EQ.3) Outputs(k,I)=G - IF(IndOutputs(I).EQ.4) Outputs(k,I)=eTG - IF(IndOutputs(I).EQ.5) Outputs(k,I)=Gratio - IF(IndOutputs(I).EQ.6) Outputs(k,I)=PotMelt - IF(IndOutputs(I).EQ.7) Outputs(k,I)=Melt - IF(IndOutputs(I).EQ.8) Outputs(k,I)=PliqAndMelt - ENDDO - - ENDDO - - StateEnd(1)=G - StateEnd(2)=eTG - - RETURN - - ENDSUBROUTINE - diff --git a/files_src/frun_GR4J.f b/files_src/frun_GR4J.f deleted file mode 100644 index 953e7647eb4dcf2fed539bf9543f96b4fb30ce50..0000000000000000000000000000000000000000 --- a/files_src/frun_GR4J.f +++ /dev/null @@ -1,225 +0,0 @@ - - - SUBROUTINE frun_GR4J( - !inputs - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr4j - - - Implicit None - !### input and output variables - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - - !computation of HU ordinates - D=2.5 - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - CALL MOD_GR4J(X,XV,Param,P1,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - - - - - -c################################################################################################################################ - - - - -C********************************************************************** - SUBROUTINE MOD_GR4J(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src/frun_GR5J.f b/files_src/frun_GR5J.f deleted file mode 100644 index 4b7b73515685d0ebeaf68a0b43cfc70d3978b320..0000000000000000000000000000000000000000 --- a/files_src/frun_GR5J.f +++ /dev/null @@ -1,226 +0,0 @@ - - - SUBROUTINE frun_GR5J( - !inputs - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr5j - - - Implicit None - !### input and output variables - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - !Param(5) : intercatchment exchange constant (X5 - CES2) [-] - - !computation of HU ordinates - D=2.5 - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - CALL MOD_GR5J(X,XV,Param,P1,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - - - - - -c################################################################################################################################ - - - - -C********************************************************************** - SUBROUTINE MOD_GR5J(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR5J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=5) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src/frun_GR6J.f b/files_src/frun_GR6J.f deleted file mode 100644 index 9d7f9373ffb61bb0850481dd3c92ad132aa999de..0000000000000000000000000000000000000000 --- a/files_src/frun_GR6J.f +++ /dev/null @@ -1,249 +0,0 @@ - - - SUBROUTINE frun_GR6J( - !inputs - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr6j - - - Implicit None - !### input and output variables - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - !Param(5) : intercatchment exchange constant (X5 - CES2) [-] - !Param(6) : time constant of exponential store (X6 - EXP) [d] - - !computation of HU ordinates - D=2.5 - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - CALL MOD_GR6J(X,XV,Param,P1,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - - - - - -c################################################################################################################################ - - - - -C********************************************************************** - SUBROUTINE MOD_GR6J(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src/utils.f b/files_src/utils.f deleted file mode 100644 index 2028bc71f5cd42b3941f3113a5c438b80b8198c0..0000000000000000000000000000000000000000 --- a/files_src/utils.f +++ /dev/null @@ -1,272 +0,0 @@ - - -C********************************************************************** - SUBROUTINE HU1(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,D,SS1 - INTEGER I - - DO I=1,NH - XV(3*NPX+I)=SS1(I,C,D)-SS1(I-1,C,D) - ENDDO - ENDSUBROUTINE - - -C********************************************************************** - SUBROUTINE HU2(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,D,SS2 - INTEGER I - - DO I =1,2*NH - XV(3*NPX+NH+I)=SS2(I,C,D)-SS2(I-1,C,D) - ENDDO - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU4(XV,ALPHA,BETA) -C Computation of ordinates of MOHYSE unit hydrograph -C Inputs: -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH),U(3*NH) - DOUBLEPRECISION ALPHA,BETA,SU - INTEGER K - - SU=0. -c IF(ALPHA.LT.1.)THEN -c WRITE(*,*)' Pb ALPHA' -c STOP -c ENDIF - IF(ALPHA.EQ.1.)THEN - U(1)=1. - SU=1. - DO 1 K=2,3*NH - U(K)=0. - 1 CONTINUE - ELSE - DO 11 K=1,3*NH - U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA) - SU=SU+U(K) - 11 CONTINUE - ENDIF - -c IF(SU.LT.0.0000000001)THEN -c WRITE(*,*)' Pb HU4',ALPHA, BETA -c STOP -c ENDIF - DO 2 K=1,3*NH - XV(3*NPX+K)=U(K)/SU - 2 CONTINUE - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU(XV,C) -C Computation of ordinates of GRP unit hydrograph -C Inputs: -C C: time constant -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C - DOUBLEPRECISION SH - INTEGER I - DO 10 I=1,2*NH - XV(3*NPX+NH+I)=SH(I,C)-SH(I-1,C) - 10 CONTINUE - RETURN - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION SH(I,C) -C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU -C Inputs: -C C: time constant -C I: time-step -C Outputs: -C SH: Values of the S curve for I -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION C - DOUBLEPRECISION SH,FI - INTEGER I - - FI=I - IF(FI.LE.0.)THEN - SH=0. - RETURN - ENDIF - IF(FI.GE.C)THEN - SH=1. - RETURN - ENDIF - SH=FI**2.5/(FI**2.5+(C-FI)**2.5) - RETURN - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS1(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS1: Values of the S curve for I -C********************************************************************** - Implicit None - DOUBLEPRECISION C,D,SS1 - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS1=0. - RETURN - ENDIF - IF(FI.LT.C) THEN - SS1=(FI/C)**D - RETURN - ENDIF - SS1=1. - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS2(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS2: Values of the S curve for I -C********************************************************************** - Implicit None - DOUBLEPRECISION C,D,SS2 - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS2=0. - RETURN - ENDIF - IF(FI.LE.C) THEN - SS2=0.5*(FI/C)**D - RETURN - ENDIF - IF(FI.LT.2.*C) THEN - SS2=1.-0.5*(2.-FI/C)**D - RETURN - ENDIF - SS2=1. - ENDFUNCTION - - - -C********************************************************************** - SUBROUTINE DEL(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,F - INTEGER I,K - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+3*NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE DEL2(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,F - INTEGER K,I - - IF(C.GT.FLOAT(NH)) C=FLOAT(NH) - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION tanHyp(Val) -C Computation of hyperbolic tangent -C********************************************************************** - Implicit None - DOUBLEPRECISION Val,ValExp,tanHyp - - ValExp=EXP(Val) - tanHyp=(ValExp - 1./ValExp)/(ValExp + 1./ValExp) - RETURN - ENDFUNCTION - diff --git a/files_src_PLUS/MOD_GR4J_010.f b/files_src_PLUS/MOD_GR4J_010.f deleted file mode 100644 index 0e14803389a4454357f541570c1c268eb5fc881d..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_010.f +++ /dev/null @@ -1,119 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_010(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_020.f b/files_src_PLUS/MOD_GR4J_020.f deleted file mode 100644 index a6cba6f754d7c8861e7d9436612567d8aeb6bcfe..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_020.f +++ /dev/null @@ -1,132 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_020(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store -c IF(P1.LE.E) THEN -c EN=E-P1 -c PN=0. -c WS=EN/A -c IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) -c AE=ER+P1 -c IF(X(2).LT.ER) AE=X(2)+P1 -c X(2)=X(2)-ER -c PR=0. -c ELSE -c EN=0. -c AE=E -c PN=P1-E -c WS=PN/A -c IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) -c PR=PN-PS -c X(2)=X(2)+PS -c ENDIF - PN=P1 - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - EN=E - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER - IF(X(2).LT.ER) AE=X(2) - X(2)=X(2)-ER - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_030.f b/files_src_PLUS/MOD_GR4J_030.f deleted file mode 100644 index 382e7a7cd72b00b6bd3952b8c66194993ec7871d..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_030.f +++ /dev/null @@ -1,119 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_030(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store -c IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) -c X(2)=X(2)-PERC - -c PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_040.f b/files_src_PLUS/MOD_GR4J_040.f deleted file mode 100644 index 99de72b1847164ef924aace5b1d2db6d9cc34657..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_040.f +++ /dev/null @@ -1,130 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_040(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - -c PRHU1=PR*B -c PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 -c DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) -c X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 -c ENDDO -c X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 -c DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) -c X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 -c ENDDO -c X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PR - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PR - - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH -c IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - IF((X(1)+0.9*X(8+NH)+EXCH).LT.0) AEXCH1=-X(1)-0.9*X(8+NH) -c X(1)=X(1)+X(8)+EXCH - X(1)=X(1)+0.9*X(8+NH)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH -c IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - IF((0.1*X(8+NH)+EXCH).LT.0) AEXCH2=-0.1*X(8+NH) -c QD=MAX(0.,X(8+NH)+EXCH) - QD=MAX(0.,0.1*X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_051.f b/files_src_PLUS/MOD_GR4J_051.f deleted file mode 100644 index a955a884e0606d6a18d38f2825c2bcff0077614b..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_051.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_051(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(1.50*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_052.f b/files_src_PLUS/MOD_GR4J_052.f deleted file mode 100644 index 584e9582fd3150b5705b8d494c7307afe21baefc..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_052.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_052(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(2.00*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_053.f b/files_src_PLUS/MOD_GR4J_053.f deleted file mode 100644 index c0e8ddb823f84c19cca74764e45343e8c150b7ec..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_053.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_053(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(2.25*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_054.f b/files_src_PLUS/MOD_GR4J_054.f deleted file mode 100644 index 9b67ae2ff03250d187331698eea74d3adc3ba0df..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_054.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_054(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(2.50*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_055.f b/files_src_PLUS/MOD_GR4J_055.f deleted file mode 100644 index c6269287a28a24eb645871a6c28629a65cdacdc1..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_055.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_055(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(3.00*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_071.f b/files_src_PLUS/MOD_GR4J_071.f deleted file mode 100644 index 56d5eaaeb100ef9b97222e4c7f94d59ab337efbe..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_071.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_071(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. -c QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - QR=X(1)*(1.-(1.+(X(1)/Param(3))**3.)**(-1./3.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_072.f b/files_src_PLUS/MOD_GR4J_072.f deleted file mode 100644 index 151b192ae4ddbba95825c75489a6ca6c4f57dc61..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_072.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_072(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. -c QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_073.f b/files_src_PLUS/MOD_GR4J_073.f deleted file mode 100644 index 6bf0b03ad5f04a5d8a3aa2018c1ef9e41abe3a28..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_073.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_073(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. -c QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - QR=X(1)*(1.-(1.+(X(1)/Param(3))**5.)**(-1./5.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_081.f b/files_src_PLUS/MOD_GR4J_081.f deleted file mode 100644 index 06709344286a1240961fed9ad65058c62a53de2f..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_081.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_081(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.75/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_082.f b/files_src_PLUS/MOD_GR4J_082.f deleted file mode 100644 index 18d872488750e0fc470054de7d847fbb6b65e66e..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_082.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_082(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.80/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_083.f b/files_src_PLUS/MOD_GR4J_083.f deleted file mode 100644 index c664b4410fbdac5240280be4f285854e8ecf21ee..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_083.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_083(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.85/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_084.f b/files_src_PLUS/MOD_GR4J_084.f deleted file mode 100644 index af9fec7e72b38d4e4f80d28de769ffba846a41f6..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_084.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_084(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.90/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_085.f b/files_src_PLUS/MOD_GR4J_085.f deleted file mode 100644 index 508e4c4dcec2eb6d32b3a4d9d5eba732bd94c020..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_085.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_085(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.95/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR4J_086.f b/files_src_PLUS/MOD_GR4J_086.f deleted file mode 100644 index bc3ecd5316b241cecf00b6815eee7fe06c8a9d96..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR4J_086.f +++ /dev/null @@ -1,120 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR4J_086(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR4J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=4) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/1.00/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3))**3.5 - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR5J_010.f b/files_src_PLUS/MOD_GR5J_010.f deleted file mode 100644 index 6fe4764c0c20958543d222c7b75671f8c6944040..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR5J_010.f +++ /dev/null @@ -1,119 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR5J_010(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR5J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=5) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(14)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_010.f b/files_src_PLUS/MOD_GR6J_010.f deleted file mode 100644 index 151fca8999564db73e1c2a84ba5787de6554260b..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_010.f +++ /dev/null @@ -1,141 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_010(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_020.f b/files_src_PLUS/MOD_GR6J_020.f deleted file mode 100644 index 16730f7e2583244f491e24767556070cf93a7b83..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_020.f +++ /dev/null @@ -1,154 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_020(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store -c IF(P1.LE.E) THEN -c EN=E-P1 -c PN=0. -c WS=EN/A -c IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) -c AE=ER+P1 -c IF(X(2).LT.ER) AE=X(2)+P1 -c X(2)=X(2)-ER -c PR=0. -c ELSE -c EN=0. -c AE=E -c PN=P1-E -c WS=PN/A -c IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) -c PR=PN-PS -c X(2)=X(2)+PS -c ENDIF - PN=P1 - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - EN=E - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER - IF(X(2).LT.ER) AE=X(2) - X(2)=X(2)-ER - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_030.f b/files_src_PLUS/MOD_GR6J_030.f deleted file mode 100644 index 0c1d2e6934614e9ae0342cae013b9d838a3d0abc..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_030.f +++ /dev/null @@ -1,141 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_030(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store -c IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) -c X(2)=X(2)-PERC - -c PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_040.f b/files_src_PLUS/MOD_GR6J_040.f deleted file mode 100644 index af67374c01b2439f8c47be77eb500a7d1e39ae67..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_040.f +++ /dev/null @@ -1,147 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_040(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - -c PRHU1=PR*B -c PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 -c DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) -c X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 -c ENDDO -c X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 -c DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) -c X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 -c ENDDO -c X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PR - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PR - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_051.f b/files_src_PLUS/MOD_GR6J_051.f deleted file mode 100644 index 36f14d716d3809a67bd72b8e36f2fdeb592f6cb2..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_051.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_051(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(1.50*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_052.f b/files_src_PLUS/MOD_GR6J_052.f deleted file mode 100644 index 276a2f8c4cf40b6142c7a27cb0049465999011e3..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_052.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_052(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(2.00*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_053.f b/files_src_PLUS/MOD_GR6J_053.f deleted file mode 100644 index c293b7cc678747859e5fd0e0cd6e22947afb5430..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_053.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_053(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(2.25*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_054.f b/files_src_PLUS/MOD_GR6J_054.f deleted file mode 100644 index 06db4906c7da4a0ded09e14cb109c6d2060e7fa4..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_054.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_054(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(2.50*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_055.f b/files_src_PLUS/MOD_GR6J_055.f deleted file mode 100644 index 78a33e4c366f5e6a08860b8ae5c8b650fee5a441..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_055.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_055(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. -c PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - PERC=X(2)*(1.-(1.+(X(2)/(3.00*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_071.f b/files_src_PLUS/MOD_GR6J_071.f deleted file mode 100644 index 7fe894f7393212a4373c0d183dc382f8368a284e..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_071.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_071(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. -c QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - QR=X(1)*(1.-(1.+(X(1)/Param(3))**3.)**(-1./3.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_072.f b/files_src_PLUS/MOD_GR6J_072.f deleted file mode 100644 index 0deb14a8b533698229bc3ece87c0e34a73302209..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_072.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_072(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. -c QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_073.f b/files_src_PLUS/MOD_GR6J_073.f deleted file mode 100644 index 013b6471fa76fb7ccfeada9cf955acfd650a2111..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_073.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_073(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. -c QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - QR=X(1)*(1.-(1.+(X(1)/Param(3))**5.)**(-1./5.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_081.f b/files_src_PLUS/MOD_GR6J_081.f deleted file mode 100644 index 194eb73db1e02b26c8a7d6a93d655083a1873035..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_081.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_081(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.75/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_082.f b/files_src_PLUS/MOD_GR6J_082.f deleted file mode 100644 index 05500707a3f659e1dd1137738284423bd5fe28cf..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_082.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_082(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.80/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_083.f b/files_src_PLUS/MOD_GR6J_083.f deleted file mode 100644 index ca6d1a2a013c9d3568667c06d166bbda6527797b..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_083.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_083(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.85/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_084.f b/files_src_PLUS/MOD_GR6J_084.f deleted file mode 100644 index 3cb3a5880be2aa3292eea95c268e3731dacc5d53..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_084.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_084(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.90/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_085.f b/files_src_PLUS/MOD_GR6J_085.f deleted file mode 100644 index a8836740e8476493de2757a552aedc7da269e61b..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_085.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_085(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/0.95/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/MOD_GR6J_086.f b/files_src_PLUS/MOD_GR6J_086.f deleted file mode 100644 index c269e607786af082225d6af1bcddd898e566765c..0000000000000000000000000000000000000000 --- a/files_src_PLUS/MOD_GR6J_086.f +++ /dev/null @@ -1,142 +0,0 @@ -C********************************************************************** - SUBROUTINE MOD_GR6J_086(X,XV,Param,P1,E,Q,MISC) -C Run on a single time-step with the GR6J model -C Inputs: -C X Vector of model states at the beginning of the time-step [mm] -C XV Vector of model states at the beginning of the time-step [mm] -C Param Vector of model parameters [mixed units] -C P1 Value of rainfall during the time-step [mm] -C E Value of potential evapotranspiration during the time-step [mm] -C Outputs: -C X Vector of model states at the end of the time-step [mm] -C XV Vector of model states at the end of the time-step [mm] -C Q Value of simulated flow at the catchment outlet for the time-step [mm] -C MISC Vector of model outputs for the time-step [mm] -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC,NParam - PARAMETER (NPX=14,NH=20,NMISC=30) - PARAMETER (NParam=6) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION Param(NParam) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1 - DOUBLEPRECISION AE,AEXCH1,AEXCH2 - INTEGER K - -c DATA B/0.9/ - DATA B/1.00/ - DATA C/0.4/ - - A=Param(1) - - -C Production store - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. - ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS)) - AE=ER+P1 - IF(X(2).LT.ER) AE=X(2)+P1 - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - AE=E - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. - PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation from production store - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C Unit hydrograph HU1 - DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1))) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C Unit hydrograph HU2 - DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1))) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Potential intercatchment semi-exchange - EXCH=Param(2)*(X(1)/Param(3)-Param(5)) - -C Routing store - AEXCH1=EXCH - IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8) - X(1)=X(1)+(1-C)*X(8)+EXCH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Update of exponential store - X(6)=X(6)+C*X(8)+EXCH - AR=X(6)/Param(6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+Param(6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=Param(6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=Param(6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Runoff from direct branch QD - AEXCH2=EXCH - IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH) - QD=MAX(0.,X(8+NH)+EXCH) - -C Total runoff - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C Variables storage - MISC( 1)=E ! PE ! potential evapotranspiration [mm/d] - MISC( 2)=P1 ! Precip ! total precipitation [mm/d] - MISC( 3)=X(2) ! Prod ! production store level (X(2)) [mm] - MISC( 4)=AE ! AE ! actual evapotranspiration [mm/d] - MISC( 5)=PERC ! Perc ! percolation (PERC) [mm] - MISC( 6)=PR ! PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! Q9 ! outflow from HU1 (Q9) [mm/d] - MISC( 8)=X(8+NH) ! Q1 ! outflow from HU2 (Q1) [mm/d] - MISC( 9)=X(1) ! Rout ! routing store level (X(1)) [mm] - MISC(10)=EXCH ! Exch ! potential semi-exchange between catchments (EXCH) [mm/d] - MISC(11)=AEXCH1+AEXCH2 ! AExch ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d] - MISC(12)=QR ! QR ! outflow from routing store (QR) [mm/d] - MISC(13)=QR1 ! QR1 ! outflow from exponential store (QR1) [mm/d] - MISC(14)=X(6) ! Exp ! exponential store level (X(6)) (negative) [mm] - MISC(15)=QD ! QD ! outflow from HU2 branch after exchange (QD) [mm/d] - MISC(16)=Q ! Qsim ! outflow at catchment outlet [mm/d] - - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/frun_GR4Jalpha.f b/files_src_PLUS/frun_GR4Jalpha.f deleted file mode 100644 index 41d36340c80fd6ce1ffcb556508996a94e4831c1..0000000000000000000000000000000000000000 --- a/files_src_PLUS/frun_GR4Jalpha.f +++ /dev/null @@ -1,132 +0,0 @@ - - - SUBROUTINE frun_GR4Jalpha( - !inputs - & IndVersion , ! [integer] version indice - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr4jalpha - - - Implicit None - !### input and output variables - integer :: IndVersion - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - - !computation of HU ordinates - D=2.5 - IF(IndVersion.GE.60.AND.IndVersion.LE.69) THEN ! modified version with a given HU exponent - IF(IndVersion.EQ.61) D=2.00 ! exponent = 2.00 - IF(IndVersion.EQ.62) D=2.25 ! exponent = 2.25 - IF(IndVersion.EQ.63) D=2.50 ! exponent = 2.50 ! original version - IF(IndVersion.EQ.64) D=2.75 ! exponent = 2.75 - IF(IndVersion.EQ.65) D=3.00 ! exponent = 3.00 - ENDIF - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - IF(IndVersion.EQ.10) CALL MOD_GR4J_010(X,XV,Param,P1,E,Q,MISC) ! orignal version - IF(IndVersion.EQ.20) CALL MOD_GR4J_020(X,XV,Param,P1,E,Q,MISC) ! modified version without interception - IF(IndVersion.EQ.30) CALL MOD_GR4J_030(X,XV,Param,P1,E,Q,MISC) ! modified version without percolation - IF(IndVersion.EQ.40) CALL MOD_GR4J_040(X,XV,Param,P1,E,Q,MISC) ! modified version with a single HU2 before the runoff split - IF(IndVersion.GE.50.AND.IndVersion.LE.59) THEN ! modified version with a given percolation constant - IF(IndVersion.EQ.51) CALL MOD_GR4J_051(X,XV,Param,P1,E,Q,MISC) ! constant = 1.50 - IF(IndVersion.EQ.52) CALL MOD_GR4J_052(X,XV,Param,P1,E,Q,MISC) ! constant = 2.00 - IF(IndVersion.EQ.53) CALL MOD_GR4J_053(X,XV,Param,P1,E,Q,MISC) ! constant = 2.25 ! original version - IF(IndVersion.EQ.54) CALL MOD_GR4J_054(X,XV,Param,P1,E,Q,MISC) ! constant = 2.50 - IF(IndVersion.EQ.55) CALL MOD_GR4J_055(X,XV,Param,P1,E,Q,MISC) ! constant = 3.00 - ENDIF - IF(IndVersion.GE.60.AND.IndVersion.LE.69) THEN ! modified version with a given HU exponent - CALL MOD_GR4J_010(X,XV,Param,P1,E,Q,MISC) ! exponent = 2.00 / 2.25 / 2.50 / 2.75 / 3.00 - ENDIF - IF(IndVersion.GE.70.AND.IndVersion.LE.79) THEN ! modified version with a given routing store exponent - IF(IndVersion.EQ.71) CALL MOD_GR4J_071(X,XV,Param,P1,E,Q,MISC) ! exponent = 3.00 - IF(IndVersion.EQ.72) CALL MOD_GR4J_072(X,XV,Param,P1,E,Q,MISC) ! exponent = 4.00 ! original version - IF(IndVersion.EQ.73) CALL MOD_GR4J_073(X,XV,Param,P1,E,Q,MISC) ! exponent = 5.00 - ENDIF - IF(IndVersion.GE.80.AND.IndVersion.LE.89) THEN ! modified version with a given runoff split coefficient - IF(IndVersion.EQ.81) CALL MOD_GR4J_081(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.75 - IF(IndVersion.EQ.82) CALL MOD_GR4J_082(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.80 - IF(IndVersion.EQ.83) CALL MOD_GR4J_083(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.85 - IF(IndVersion.EQ.84) CALL MOD_GR4J_084(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.90 ! original version - IF(IndVersion.EQ.85) CALL MOD_GR4J_085(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.95 - IF(IndVersion.EQ.86) CALL MOD_GR4J_086(X,XV,Param,P1,E,Q,MISC) ! coefficient = 1.00 - ENDIF - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - diff --git a/files_src_PLUS/frun_GR5Jalpha.f b/files_src_PLUS/frun_GR5Jalpha.f deleted file mode 100644 index f5a4d68bfe0074f32d7cb5f6309e581eb71e5c47..0000000000000000000000000000000000000000 --- a/files_src_PLUS/frun_GR5Jalpha.f +++ /dev/null @@ -1,100 +0,0 @@ - - - SUBROUTINE frun_GR5Jalpha( - !inputs - & IndVersion , ! [integer] version indice - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr5jalpha - - - Implicit None - !### input and output variables - integer :: IndVersion - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - !Param(5) : intercatchment exchange constant (X5 - CES2) [-] - - !computation of HU ordinates - D=2.5 - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - IF(IndVersion.EQ.10) CALL MOD_GR5J_010(X,XV,Param,P1,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - diff --git a/files_src_PLUS/frun_GR6Jalpha.f b/files_src_PLUS/frun_GR6Jalpha.f deleted file mode 100644 index bd67f5666fb25211adb9890573a06fc3b41c43eb..0000000000000000000000000000000000000000 --- a/files_src_PLUS/frun_GR6Jalpha.f +++ /dev/null @@ -1,134 +0,0 @@ - - - SUBROUTINE frun_GR6Jalpha( - !inputs - & IndVersion , ! [integer] version indice - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr6jalpha - - - Implicit None - !### input and output variables - integer :: IndVersion - integer, intent(in) :: LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision D - doubleprecision P1,E,Q - integer I,K - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !parameter values - !Param(1) : production store capacity (X1 - PROD) [mm] - !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d] - !Param(3) : routing store capacity (X3 - ROUT) [mm] - !Param(4) : time constant of unit hydrograph (X4 - TB) [d] - !Param(5) : intercatchment exchange constant (X5 - CES2) [-] - !Param(6) : time constant of exponential store (X6 - EXP) [d] - - !computation of HU ordinates - D=2.5 - IF(IndVersion.GE.60.AND.IndVersion.LE.69) THEN ! modified version with a given HU exponent - IF(IndVersion.EQ.61) D=2.00 ! exponent = 2.00 - IF(IndVersion.EQ.62) D=2.25 ! exponent = 2.25 - IF(IndVersion.EQ.63) D=2.50 ! exponent = 2.50 ! original version - IF(IndVersion.EQ.64) D=2.75 ! exponent = 2.75 - IF(IndVersion.EQ.65) D=3.00 ! exponent = 3.00 - ENDIF - CALL HU1(XV,Param(4),D) - CALL HU2(XV,Param(4),D) - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P1=InputsPrecip(k) - E =InputsPE(k) -c Q = -999.999 -c MISC = -999.999 - !model run on one time-step - IF(IndVersion.EQ.10) CALL MOD_GR6J_010(X,XV,Param,P1,E,Q,MISC) ! orignal version - IF(IndVersion.EQ.20) CALL MOD_GR6J_020(X,XV,Param,P1,E,Q,MISC) ! modified version without interception - IF(IndVersion.EQ.30) CALL MOD_GR6J_030(X,XV,Param,P1,E,Q,MISC) ! modified version without percolation - IF(IndVersion.EQ.40) CALL MOD_GR6J_040(X,XV,Param,P1,E,Q,MISC) ! modified version with a single HU2 before the runoff split - IF(IndVersion.GE.50.AND.IndVersion.LE.59) THEN ! modified version with a given percolation constant - IF(IndVersion.EQ.51) CALL MOD_GR6J_051(X,XV,Param,P1,E,Q,MISC) ! constant = 1.50 - IF(IndVersion.EQ.52) CALL MOD_GR6J_052(X,XV,Param,P1,E,Q,MISC) ! constant = 2.00 - IF(IndVersion.EQ.53) CALL MOD_GR6J_053(X,XV,Param,P1,E,Q,MISC) ! constant = 2.25 ! original version - IF(IndVersion.EQ.54) CALL MOD_GR6J_054(X,XV,Param,P1,E,Q,MISC) ! constant = 2.50 - IF(IndVersion.EQ.55) CALL MOD_GR6J_055(X,XV,Param,P1,E,Q,MISC) ! constant = 3.00 - ENDIF - IF(IndVersion.GE.60.AND.IndVersion.LE.69) THEN ! modified version with a given HU exponent - CALL MOD_GR6J_010(X,XV,Param,P1,E,Q,MISC) ! exponent = 2.00 / 2.25 / 2.50 / 2.75 / 3.00 - ENDIF - IF(IndVersion.GE.70.AND.IndVersion.LE.79) THEN ! modified version with a given routing store exponent - IF(IndVersion.EQ.71) CALL MOD_GR6J_071(X,XV,Param,P1,E,Q,MISC) ! exponent = 3.00 - IF(IndVersion.EQ.72) CALL MOD_GR6J_072(X,XV,Param,P1,E,Q,MISC) ! exponent = 4.00 ! original version - IF(IndVersion.EQ.73) CALL MOD_GR6J_073(X,XV,Param,P1,E,Q,MISC) ! exponent = 5.00 - ENDIF - IF(IndVersion.GE.80.AND.IndVersion.LE.89) THEN ! modified version with a given runoff split coefficient - IF(IndVersion.EQ.81) CALL MOD_GR6J_081(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.75 - IF(IndVersion.EQ.82) CALL MOD_GR6J_082(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.80 - IF(IndVersion.EQ.83) CALL MOD_GR6J_083(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.85 - IF(IndVersion.EQ.84) CALL MOD_GR6J_084(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.90 ! original version - IF(IndVersion.EQ.85) CALL MOD_GR6J_085(X,XV,Param,P1,E,Q,MISC) ! coefficient = 0.95 - IF(IndVersion.EQ.86) CALL MOD_GR6J_086(X,XV,Param,P1,E,Q,MISC) ! coefficient = 1.00 - ENDIF - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO K=1,3*NH - StateEnd(K)=X(K) - ENDDO - - RETURN - - ENDSUBROUTINE - diff --git a/files_src_PLUS/frun_HBANLIB_DMod_D.f b/files_src_PLUS/frun_HBANLIB_DMod_D.f deleted file mode 100644 index 46e0d7602fb2881049deaca829b4f397e3e95fb2..0000000000000000000000000000000000000000 --- a/files_src_PLUS/frun_HBANLIB_DMod_D.f +++ /dev/null @@ -1,3347 +0,0 @@ - - - SUBROUTINE frun_HBANLIB_DMod_D( - !inputs - & IndModel , ! [integer] model indice - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_hbanlib_dmod_d - - - Implicit None - !### input and output variables - integer, intent(in) :: IndModel,LInputs,NParam,NStates,NOutputs - doubleprecision, dimension(LInputs) :: InputsPrecip - doubleprecision, dimension(LInputs) :: InputsPE - doubleprecision, dimension(NParam) :: Param - doubleprecision, dimension(NStates) :: StateStart - doubleprecision, dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - doubleprecision, dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - doubleprecision X(5*NH+7),XV(3*NPX+5*NH) - doubleprecision MISC(NMISC) - doubleprecision P,E,Q - doubleprecision D,S,CAP - integer K,I,IM - - - IM=IndModel - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !setting parameter values - DO I=1,NParam - XV(2*NPX+I)=Param(I) - ENDDO - SELECTCASE(IM) - CASE(25,4,3) - XV(2*NPX+1)=Param(3) - XV(2*NPX+2)=Param(1) - XV(2*NPX+3)=Param(2) - ENDSELECT - - - !computation of HU ordinates - SELECTCASE(IM) - - CASE(25,4,3) - D=2.5 - CALL HU1_D(XV,XV(2*NPX+4),D) - CALL HU2_D(XV,XV(2*NPX+4),D) - - CASE(24) - D=3. - CALL HU1_D(XV,XV(2*NPX+4),D) - CALL HU2_D(XV,XV(2*NPX+4),D) - - CASE(23) - D=3. - CALL HU1_D(XV,XV(2*NPX+3),D) - CALL HU2_D(XV,XV(2*NPX+3),D) - - CASE(22,21) - !do nothing - - CASE(20,19,18,17,16,15,14,13,12,10,9,2,1) - CALL DEL_D(XV,XV(2*NPX+4)) - - CASE(11) - S=XV(2*NPX+1) - CAP=25. - IF(S.GT.CAP*2*NH)THEN - CAP=S/2./FLOAT(NH) - ENDIF - DO I=1,2*NH - XV(3*NPX+NH+I)=S - IF(S.GT.CAP)THEN - IF(I.NE.2*NH)THEN - XV(3*NPX+NH+I)=CAP - S=S-CAP - ENDIF - ELSE - S=0. - ENDIF - ENDDO - CALL DEL2_D(XV,XV(2*NPX+4)) - - CASE(8) - D=2.5 - CALL HU2_D(XV,XV(2*NPX+4),D) - - CASE(7) - CALL HU_D(XV,XV(2*NPX+3)) - - CASE(6) - CALL HU4_D(XV,XV(2*NPX+4),XV(2*NPX+3)) - - CASE(5) - D=2. - CALL HU2_D(XV,XV(2*NPX+4),D) - - ENDSELECT - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P=InputsPrecip(k) - E =InputsPE(k) - !model run on one time-step - IF(IM.EQ.25) CALL MOD79_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.24) CALL MOD24_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.23) CALL MOD23_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.22) CALL MOD22_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.21) CALL MOD21_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.20) CALL MOD20_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.19) CALL MOD19_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.18) CALL MOD18_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.17) CALL MOD17_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.16) CALL MOD16_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.15) CALL MOD15_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.14) CALL MOD14_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.13) CALL MOD13_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.12) CALL MOD12_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.11) CALL MOD11_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.10) CALL MOD10_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.09) CALL MOD9_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.08) CALL MOD8_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.07) CALL MOD7_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.06) CALL MOD6_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.05) CALL MOD5_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.04) CALL MOD4_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.03) CALL MOD3_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.02) CALL MOD2_D(X,XV,P,E,Q,MISC) - IF(IM.EQ.01) CALL MOD1_D(X,XV,P,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO I=1,3*NH - StateEnd(I)=X(I) - ENDDO - - RETURN - - ENDSUBROUTINE - - - - - -c################################################################################################################################ - -c Liste des modifications faites par Laurent Coron (LC_MODIF) -c - Remplacement des tanh par tanHyp_D -c - Remplacement des tab par des espaces -c - Remplacement des VJT par MISC et ajout des MISC la ou ils manquaient -c - Suppression des fonctions HU et SS (déplacées dans utils) -c - Suppression PERM MODEL INI PREFIL -c - Pour chaque modèle : conservation de MODX uniquement -c - passage de toutes les routines en Implicit None - - - -c################################################################################################################################ - - - - -C Modèles globaux journaliers - -C********************************************************************** -C Modèles fournis -C********************************************************************** -C ## ! Acronyme ! Nom complet dont est inspiré le modèle -C 1 ! TOPM ! Topmodel -C 2 ! IHAC ! IHACRES -C 3 ! GR4J ! GR4J (Perrin) -C 4 ! GR5J ! GR5J (Le Moine) -C 5 ! HBV0 ! HBV -C 6 ! MOHY ! Mohyse -C 7 ! GR3P ! GR3P -C 8 ! MORD ! Mordor -C 9 ! SACR ! Sacramento -C 10 ! SIMH ! Simhyd -C 11 ! SMAR ! SMAR -C 12 ! TANK ! TANK -C 13 ! HYMO ! HYMOD -C 14 ! GARD ! Gardenia -C 15 ! PDM0 ! PDM -C 16 ! CREC ! CREC -C 17 ! CEQU ! Cequeau -C 18 ! NAM0 ! NAM -C 19 ! WAGE ! Wageningen -C 20 ! XINA ! Xinanjiang -C 21 ! GR1J ! GR1J (Michel) -C 22 ! GR2J ! GR2J (Michel) -C 23 ! GR3J ! GR3J (Edijatno) -C 24 ! GRNJ ! GR4J (Nascimento) -C 25 ! GR6J ! GR6J -C********************************************************************** - - - - -C********************************************************************** - SUBROUTINE MOD79_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR6J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp_D,AR - DOUBLEPRECISION PERC,PRHU1,PRHU2,ECH,QR,QD,QR1 - DOUBLEPRECISION ETR,ECHR1,ECHR2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=XV(2*NPX+2) - - -C Calcul du rendement - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) - ER=X(2)*(2.-X(2)/A)*tanHyp_D(WS)/(1.+(1.-X(2)/A)*tanHyp_D(WS)) - ETR=ER+P1 !LC_MODIF new_line - IF(X(2).LT.ER) ETR=X(2)+P1 !LC_MODIF new_line - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - ETR=E !LC_MODIF new_line - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) - PS=A*(1.-(X(2)/A)**2.)*tanHyp_D(WS)/(1.+X(2)/A*tanHyp_D(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*XV(2*NPX+2)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 -C DO K=1,NH-1 -C DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4))+1)) !modif Bourgin-Coron (inchange) - DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4)+1))) !modif Bourgin-Coron (inchange) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 -C DO K=1,2*NH-1 -C DO K=1,MAX(1,MIN(2*NH-1,INT(2*XV(2*NPX+4))+1)) !modif Bourgin-Coron (changement) - DO K=1,MAX(1,MIN(2*NH-1,2*INT(XV(2*NPX+4)+1))) !modif Bourgin-Coron (changement) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1)-XV(2*NPX+5)) - -C Remplissage réservoir R - ECHR1=ECH !LC_MODIF new_line - IF((X(1)+X(8)+ECH).LT.0) ECHR1=-X(1)-X(8) !LC_MODIF new_line - X(1)=X(1)+(1-C)*X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Remplissage réservoir exponentiel - X(6)=X(6)+C*X(8)+ECH - AR=X(6)/XV(2*NPX+6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+XV(2*NPX+6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=XV(2*NPX+6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=XV(2*NPX+6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Calcul écoulement direct QD - ECHR2=ECH !LC_MODIF new_line - IF((X(8+NH)+ECH).LT.0) ECHR2=-X(8+NH) !LC_MODIF new_line - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P1 ! pluie en entree [mm] - MISC( 3)=X(2) ! niveau du reservoir de production (X(2)) [mm] - MISC( 4)=ETR ! ETR (evapotranspiration reele) [mm] - MISC( 5)=PERC ! percolation (PERC) [mm] - MISC( 6)=PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! ecoulement issu de HU1 (Q9) [mm] - MISC( 8)=X(8+NH) ! ecoulement issu de HU2 (Q1) [mm] - MISC( 9)=X(1) ! niveau du reservoir de routage (X(1)) [mm] - MISC(10)=ECH ! demi-echange potentiel (ECH) [mm] - MISC(11)=ECHR1+ECHR2 ! ECHR1+ECHR2 (echange reel 1 + echange reel 2) [mm] - MISC(12)=QR ! ecoulement issu du reservoir de routage (QR) [mm] - MISC(13)=QR1 ! ecoulement issu du reservoir exponentiel (QR1) [mm] - MISC(14)=X(6) ! niveau du reservoir exponentiel (X(6)) [mm] - MISC(15)=QD ! ecoulement direct issu de HU2 (QD) [mm] - MISC(16)=Q ! debit total a lexutoire [mm] - - - ENDSUBROUTINE - - - - - - -C********************************************************************** - SUBROUTINE MOD24_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GRNJ -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp_D - DOUBLEPRECISION PRHU1,PRHU2,ECH,QR,QD - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - -C Calcul du rendement - IF(P1.LE.E)THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) !LC_MODIF tanh->tanHyp_D - ER=X(2)*(2.-X(2)/A)*tanHyp_D(WS)/(1.+(1.-X(2)/A)*tanHyp_D(WS)) - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) !LC_MODIF tanh->tanHyp_D - PS=A*(1.-(X(2)/A)**2.)*tanHyp_D(WS)/(1.+X(2)/A*tanHyp_D(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 - DO 1 K=1,NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - 1 CONTINUE - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - IF(XV(2*NPX+3).GE.0.)THEN - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1)) - ELSE - ECH=XV(2*NPX+3)*(X(2)/XV(2*NPX+2)) - ENDIF - -C Remplissage réservoir R - X(1)=X(1)+X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD23_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR3J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp_D - DOUBLEPRECISION PRHU1,PRHU2,QR,QD - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - -C Calcul du rendement - IF(P1.LE.E)THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) !LC_MODIF tanh->tanHyp_D - ER=X(2)*(2.-X(2)/A)*tanHyp_D(WS)/(1.+(1.-X(2)/A)*tanHyp_D(WS)) - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) !LC_MODIF tanh->tanHyp_D - PS=A*(1.-(X(2)/A)**2.)*tanHyp_D(WS)/(1.+X(2)/A*tanHyp_D(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 - DO 1 K=1,NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - 1 CONTINUE - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Remplissage réservoir R - X(1)=X(1)+X(8) - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - QD=MAX(0.,X(8+NH)) - -C Ecoulement total - Q=QR+QD - - IF(Q.LT.0.) Q=0. - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD22_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR2J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,PN,PR,PS,ES - - DATA B/0.9/ - - A=XV(2*NPX+1) - -C Fonction de rendement linéaire - IF(P1.LE.E)THEN - PN=0. - EN=E-P1 - PS=0. - PR=0. - ES=EN*X(2)/A - ELSE - PN=P1-E - EN=0. - ES=0. - ! PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF OLD - IF(NINT(1000*PN).EQ.0.)THEN !LC_MODIF NEW verif PN nulle a 3 decimales - PS=0. !LC_MODIF NEW - ELSE !LC_MODIF NEW - PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF NEW - ENDIF !LC_MODIF NEW - PR=PN-PS - ENDIF - - X(2)=MAX(0.,X(2)+PS-ES) - -C Routage - X(1)=X(1)+PR - Q=X(1)*X(1)/(XV(2*NPX+2)+X(1)) - - IF(Q.LT.0.) Q=0. - X(1)=X(1)-Q - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD21_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR1J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,PN,PR,PS,ES - - DATA B/0.9/ - - A=XV(2*NPX+1) - -C Fonction de rendement linéaire - IF(P1.LE.E)THEN - PN=0. - EN=E-P1 - PS=0. - PR=0. - ES=EN*X(2)/A - ELSE - PN=P1-E - EN=0. - ES=0. - ! PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF OLD - IF(NINT(1000*PN).EQ.0.)THEN !LC_MODIF NEW verif PN nulle a 3 decimales - PS=0. !LC_MODIF NEW - ELSE !LC_MODIF NEW - PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF NEW - ENDIF !LC_MODIF NEW - PR=PN-PS - ENDIF - - X(2)=MAX(0.,X(2)+PS-ES) - -C Routage - X(1)=X(1)+PR - Q=X(1)*X(1)/(A+X(1)) - - IF(Q.LT.0.) Q=0. - X(1)=X(1)-Q - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD20_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle XINA -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P,E,Q,A,AU,B,C,UM,LM,DM,SM,EX,KK,KI,KG - DOUBLEPRECISION CG,CS,CI,D,DA,ED,EL,EP,EU,FR,G,GD - DOUBLEPRECISION MM,KID,KGD,LA,PE,UA,WM,WMT,XX - DOUBLEPRECISION QQ,QG,QI,QS,QT,R,RG,RI,RS,S,SS,SMM - DOUBLEPRECISION IM,ID - integer K - - - FR=MISC(3) !LC_MODIF ajout pour recuperer la version du dernier run - IF(FR.EQ.-999.999) FR=0. !LC_MODIF ajout pour recuperer la version du dernier run - - - - UM=XV(2*NPX+1) - LM=XV(2*NPX+2) - DM=XV(2*NPX+2) - - im=0. - b=XV(2*NPX+6) - sm=XV(2*NPX+7) - ex=1.5 - KK=XV(2*NPX+9) !LC_MODIF K->KK - - C=XV(2*NPX+10) - KI=XV(2*NPX+11) - KG=XV(2*NPX+12) - - CG=XV(2*NPX+3) - CS=XV(2*NPX+5) - CI=XV(2*NPX+8) - - - WM=UM+LM+DM - - - MM = (WM * (1.0 + b)) / (1.0 - im); - - UA=X(1) - LA=X(2) - DA=X(3) - - - wmt = UA+LA+DA - - IF(wmt.GT.WM)wmt = WM - EP = KK * E !LC_MODIF K->KK - - PE = P - EP - R=0. - if(PE.GE.0.0)THEN - A = MM * (1.0 - (1.0 - wmt / WM)**(1.0 / (b + 1.0))) - if((PE + A).LT.MM)THEN - R = (PE - WM) + wmt + WM * (1.0 - (PE + A) / MM)**(b + 1.0) - else - R = (PE - WM) + wmt - ENDIF - EU = KK * E !LC_MODIF K->KK - - EL = 0.0 - ED = 0.0 - if((UA + PE) - R .LT. UM)THEN - UA = (UA + PE) - R - else - if((UA + LA + PE - R - UM) .GT. LM)THEN - UA = UM - LA = LM - DA = (wmt + PE) - R - UA-LA - else - LA = (UA + LA + PE) - R - UM; - UA = UM - ENDIF - ENDIF - else - R = 0.0 - if(UA + PE .GT. 0.0)THEN - EU = EP - EL = 0.0 - ED = 0.0 - UA= UA + PE - - else - EU = UA + P - UA = 0.0 - ENDIF - if(LA .GT. c * LM)THEN - EL = ((KK * E - EU) * LA) / LM; !LC_MODIF K->KK - LA = LA - EL - ED = 0.0 - else - if(LA > c * (KK * E - EU))THEN !LC_MODIF K->KK - EL = c * (KK * E - EU) !LC_MODIF K->KK - - ED = 0.0 - LA = LA - EL - else - EL = LA; - LA = 0.0 - ED = c * (KK * E - EU) - EL; !LC_MODIF K->KK - - DA = DA - ED; - ENDIF - ENDIF - ENDIF - if(UA.LT.0.0)UA=0. - if(LA.LT.0.0)LA=0. - if(DA.LT.0.0)DA=0. - if(UA.GT.UM)UA=UM - if(LA.GT.LM)LA=LM - if(DA.GT.DM)DA=DM - - X(1)=UA - X(2)=LA - X(3)=DA - - D=1. - KID = (1.0 - (1.0 - (kg + ki))**(1.0 / d)) / (1.0 + kg / ki) - KGD = (KID * kg) / ki - SMM = (1.0 + ex) * sm - - S=X(4) - RS=0. - RG=0. - RI=0. - - if(PE >0.0)THEN - XX=FR - FR=R/PE - IF(FR.LT.0.001) FR=0.001 - S=(XX*S)/FR - SS=S - QQ=R/FR - G = (QQ / 5) + 1; - QQ = QQ/G; - ID = (1.0 - (1.0 - (KGD + KID))**(1.0 / G)) / (1.0 + KGD / KID) - GD = (ID * KGD) / KID - if(sS > sm)sS = sm - AU = SMM * (1.0 - (1.0 - sS / sm)**(1.0 / (1.0 + ex))) - if(AU + QQ .LT. SMM)THEN - RS= ((QQ - sm) + sS + sm * (1.0 - (QQ+AU) / SMM)**(1.0 + ex))*FR - else - RS= ((QQ + sS) - sm) * FR - ENDIF - sS=SS+ QQ - RS / FR - RG= sS * GD * FR - RI= sS * ID * FR - sS = QQ + SS - (RS + RI + RG) / FR - if(sS > sm) sS = sm - if(sS < 0.0) sS = 0.0 - ELSE - RS=0. - RG=S*KGD*FR - RI=RG*KID/KGD - IF(FR.LT.0.001)FR=0.001 - SS=S-(RG+RI)/FR - IF(SS.LT.0.)SS=0. - ENDIF - -C MAJ des états - X(4)=SS - X(5)=X(5)+RS - X(6)=X(6)+RI - X(7)=X(7)+RG - QS=X(5)/CS - QI=X(6)/CI - QG=X(7)/CG - X(5)=X(5)-QS - X(6)=X(6)-QI - X(7)=X(7)-QG - - QT=QS+QI+QG - - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débi total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=FR - MISC( 4)=X(1) - MISC( 5)=X(2) - MISC( 6)=X(3) - MISC( 7)=X(4) - MISC( 8)=X(5) - MISC( 9)=X(6) - MISC(10)=X(7) - MISC(11)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD19_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle WAGE -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,CAP,DIV,PEF,PEF1,PEF2,Q1,Q12,Q2,QT - integer K - - X(1)=X(1)+P - - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+2))THEN - PEF=MIN(1.,X(1)/XV(2*NPX+2)/XV(2*NPX+3))* - &(X(1)-XV(2*NPX+1)*XV(2*NPX+2)) - CAP=0. - ELSE - CAP=MIN(1.,(XV(2*NPX+1)*XV(2*NPX+2)-X(1))/XV(2*NPX+1)/XV(2*NPX+2) - &/XV(2*NPX+8))*X(2) - PEF=0. - ENDIF - - X(1)=X(1)+CAP-PEF - X(2)=X(2)-CAP - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+2))THEN - X(1)=X(1)-E - ELSE - X(1)=X(1)-E*COS(3.1415/2.*(1.-X(1)/XV(2*NPX+1)/XV(2*NPX+2))) - ENDIF - IF(X(1).LT.0.)X(1)=0. - IF(X(2).LT.0.)X(2)=0. !LC_MODIF new_line - - IF(X(1).GT.XV(2*NPX+2))THEN - PEF=PEF+X(1)-XV(2*NPX+1) - X(1)=XV(2*NPX+1) - ENDIF - - DIV=MIN(1., X(2)/XV(2*NPX+5)) - PEF1=DIV*PEF - PEF2=(1.-DIV)*PEF - X(3)=X(3)+PEF1 - Q12=X(3)/XV(2*NPX+6) - X(3)=X(3)-Q12 - - X(4)=X(4)+Q12 - Q1=X(4)/XV(2*NPX+6) - X(4)=X(4)-Q1 - - X(2)=X(2)+PEF2 - Q2=X(2)/XV(2*NPX+6)/XV(2*NPX+7) - X(2)=X(2)-Q2 - - QT=Q1+Q2 - - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD18_D(X,XV,PL,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle NAM0 -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C PL : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision PL,E,Q,QIF,B12,B1,B2,B21,E1,PN,QOF,DL,DL1 - doubleprecision G,BF,BF1,CAFLU,QT - integer K - - X(2)=X(2)+PL - QIF=MIN(X(2),X(1)/XV(2*NPX+7)*X(2)/XV(2*NPX+3)) - X(2)=X(2)-QIF - X(3)=X(3)+QIF - B21=X(3)/XV(2*NPX+2) - X(3)=X(3)-B21 - X(6)=X(6)+B21 - B2=X(6)/XV(2*NPX+2) - X(6)=X(6)-B2 - - X(2)=X(2)-E - IF(X(2).GE.0..AND.X(2).LE.XV(2*NPX+9)) THEN - E1=0. - PN=0. - ELSEIF(X(2).LT.0)THEN - E1=-X(2) - X(2)=0. - PN=0. - ELSEIF(X(2).GT.XV(2*NPX+9))THEN - E1=0. - PN=X(2)-XV(2*NPX+9) - X(2)=XV(2*NPX+9) - ENDIF - - QOF=0. - DL=0. - G=0. - IF(PN.GT.0.)THEN - QOF=PN*X(1)/XV(2*NPX+7)/XV(2*NPX+8) - IF(XV(2*NPX+5).EQ.1.)G=0. - IF(XV(2*NPX+5).NE.1.)THEN - IF(X(1)/XV(2*NPX+7).GT.XV(2*NPX+5)) THEN - G=(PN-QOF)*(X(1)/XV(2*NPX+7)-XV(2*NPX+5))/(1.-XV(2*NPX+5)) - ELSE - G=0. - ENDIF - ENDIF - - DL=PN-QOF-G - IF(DL.GT.XV(2*NPX+7)-X(1))THEN - DL1=DL-(XV(2*NPX+7)-X(1)) - G=G+DL1 - DL=XV(2*NPX+7)-X(1) - ENDIF - ENDIF - - X(5)=X(5)+QOF - B12=X(5)/XV(2*NPX+2) - X(5)=X(5)-B12 - - X(7)=X(7)+B12 - B1=X(7)/XV(2*NPX+2) - X(7)=X(7)-B1 - - X(1)=X(1)+DL - X(1)=MAX(0.,X(1)-E1*X(1)/XV(2*NPX+7)) - -C X(4): déficit à saturation - X(4)=X(4)-G - IF(X(4).LE.XV(2*NPX+1))THEN - BF=(XV(2*NPX+1)-X(4))/XV(2*NPX+6) - ELSE - BF=0. - ENDIF - X(4)=X(4)+BF - - IF(X(4).GT.0.)THEN - BF1=0. - ELSE - BF1=-X(4)+0.1 - X(4)=0.1 - ENDIF - - IF(X(1).GT.XV(2*NPX+7))X(1)=XV(2*NPX+7) - CAFLU=((1.-X(1)/XV(2*NPX+7))**0.5)*(XV(2*NPX+10)/X(4))**2. - IF(CAFLU.GT.XV(2*NPX+7)-X(1))CAFLU=XV(2*NPX+7)-X(1) - X(1)=X(1)+CAFLU - X(4)=X(4)+CAFLU - QT=(BF+BF1+B1+B2) - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=PL - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=Q - - ENDSUBROUTINE - - - - - -C********************************************************************** - SUBROUTINE MOD17_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle CEQU -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,INF,ETR,ETR1,PN,EN - doubleprecision Q1,Q2,Q3,Q4,Q5,QQ - integer K - - - PN=P - EN=E - - X(1)=X(1)+PN - -C Ordre des opérations en fonction des niveaux relatifs des deux seuils -C On commence par la vidange du seuil le plus élevé - IF(XV(2*NPX+1).GE.XV(2*NPX+2))THEN - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+5))THEN - INF=(X(1)-XV(2*NPX+1)*XV(2*NPX+5))/XV(2*NPX+3) - X(1)=X(1)-INF - ELSE - INF=0. - ENDIF - IF(X(1).GE.XV(2*NPX+2)*XV(2*NPX+5))THEN - Q1=(X(1)-XV(2*NPX+2)*XV(2*NPX+5))/XV(2*NPX+6) - X(1)=X(1)-Q1 - ELSE - Q1=0. - ENDIF - - ELSE - IF(X(1).GE.XV(2*NPX+2)*XV(2*NPX+5))THEN - Q1=(X(1)-XV(2*NPX+2)*XV(2*NPX+5))/XV(2*NPX+6) - X(1)=X(1)-Q1 - ELSE - Q1=0. - ENDIF - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+5))THEN - INF=(X(1)-XV(2*NPX+1)*XV(2*NPX+5))/XV(2*NPX+3) - X(1)=X(1)-INF - ELSE - INF=0. - ENDIF - ENDIF - -C Evaporation - IF(X(1).GE.(XV(2*NPX+5)/2.))THEN - ETR=EN - ELSE - ETR=EN*X(1)/(XV(2*NPX+5)/2.) - ENDIF - X(1)=X(1)-ETR - ETR1=0. - IF(X(1).LT.0.)THEN - ETR1=-X(1) - X(1)=0. - ENDIF - - Q2=X(1)/XV(2*NPX+8)/XV(2*NPX+6) - X(1)=X(1)-Q2 - IF(X(1).LT.0.)X(1)=0. - - IF(X(1).GE.XV(2*NPX+5))THEN - Q3=X(1)-XV(2*NPX+5) - X(1)=X(1)-Q3 - ELSE - Q3=0. - ENDIF - - - IF(X(2).GE.XV(2*NPX+7))THEN - Q4=(X(2)-XV(2*NPX+7))/XV(2*NPX+9) - ELSE - Q4=0. - ENDIF - X(2)=X(2)-Q4 - Q5=X(2)/XV(2*NPX+9)/XV(2*NPX+9) - X(2)=X(2)-Q5 - - X(2)=X(2)+INF - IF(X(2).LT.XV(2*NPX+7))THEN - ETR1=ETR1*X(2)/XV(2*NPX+7) - ENDIF - X(2)=MAX(0.,X(2)-ETR1) - - - QQ=Q1+Q2+Q3+Q4+Q5 - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QQ - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QQ - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD16_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle CREC -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,PL,PR,AR,QD,QT,QL - integer K - - PL=P - AR=(1.-X(1)/XV(2*NPX+3))/XV(2*NPX+6) - IF(AR.GT.30.)AR=30. - - PR=PL/(1.+XV(2*NPX+6)*EXP(AR)) - X(1)=X(1)+(PL-PR) - - IF(X(1).GT.XV(2*NPX+3))THEN - PR=PR+X(1)-XV(2*NPX+3) - X(1)=XV(2*NPX+3) - ENDIF - - AR=X(1)/XV(2*NPX+7) - IF(AR.GT.30.)AR=30. - X(1)=MAX(0.,X(1)-E*(1.-EXP(-AR))) - X(2)=X(2)+PR - - IF(X(2).GT.XV(2*NPX+1)*XV(2*NPX+8))THEN - QT=(X(2)-XV(2*NPX+1)*XV(2*NPX+8))/XV(2*NPX+5) - ELSE - QT=0. - ENDIF - - QD=X(2)*X(2)/(X(2)+XV(2*NPX+1)) - - !X(2)=X(2)-QD !LC_MODIF old_version - !X(2)=X(2)-QT !LC_MODIF old_version - IF(QD.LT.X(2))THEN !LC_MODIF new_version - X(2)=X(2)-QD !LC_MODIF new_version - ELSE !LC_MODIF new_version - QD=X(2) !LC_MODIF new_version - X(2)=0. !LC_MODIF new_version - ENDIF !LC_MODIF new_version - IF(QT.LT.X(2))THEN !LC_MODIF new_version - X(2)=X(2)-QT !LC_MODIF new_version - ELSE !LC_MODIF new_version - QT=X(2) !LC_MODIF new_version - X(2)=0. !LC_MODIF new_version - ENDIF !LC_MODIF new_version - - X(3)=X(3)+QT - QL=X(3)/XV(2*NPX+2) - X(3)=X(3)-QL - - QT=(QD+QL) - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=Q - - ENDSUBROUTINE - - - - - -C********************************************************************** - SUBROUTINE MOD15_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle PDM0 -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,CMAX,BEXP,ALPHA,RQ,P1,PN,X1 - doubleprecision CTPREV,UT1,UT2,DUM,Q1,Q2,QS,UQ,US,DRG - integer K - - CMAX=XV(2*NPX+1) - BEXP=XV(2*NPX+2) - ALPHA=XV(2*NPX+3) - RQ=XV(2*NPX+6) - -C Correction de la pluie - P1=P*XV(2*NPX+7) - X1=X(1) - - CTPREV=CMAX*(1.-(1.-(BEXP+1.)*X(1)/CMAX)**(1./(BEXP+1.))) - - UT1=MAX(P1-CMAX+CTPREV,0.) - PN=P1-UT1 - DUM=MIN((CTPREV+PN)/CMAX,1.) - X(1)=CMAX/(BEXP+1.)*(1.-(1.-DUM)**(BEXP+1.)) - UT2=MAX(PN-(X(1)-X1),0.) - -C Evaporation - X(1)=MAX(0.,X(1)-E*(1.-(1.-X(1)/CMAX*(BEXP+1.))**2.)) -C Drainage - IF(X(1).GT.CMAX/(BEXP+1)*ALPHA)THEN - DRG=(X(1)-CMAX/(BEXP+1)*ALPHA)/XV(2*NPX+8) - ELSE - DRG=0. - ENDIF - X(1)=X(1)-DRG - UQ=UT2+UT1 - US=DRG - -C Routage rapide - X(3)=X(3)+UQ - Q1=X(3)/RQ - X(3)=X(3)-Q1 - - X(4)=X(4)+Q1 - Q2=X(4)/RQ - X(4)=X(4)-Q2 - -C Routage lent (réservoir cubique) - X(2)=X(2)+US - QS=X(2)*(1.-(1.+(X(2)/XV(2*NPX+5))**2.)**(-1./2.)) - X(2)=X(2)-QS - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*(QS+Q2) - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*(QS+Q2) - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD14_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GARD -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,DEB,QR,QB1,QB2,PERC,QT - integer K - -C Réservoir 1 - X(1)=X(1)+P - X(1)=max(0.,(X(1)-E*XV(2*NPX+7))) - DEB=max(0.,(X(1)-XV(2*NPX+1))) - X(1)=X(1)-DEB - -C Réservoir 2 - X(2)=X(2)+DEB - QR=X(2)*X(2)/(X(2)+(XV(2*NPX+2)-1.)*XV(2*NPX+3)) - X(2)=X(2)-QR - PERC=X(2)/XV(2*NPX+2) - X(2)=X(2)-PERC - -C Réservoir 3 - X(3)=X(3)+PERC - QB1=0. - IF(X(3).GT.XV(2*NPX+6))THEN - QB1=(X(3)-XV(2*NPX+6))/XV(2*NPX+5)/XV(2*NPX+2) - ENDIF - X(3)=X(3)-QB1 - QB2=X(3)/XV(2*NPX+5)/XV(2*NPX+2)/XV(2*NPX+8) - X(3)=X(3)-QB2 - QT=QR+QB1+QB2 - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD13_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle HYMO -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,CMAX,BEXP,ALPHA,RQ,RS,PN,X1 - doubleprecision CTPREV,UT1,UT2,DUM,Q1,Q2,Q3,QS,UQ,US - integer K - - CMAX=XV(2*NPX+1) - BEXP=XV(2*NPX+2) - ALPHA=XV(2*NPX+3) - RS=XV(2*NPX+5) - RQ=XV(2*NPX+6) - - X1=X(1) - - CTPREV=CMAX*(1.-(1.-(BEXP+1.)*X(1)/CMAX)**(1./(BEXP+1.))) - - UT1=MAX(P-CMAX+CTPREV,0.) - PN=P-UT1 - DUM=MIN((CTPREV+PN)/CMAX,1.) - X(1)=CMAX/(BEXP+1.)*(1.-(1.-DUM)**(BEXP+1.)) - UT2=MAX(PN-(X(1)-X1),0.) - X(1)=MAX(0.,X(1)-E) - - UQ=ALPHA*UT2+UT1 - US=(1.-ALPHA)*UT2 - - X(2)=X(2)+US - QS=X(2)/RS/RQ - X(2)=X(2)-QS - - X(3)=X(3)+UQ - Q1=X(3)/RQ - X(3)=X(3)-Q1 - - X(4)=X(4)+Q1 - Q2=X(4)/RQ - X(4)=X(4)-Q2 - - X(5)=X(5)+Q2 - Q3=X(5)/RQ - X(5)=X(5)-Q3 - - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*(QS+Q3) - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*(QS+Q3) - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=X(5) - MISC( 8)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD12_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle TANK -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,ER,ET,T2,EL - doubleprecision Q1,Q2,Q3,QQ,QR,QT,QS,QSS,QL - integer K - -C Série de réservoirs à vidange linéaire - X(1)=X(1)+P - -C Condition d'ordre sur les seuils - IF(XV(2*NPX+1)+XV(2*NPX+2).GE.XV(2*NPX+8))THEN - - IF(X(1).GT.XV(2*NPX+1)+XV(2*NPX+2))THEN - QS=(X(1)-(XV(2*NPX+1)+XV(2*NPX+2)))/XV(2*NPX+3) - X(1)=X(1)-QS - ELSE - QS=0. - ENDIF - - IF(X(1).GT.XV(2*NPX+2))THEN - QSS=(X(1)-XV(2*NPX+2))/XV(2*NPX+3) - X(1)=X(1)-QSS - ELSE - QSS=0. - ENDIF - - - IF(X(1).GT.XV(2*NPX+8))THEN - Q1=X(1)-XV(2*NPX+8) - ELSE - Q1=0. - ENDIF - X(1)=X(1)-Q1 - - ELSE - - IF(X(1).GT.XV(2*NPX+8))THEN - Q1=X(1)-XV(2*NPX+8) - ELSE - Q1=0. - ENDIF - X(1)=X(1)-Q1 - - IF(X(1).GT.XV(2*NPX+1)+XV(2*NPX+2))THEN - QS=(X(1)-(XV(2*NPX+1)+XV(2*NPX+2)))/XV(2*NPX+3) - X(1)=X(1)-QS - ELSE - QS=0. - ENDIF - - IF(X(1).GT.XV(2*NPX+2))THEN - QSS=(X(1)-XV(2*NPX+2))/XV(2*NPX+3) - X(1)=X(1)-QSS - ELSE - QSS=0. - ENDIF - - - ENDIF - - - T2=XV(2*NPX+10)*(X(1)/XV(2*NPX+8)- - &X(5)/XV(2*NPX+8)/XV(2*NPX+6)) - IF(T2.LE.0.)THEN - T2=MIN(ABS(T2),X(5)) - T2=MIN(T2,XV(2*NPX+8)-X(1)) - X(1)=X(1)+T2 - X(5)=X(5)-T2 - ELSE - T2=MIN(T2,X(1)) - T2=MIN(T2,XV(2*NPX+8)*XV(2*NPX+6)-X(5)) - X(1)=X(1)-T2 - X(5)=X(5)+T2 - ENDIF - - - X(1)=X(1)-E*XV(2*NPX+9) - IF(X(1).LT.0.)THEN - ER=-X(1) - X(1)=0. - ELSE - ER=0. - ENDIF - X(2)=X(2)+Q1 - - IF(X(2).GT.XV(2*NPX+2))THEN - QR=(X(2)-XV(2*NPX+2))/XV(2*NPX+5) - X(2)=X(2)-QR - ELSE - QR=0. - ENDIF - Q2=X(2)/XV(2*NPX+5) - X(2)=X(2)-Q2 - X(2)=X(2)-ER - IF(X(2).LT.0.)THEN - ET=-X(2) - X(2)=0. - ELSE - ET=0. - ENDIF - - X(3)=X(3)+Q2 - IF(X(3).GT.XV(2*NPX+2))THEN - QT=(X(3)-XV(2*NPX+2))/XV(2*NPX+5)/XV(2*NPX+7) - X(3)=X(3)-QT - ELSE - QT=0. - ENDIF - Q3=X(3)/XV(2*NPX+5)/XV(2*NPX+7) - X(3)=X(3)-Q3 - X(3)=X(3)-ET - IF(X(3).LT.0.)THEN - EL=-X(3) - X(3)=0. - ELSE - EL=0. - ENDIF - - X(4)=X(4)+Q3 - QL=X(4)/XV(2*NPX+5)/XV(2*NPX+7)/XV(2*NPX+7) - X(4)=X(4)-QL - IF(X(4).LT.0.)X(4)=0. - - QQ=QSS+QS+QR+QT+QL - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QQ - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QQ - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=Q - - ENDSUBROUTINE - - - - - -C********************************************************************** - SUBROUTINE MOD11_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle SMAR -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q,PN,EN,S,SC,QS,RDE,QH,Q1,QR,QT,FR - integer K,I - - - PN=P-E - IF(PN.GE.0.)THEN - EN=0. - ELSE - EN=-PN - PN=0. - ENDIF - -C Boucle sur les couches de sol - S=0. - SC=0. - DO 1 I=1,2*NH - S=S+X(7+NH+I) - SC=SC+XV(3*NPX+NH+I) - 1 CONTINUE - - QS=MIN(PN,S/SC*PN*XV(2*NPX+3)) - PN=PN-QS - - RDE=S/SC*XV(2*NPX+9) - IF(RDE.GT.33.)RDE=13. - FR=200.*exp(-RDE) - QH=MIN(PN,FR) - QS=QS+PN-QH - -C Boucle sur les couches de sol - DO 2 I=1,2*NH - X(7+NH+I)=X(7+NH+I)+QH-EN - IF(X(7+NH+I).GT.XV(3*NPX+NH+I))THEN - QH=X(7+NH+I)-XV(3*NPX+NH+I) - X(7+NH+I)=XV(3*NPX+NH+I) - ELSE - QH=0. - ENDIF - IF(X(7+NH+I).LT.0.)THEN - EN=-XV(2*NPX+6)*X(7+NH+I) - X(7+NH+I)=0. - ELSE - EN=0. - ENDIF - IF(EN.LE.0..AND.QH.LE.0.)GOTO 3 - 2 CONTINUE - 3 CONTINUE - - QH=XV(2*NPX+8)*QH - - X(1)=X(1)+QS+(1.-XV(2*NPX+5))*QH - Q1=X(1)/XV(2*NPX+7) - X(1)=X(1)-Q1 - - X(3)=X(3)+Q1 - QR=X(3)/XV(2*NPX+7) - X(3)=X(3)-QR - - X(2)=X(2)+XV(2*NPX+5)*QH - QT=X(2)/XV(2*NPX+2)/XV(2*NPX+7) - X(2)=X(2)-QT - -C Convolution délai - DO 4 K=1,NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*(QT+QR) - 4 CONTINUE - X(7+NH)=XV(3*NPX+NH)*(QT+QR) - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD10_D(X,XV,P,E,Q,MISC) -C Calcul du debit sur un pas de temps avec le modele SIMH -C Entrees : -C X : Etats en debut de pas de temps (mm) -C XV : Parametres -C P : Pluie journaliere (mm) -C E : ETP journaliere (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Debit journalier simule (mm) -C********************************************************************** - -C Les notations VARIABLE_r correspondent a celles utilisees dans le schema d'origine (ajoutee par L.CORON) -c Chiew, F.H.S., Peel, M.C. & Western, A.W. (2002), Application and testing of the simple rainfall-runoff model SIMHYD, -c In: V.P. Singh & D.K. Frevert (Eds.), Math. Models of Small Watershed Hydrol. & Applications, Water Resour. Pub., Colorado, pp.335-367. - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P,E,Q - DOUBLEPRECISION CAP,CAP1,CAP2,EXC,E1,COEF,SQ,RINF,SRUN,FILT - DOUBLEPRECISION SINT,EX2,ET,REC,Q3,Q4,QT - INTEGER K - - ! ------------------------------- -C Interception - CAP1=XV(2*NPX+1) -C CAP1=7. - ! ------------------------------- - !### IMAX_r = lesser of ( INSC_r , PET_r ) - CAP=MIN(CAP1,E) !d'ou XV(2*NPX+1)=INSC_r - ! ------------------------------- - !### INT_r = lesser of ( IMAX_r , RAIN_r ) - CAP=MIN(P,CAP) !CAP=INT_r - ! ------------------------------- - !### INR_r = RAIN_r - INT_r - IF(P.GT.CAP) THEN - EXC=P-CAP !# EXC=INR_r (pluie non interceptee) - E1=CAP !# E1=INT_r (pluie interceptee) - ELSE - EXC=0. !# EXC=INR_r (pluie non interceptee) - E1=P !# E1=INT_r (pluie interceptee) - ENDIF - ! ------------------------------- - !### RMO_r = lesser of ( COEF_r*exp(-SQ_r*SMS_r/SMSC_r) , INR_r ) - !### IRUN_r = INR_r - RMO_r -C Valeur médiane de COEF : 125 mm -C Valeur médiane de SQ : 2 - COEF=XV(2*NPX+8) !# COEF=COEF_r !d'ou XV(2*NPX+8)=COEF_r - SQ=2. !# SQ=SQ_r (parametre fixe en dur ici) - RINF=COEF*EXP(-SQ*X(2)/XV(2*NPX+2)) !COEF_r*exp(-SQ_r*SMS_r/SMSC_r) !d'ou XV(2*NPX+2)=SMSC_r - IF(EXC.GT.RINF) THEN - SRUN=EXC-RINF !# SRUN=IRUN_r=INR_r-RMO_r (direct surface runoff) - FILT=RINF !# FILT=RMO_r (infiltration to soil) - ELSE - SRUN=0. !# SRUN=IRUN_r=INR_r-RMO_r (direct surface runoff) - FILT=EXC !# FILT=RMO_r (infiltration to soil) - ENDIF - ! ------------------------------- - !### SRUN_r = SUB_r * SMS_r/SMSC_r * RMO_r - SINT=X(2)/XV(2*NPX+2)*FILT/XV(2*NPX+6) !SINT=SRUN_r (interflow) !d'ou X(2)=SMS_r et XV(2*NPX+6)=1/SUB_r - ! ------------------------------- - !### REC_r = CRAK_r * SMS_r/SMSC_r * (RMO_r-SRUN_r) - REC=X(2)/XV(2*NPX+2)*(FILT-SINT)/XV(2*NPX+7) !# REC=REC_r !d'ou XV(2*NPX+7)=1/CRAK_r - ! ------------------------------- - !### SMF_r = RMO_r - SRUN_r - REC_r - !### SMS_r = SMS_r + SMF_r - X(2)=X(2)+FILT-SINT-REC - EX2=0. - !Cas ou le reservoir sol est plein - IF(X(2).GT.XV(2*NPX+2)) THEN - EX2=X(2)-XV(2*NPX+2) - X(2)=XV(2*NPX+2) - ENDIF - ! ------------------------------- - !### POT_r = PET_r - INT_r - !### ET_r = lesser of ( 10*SMS_r/SMSC_r , POT_r ) - CAP2=10. - ET=MIN(E-E1,CAP2*X(2)/XV(2*NPX+2)) !# ET=ET_r - X(2)=MAX(0.,X(2)-ET) !(evaporation depuis le reservoir sol) - ! ------------------------------- - ! recharge nappe - X(3)=X(3)+EX2+REC !(nappe= nappe + Recharge + debordement eventuel du reservoir sol) avec donc X(3)=GW_r - ! vidange nappe - !### BAS_r = K_r*GW_r - Q3=X(3)/XV(2*NPX+3)/XV(2*NPX+5) !# Q3=BAS_r (base flow) d'ou XV(2*NPX+3)*XV(2*NPX+5)=1/K_r - !NB : la constante de vidange de la nappe est affectée en partie par la constante de vidange du reservoir de routage de Charles - !cette manip sert à forcer une valeur de parametre telle que la vidange de la nappe soit tjs plus lente que celle du routage de Charles - !et donc que les roles des reservoirs ne s'inversent pas (meme si vu la structure ici, c'est moins possible car la vidange de la nappe arrive dans le routage) - X(3)=X(3)-Q3 !# X(3)=GW_r (mise a jour nappe) - ! ------------------------------- - ! reservoir de routage (ajout de Charles par rapport au schema initial) - X(4)=X(4)+SINT+SRUN+Q3 !# RUNOFF_r=IRUN_r+SRUN_r+BAS_r (mise a jour niveau du reservoir) - Q4=X(4)/XV(2*NPX+5) !debit sortant du res de routage (fonction du niveau de remplissage) avec XV(2*NPX+5)=constante vidange Res Rout - X(4)=X(4)-Q4 !mise a jour niveau du res. avec X(4)=reservoir de routage - QT=Q4 !debit sortant du res de routage - - ! ------------------------------- -C Convolution delai (ajout de Charles par rapport au schema initial) - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - - ! ------------------------------- -C Debit total - Q=X(8) - - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P ! pluie en entree [mm] - MISC( 3)=EXC ! pluie non interceptee [mm] - MISC( 4)=E1 ! pluie interceptee [mm] - MISC( 5)=SRUN ! direct surface runoff [mm] - MISC( 6)=FILT ! infiltration to soil [mm] - MISC( 7)=SINT ! interflow [mm] - MISC( 8)=REC ! recharge [mm] - MISC( 9)=X(2) ! niveau du reservoir sol [mm] - MISC(10)=ET ! evaporation depuis le reservoir sol [mm] - MISC(11)=X(3) ! niveau du reservoir nappe [mm] - MISC(12)=Q3 ! vidange nappe [mm] - MISC(13)=X(4) ! niveau du reservoir de routage [mm] - MISC(14)=Q4 ! debit sortant du res de routage [mm] - MISC(15)=Q ! debit total a lexutoire [mm] - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD9_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle SACR -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - doubleprecision P,E,Q - doubleprecision ADDRO,ADIMC,ADSUR,BF,BFCC,BFNCC,BFP,BFS,CHECK - doubleprecision DEL,DEFR,DINC,DLZP,DLZS,DT,DUZ,DUZTWC - doubleprecision E1,E2,E3,E4,E5,EDMND,EUSED,EXCESS,FRACP,GRND - doubleprecision HPL,PERC,PERCF,PERCM,PERCP,PERCS,PERCT,PINC,PXV - doubleprecision RATIO,RATLP,RATLS,RATLZ,RATLZT,RED,ROIMP,SBF,SDRO - doubleprecision UZTWM,UZFWM,UZK,PCTIM,ADIMP,RIVA,ZPERC,REXP,SPERC - doubleprecision PFREE,SIDE,RSERV,CROUT,PAREA,SFC,SIF,SPBF,XX1 - doubleprecision SSUR,SUR,SURF,TBF,TCI,TET,TWX,UZFWC,UZRAT,UZTWC - - - doubleprecision LZTWM,LZFSM,LZFPM,LZSK,LZPK,LZTWC,LZFSC,LZFPC,NINC - integer NINC2 !LC_MODIF new_line - integer K,I - - - -C Transcription du code de V. Koren - - UZTWM=XV(2*NPX+1) - UZFWM=XV(2*NPX+2) - UZK=XV(2*NPX+3) -C PCTIM=XV(2*NPX+4) - PCTIM=0. -C ADIMP=XV(2*NPX+5) - ADIMP=0. - - -C RIVA=XV(2*NPX+6) - RIVA=0. - ZPERC=XV(2*NPX+7) - REXP=XV(2*NPX+8) - LZTWM=XV(2*NPX+9) - LZFSM=XV(2*NPX+10) - LZFPM=XV(2*NPX+11) - LZSK=XV(2*NPX+12) - LZPK=XV(2*NPX+13) - PFREE=XV(2*NPX+14) - - SIDE=XV(2*NPX+5) -C RSERV=XV(2*NPX+16) - RSERV=0.3*(LZFPM+LZFSM) -C EFC=XV(2*NPX+16) - CROUT=XV(2*NPX+6) - - PAREA=1.0-PCTIM-ADIMP - -C WRITE(*,'(A,6F10.2)')'MOD',(X(I),I=1,6) - UZTWC=X(1) - UZFWC=X(2) - LZTWC=X(3) - LZFSC=X(4) - LZFPC=X(5) - ADIMC=X(6) - -C Calcul évaporation - EDMND=E - E1=EDMND*(UZTWC/UZTWM) - RED=EDMND-E1 -C RED IS RESIDUAL EVAP DEMAND - UZTWC=UZTWC-E1 - - E2=0.0 - IF(UZTWC.GE.0.)GO TO 220 -C ENDIF - -C E1 CAN NOT EXCEED UZTWC - E1=E1+UZTWC - UZTWC=0.0 -CV.K REDUCE TOTAL TENSION WATER BY ACTUAL E1 -C UZTWC=UZTWC-E1 -C IF(UZTWC .LT. 0.0) UZTWC=0.0 - - RED=EDMND-E1 - IF(UZFWC.GE.RED) GO TO 221 - - E2=UZFWC - UZFWC=0.0 -CV.K REDUCE TOTAL FREE WATER BY ACTUAL E2 -C UZFWC=UZFWC-E2 -C IF(UZFWC .LT. 0.0) UZFWC=0.0 - - RED=RED-E2 - GO TO 225 - 221 E2=RED -CVK SUBTRACT E2 FROM TOTAL & UNFROZEN FREE WATER STORAGES - UZFWC=UZFWC-E2 - RED=0.0 - 220 IF((UZTWC/UZTWM).GE.(UZFWC/UZFWM)) GO TO 225 -C UPPER ZONE FREE WATER RATIO EXCEEDS UPPER ZONE -C TENSION WATER RATIO, THUS TRANSFER FREE WATER TO TENSION - - UZRAT=(UZTWC+UZFWC)/(UZTWM+UZFWM) - -CV.K ACCOUNT FOR RATIO OF UNFROZEN WATER ONLY -CV.K AND ADJUST FOUR SOIL STATES -CV.K UZTWC=UZTWM*UZRAT -CV.K UZFWC=UZFWM*UZRAT - DUZTWC=UZTWM*UZRAT-UZTWC -C IF(DUZTWC .GT. UZFWH) DUZTWC=UZFWH -CV.K TRANSFERED WATER CAN NOT EXCEED UNFROZEN FREE WATER - UZTWC=UZTWC+DUZTWC -C UZTWH=UZTWH+DUZTWC - UZFWC=UZFWC-DUZTWC -C UZFWH=UZFWH-DUZTWC - -CV.K CHECK UNFROZEN WATER STORAGES TOO - 225 IF (UZTWC.LT.0.00001) THEN - UZTWC=0.0 -C UZTWH=0.0 - ENDIF - IF (UZFWC.LT.0.00001) THEN - UZFWC=0.0 -C UZFWH=0.0 - ENDIF - -CV.K ONLY UNFROZEN WATER CAN BE EVAPORATED - E3=RED*(LZTWC/(UZTWM+LZTWM)) - LZTWC=LZTWC-E3 - IF(LZTWC.GE.0.0)GO TO 226 - E3=E3+LZTWC - LZTWC=0.0 - - 226 RATLZT=LZTWC/LZTWM -C WRITE(*,*)'E',E,'E3',E3,'RED',RED,'LZTWC',LZTWC - RATLZ=(LZTWC+LZFPC+LZFSC-RSERV)/(LZTWM+LZFPM+LZFSM - + -RSERV) - IF(RATLZT.GE.RATLZ) GO TO 230 -C RESUPPLY LOWER ZONE TENSION WATER FROM LOWER -C ZONE FREE WATER IF MORE WATER AVAILABLE THERE. - DEL=(RATLZ-RATLZT)*LZTWM -CV.K ONLY UNFROZEN WATER CAN BE TRANSFERED -c if(lzfsc .ne. lzfsh) write(*,*) 'BST4=',lzfsc,lzfsh - SFC=LZFSC+LZFPC - IF(DEL .GT. SFC) DEL=SFC - LZFSC=LZFSC-DEL - IF(LZFSC .LT. 0.0) THEN -C TRANSFER FROM LZFSC TO LZTWC. -C LZFSC=LZFSC-DEL -c if(lzfsc .lt. lzfsh) then -c write(*,*) ' lzfsc1: ',lzfsc,lzfsh,del -c stop -c endif -C ELSE -C IF TRANSFER EXCEEDS LZFSC THEN REMAINDER COMES FROM LZFPC - LZFPC=LZFPC+LZFSC -C LZFPH=LZFPH+LZFSH -C xx=LZFSC+DEL -C LZFSC=LZFSC-xx -c if(lzfsc .lt. lzfsh) then -c write(*,*) ' lzfsc2: ',lzfsc,lzfsh,del,xx -c stop -c endif - LZFSC=0.0 - IF(LZFPC.LT.0.)LZFPC=0. - ENDIF - LZTWC=LZTWC+DEL -C LZTWH=LZTWH+DEL - -CV.K LZTWC=LZTWC+DEL -CV.K LZFSC=LZFSC-DEL -CV.K IF(LZFSC.GE.0.0) GO TO 230 -CV.K LZFPC=LZFPC+LZFSC -CV.K LZFSC=0.0 - -CV.K CHECK UNFROZEN WATER STORAGE - 230 IF (LZTWC.LT.0.00001) THEN - LZTWC=0.0 -C LZTWH=0.0 - ENDIF - - -C COMPUTE ET FROM ADIMP AREA.-E5 - E5=E1+(RED+E2)*((ADIMC-E1-UZTWC)/(UZTWM+LZTWM)) -C ADJUST ADIMC,ADDITIONAL IMPERVIOUS AREA STORAGE, FOR EVAPORATION. - ADIMC=ADIMC-E5 - IF(ADIMC.GE.0.0) GO TO 231 -C E5 CAN NOT EXCEED ADIMC. - E5=E5+ADIMC - ADIMC=0.0 - 231 E5=E5*ADIMP - ADIMC=0. - E5=0. -C E5 IS ET FROM THE AREA ADIMP. -C....................................... -C COMPUTE PERCOLATION AND RUNOFF AMOUNTS. - PXV=P - TWX=PXV+UZTWC-UZTWM - IF(TWX.GE.0.0) GO TO 232 -C ALL MOISTURE HELD IN UZTW--NO EXCESS. - UZTWC=UZTWC+PXV -CV.K ADJUST UNFROZEN TENSION WATER -C UZTWH=UZTWH+PXV - - TWX=0.0 - GO TO 233 -C MOISTURE AVAILABLE IN EXCESS OF UZTWC STORAGE. -CV.K 232 UZTWC=UZTWM -C 232 UZTWH=UZTWH+(UZTWM-UZTWC) - 232 UZTWC=UZTWM - - 233 CONTINUE -C 233 ADIMC=ADIMC+PXV-TWX -C -C COMPUTE IMPERVIOUS AREA RUNOFF. -C ROIMP=PXV*PCTIM - ROIMP=0. -C ROIMP IS RUNOFF FROM THE MINIMUM IMPERVIOUS AREA. -C SIMPVT=SIMPVT+ROIMP -C -C INITIALIZE TIME INTERVAL SUMS. - SBF=0.0 - SSUR=0.0 - SIF=0.0 - SPERC=0.0 - SDRO=0.0 - SPBF=0.0 -C -C DETERMINE COMPUTATIONAL TIME INCREMENTS FOR THE BASIC TIME -C INTERVAL -CV.K NINC=1.0+0.2*(UZFWC+TWX) -CV.K PERCOLATE UNFROZEN WATER ONLY -C NINC=1.0+0.2*(UZFWH+TWX) - NINC=MAX(1.,MIN(5.,(UZFWC+TWX)/5.)) -C NINC=NUMBER OF TIME INCREMENTS THAT THE TIME INTERVAL -C IS DIVIDED INTO FOR FURTHER -C SOIL-MOISTURE ACCOUNTING. NO ONE INCREMENT -C WILL EXCEED 5.0 MILLIMETERS OF UZFWC+PAV - DT=1. - DINC=(1.0/NINC)*DT -C DINC=LENGTH OF EACH INCREMENT IN DAYS. - PINC=TWX/NINC -C PINC=AMOUNT OF AVAILABLE MOISTURE FOR EACH INCREMENT. -C COMPUTE FREE WATER DEPLETION FRACTIONS FOR -C THE TIME INCREMENT BEING USED-BASIC DEPLETIONS -C ARE FOR ONE DAY -CVK INTRODUCED REDUCTION (RUZICE & RLZICE) DUE FROZEN GROUND -CVK HOWEVER, PRIMARY RUNOFF IS UNCHANGED -CVK DUZ=1.0-((1.0-UZK)**DINC) -CVK DLZS=1.0-((1.0-LZSK)**DINC) -CVK Linear transformation for frozen ground -cc DUZ=1.0-((1.0-UZK*RUZICE)**DINC) -cc DLZS=1.0-((1.0-LZSK*RLZICE)**DINC) -CVK Non-linear (correct) transformation for frozen ground -C IF(IVERS .EQ. 0) THEN - DUZ =1.0-((1.0-UZK)**DINC) - DLZS=1.0-((1.0-LZSK)**DINC) -C ELSE -C DUZ=1.0-((1.0-RUZICE)**DINC) -C DLZS=1.0-((1.0-RLZICE)**DINC) -C ENDIF - DLZP=1.0-((1.0-LZPK)**DINC) - -C WRITE(*,'(A,6F10.2)')'MOD2',(X(I),I=1,6) -C WRITE(*,'(A,6F10.2)')'MOD2',UZTWC,UZFWC,LZTWC,LZFSC,LZFPC,ADIMC -C PAUSE -C START INCREMENTAL DO LOOP FOR THE TIME INTERVAL. -c DO 240 I=1,NINC !LC_MODIF - NINC2=INT(NINC) !LC_MODIF - DO 240 I=1,NINC2 !LC_MODIF - ADSUR=0.0 -C COMPUTE DIRECT RUNOFF (FROM ADIMP AREA). - RATIO=(ADIMC-UZTWC)/LZTWM - IF (RATIO.LT.0.0) RATIO=0.0 - ADDRO=PINC*(RATIO**2.) -C ADDRO IS THE AMOUNT OF DIRECT RUNOFF FROM THE AREA ADIMP. -C -C COMPUTE BASEFLOW AND KEEP TRACK OF TIME INTERVAL SUM. -CV.K BF=LZFPC*DLZP -CV.K LZFPC=LZFPC-BF -CV.K IF (LZFPC.GT.0.0001) GO TO 234 -CV.K BF=BF+LZFPC -CV.K LZFPC=0.0 -CV.K BASEFLOW FROM UNFROZEN WATER ONLY - BF=LZFPC*DLZP - LZFPC=LZFPC-BF - IF (LZFPC.GT.0.0001) THEN -C LZFPC=LZFPC-BF - GO TO 234 - ENDIF - BF=BF+LZFPC - LZFPC=0.0 -C LZFPC=LZFPC-BF -C IF(LZFPC .LE. 0.0001) LZFPC=0.0 -CV.K------------------------------------- -C - 234 SBF=SBF+BF - SPBF=SPBF+BF -CV.K SUPPLAMENTAL FLOW FROM UNFROZEN WATER ONLY (NOTE, DLZS -CV.K NOTE, DLZS IS REDUCED DUE FROZEN GROUND -CV.K BF=LZFSC*DLZS -CV.K LZFSC=LZFSC-BF -CV.K IF(LZFSC.GT.0.0001) GO TO 235 -CV.K BF=BF+LZFSC -CV.K LZFSC=0.0 - BF=LZFSC*DLZS - LZFSC=LZFSC-BF - IF(LZFSC.GT.0.0001) THEN -cc? IF(LZFSH.GT.0.0) THEN -C LZFSC=LZFSC-BF -c if(abs(lzfsc-lzfsh) .gt. 0.000001) then -c if(abs(lzfsc-lzfsh) .gt. 0.000001) then -c write(*,*) ' lzfsc3: ',lzfsc,lzfsh,bf -c endif - GO TO 235 - ENDIF - BF=BF+LZFSC - LZFSC=0.0 -CV LZFSC=LZFSC-BF -CV IF(LZFSC .LE. 0.0001) LZFSC=0.0 -CV.K-------------------------------------------- -C - 235 SBF=SBF+BF -C -C COMPUTE PERCOLATION-IF NO WATER AVAILABLE THEN SKIP -ccvk IF((PINC+UZFWC).GT.0.01) GO TO 251 - xx1=PINC+UZFWC - IF(xx1.GT.0.01) GO TO 251 - UZFWC=UZFWC+PINC -CV.K ADD TO UNFROZEN WATER ALSO -C UZFWH=UZFWH+PINC - GO TO 249 - 251 PERCM=LZFPM*DLZP+LZFSM*DLZS -CVK PERC=PERCM*(UZFWC/UZFWM) -CV.K USE ONLY UNFROZEN WATER RATIOS -ccvk new change: PERCOLATION REDUCED BY RUZPERC -CC PERC=PERCM*(UZFWH/UZFWM)*RUZICE - PERC=PERCM*(UZFWC/UZFWM) -C IF(IVERS .NE. 0) PERC=PERC*RUZPERC -C-- PERC=PERCM*(UZFWH/UZFWM)*RUZPERC - -CV.K DEFR=1.0-((LZTWC+LZFPC+LZFSC)/(LZTWM+LZFPM+LZFSM)) -cvk 6/22/00 DEFR=1.0-((LZTWH+LZFPH+LZFSH)/(LZTWM+LZFPM+LZFSM)) -cvk better to keep original definition of DEFR using total water - DEFR=1.0-((LZTWC+LZFPC+LZFSC)/(LZTWM+LZFPM+LZFSM)) - -C DEFR IS THE LOWER ZONE MOISTURE DEFICIENCY RATIO -c-- FR=1.0 -C FR IS THE CHANGE IN PERCOLATION WITHDRAWAL DUE TO FROZEN GROUND. -c-- FI=1.0 -C FI IS THE CHANGE IN INTERFLOW WITHDRAWAL DUE TO FROZEN GROUND. -c-- IF (IFRZE.EQ.0) GO TO 239 -c-- UZDEFR=1.0-((UZTWC+UZFWC)/(UZTWM+UZFWM)) -CVK -CVK CALL FGFR1(DEFR,FR,UZDEFR,FI) -CVK IF( IVERS .EQ. 1) THEN -CVK IF IVERS=1, OLD VERSION; IF IVERS=2, NEW VERS. FROST INDEX, -CVK BUT OLD VERS. OF PERCOLAT. AND INTERFLOW REDUCTION -c-- IF( IVERS .LE. 2) CALL FGFR1(DEFR,FR,UZDEFR,FI) - -c-- IF(IVERS .EQ. 3 .AND. FGPM(5) .GT. 0.) THEN -CVK OPTIONAL VERSION TO ACCOUNT FOR ADDITIONAL IMPERVIOUS -CVK AREAS EFFECTS DUE FROZEN GROUND -c-- FR=1-SURFRZ1(FGCO(1),FGPM(6),FGPM(5)) -c-- FI=FR -c-- ENDIF - -c-- 239 PERC=PERC*(1.0+ZPERC*(DEFR**REXP))*FR - 239 PERC=PERC*(1.0+ZPERC*(DEFR**REXP)) -C NOTE...PERCOLATION OCCURS FROM UZFWC BEFORE PAV IS ADDED. -CV.K IF(PERC.LT.UZFWC) GO TO 241 - IF(PERC.LT.UZFWC) GO TO 241 -C PERCOLATION RATE EXCEEDS UZFWH. -CV.K PERC=UZFWC - PERC=UZFWC -C PERCOLATION RATE IS LESS THAN UZFWH. - 241 UZFWC=UZFWC-PERC -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH-PERC - -C CHECK TO SEE IF PERCOLATION EXCEEDS LOWER ZONE DEFICIENCY. - CHECK=LZTWC+LZFPC+LZFSC+PERC-LZTWM-LZFPM-LZFSM - IF(CHECK.LE.0.0) GO TO 242 - PERC=PERC-CHECK - UZFWC=UZFWC+CHECK -CV.K ADJUST UNFROZEN STARAGE ALSO -C UZFWH=UZFWH+CHECK - - 242 SPERC=SPERC+PERC -C SPERC IS THE TIME INTERVAL SUMMATION OF PERC -C -C COMPUTE INTERFLOW AND KEEP TRACK OF TIME INTERVAL SUM. -C NOTE...PINC HAS NOT YET BEEN ADDED -CV.K DEL=UZFWC*DUZ*FI -CVK INTERFLOW ALSO REDUCED DUE FROFEN GROUND (DUZ REDUCED BY RUZICE) -CVK ADDITIONAL REDUCTION DUE IMPERVIOUS FROZEN AREAS (FI) IS OPTIONAL -CVK IN THE NEW VERSION. BASIC OPTION IS FI=1 -c-- DEL=UZFWH*DUZ*FI - DEL=UZFWC*DUZ - SIF=SIF+DEL - UZFWC=UZFWC-DEL -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH-DEL - -C DISTRIBE PERCOLATED WATER INTO THE LOWER ZONES -C TENSION WATER MUST BE FILLED FIRST EXCEPT FOR THE PFREE AREA. -C PERCT IS PERCOLATION TO TENSION WATER AND PERCF IS PERCOLATION -C GOING TO FREE WATER. - PERCT=PERC*(1.0-PFREE) - xx1=PERCT+LZTWC - IF (xx1.GT.LZTWM) GO TO 243 - LZTWC=LZTWC+PERCT -CV.K ADJUST UNFROZEN STORAGE ALSO -C LZTWH=LZTWH+PERCT - PERCF=0.0 - GO TO 244 - 243 PERCF=PERCT+LZTWC-LZTWM -CV.K CHANGE UNFROZEN WATER STORAGE -C LZTWH=LZTWH+LZTWM-LZTWC - LZTWC=LZTWM -C -C DISTRIBUTE PERCOLATION IN EXCESS OF TENSION -C REQUIREMENTS AMONG THE FREE WATER STORAGES. - 244 PERCF=PERCF+PERC*PFREE - IF(PERCF.EQ.0.0) GO TO 245 - HPL=LZFPM/(LZFPM+LZFSM) -C HPL IS THE RELATIVE SIZE OF THE PRIMARY STORAGE -C AS COMPARED WITH TOTAL LOWER ZONE FREE WATER STORAGE. - -c VK changed to account for ZERO MAX storage - if(LZFPM .ne. 0.) then - RATLP=LZFPC/LZFPM - else - RATLP = 1. - endif - if(LZFSM .ne. 0.) then - RATLS=LZFSC/LZFSM - else - RATLS = 1. - endif - -C RATLP AND RATLS ARE CONTENT TO CAPACITY RATIOS, OR -C IN OTHER WORDS, THE RELATIVE FULLNESS OF EACH STORAGE - FRACP=(HPL*2.0*(1.0-RATLP))/((1.0-RATLP)+(1.0-RATLS)) -C FRACP IS THE FRACTION GOING TO PRIMARY. - IF (FRACP.GT.1.0) FRACP=1.0 - PERCP=PERCF*FRACP - PERCS=PERCF-PERCP -C PERCP AND PERCS ARE THE AMOUNT OF THE EXCESS -C PERCOLATION GOING TO PRIMARY AND SUPPLEMENTAL -C STORGES,RESPECTIVELY. - LZFSC=LZFSC+PERCS -CV.K IF(LZFSC.LE.LZFSM) GO TO 246 - IF(LZFSC.LE.LZFSM) THEN -C LZFSH=LZFSH+PERCS - GO TO 246 - ENDIF - - PERCS=PERCS-LZFSC+LZFSM -CV.K ADJUST UNFROZEN STORAGE ALSO -C LZFSH=LZFSH+PERCS - - LZFSC=LZFSM - 246 LZFPC=LZFPC+(PERCF-PERCS) -C CHECK TO MAKE SURE LZFPC DOES NOT EXCEED LZFPM. -CV.K IF (LZFPC.LE.LZFPM) GO TO 245 - IF (LZFPC.LE.LZFPM) THEN -C LZFPH=LZFPH+(PERCF-PERCS) - GO TO 245 - ENDIF - - EXCESS=LZFPC-LZFPM - LZTWC=LZTWC+EXCESS -CV.K ADJUST UNFROZEN STORAGES ALSO -C LZTWH=LZTWH+EXCESS -C LZFPH=LZFPH+(PERCF-PERCS)-EXCESS - LZFPC=LZFPM -C -C DISTRIBUTE PINC BETWEEN UZFWC AND SURFACE RUNOFF. - 245 IF(PINC.EQ.0.0) GO TO 249 -C CHECK IF PINC EXCEEDS UZFWM - xx1=PINC+UZFWC - IF(xx1.GT.UZFWM) GO TO 248 -C NO SURFACE RUNOFF - UZFWC=UZFWC+PINC -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH+PINC - GO TO 249 -C -C COMPUTE SURFACE RUNOFF (SUR) AND KEEP TRACK OF TIME INTERVAL SUM. - 248 SUR=PINC+UZFWC-UZFWM - UZFWC=UZFWM -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH+PINC-SUR - SSUR=SSUR+SUR*PAREA - ADSUR=SUR*(1.0-ADDRO/PINC) -C ADSUR IS THE AMOUNT OF SURFACE RUNOFF WHICH COMES -C FROM THAT PORTION OF ADIMP WHICH IS NOT -C CURRENTLY GENERATING DIRECT RUNOFF. ADDRO/PINC -C IS THE FRACTION OF ADIMP CURRENTLY GENERATING -C DIRECT RUNOFF. - SSUR=SSUR+ADSUR*ADIMP -C -C ADIMP AREA WATER BALANCE -- SDRO IS THE 6 HR SUM OF -C DIRECT RUNOFF. - 249 ADIMC=ADIMC+PINC-ADDRO-ADSUR - xx1=UZTWM+LZTWM - IF (ADIMC.LE.xx1) GO TO 247 - ADDRO=ADDRO+ADIMC-xx1 - ADIMC=xx1 - 247 SDRO=SDRO+ADDRO*ADIMP - IF (ADIMC.LT.0.00001) ADIMC=0.0 - 240 CONTINUE - -C....................................... -C END OF INCREMENTAL DO LOOP. -C....................................... -C WRITE(*,*)SPERC - -C COMPUTE SUMS AND ADJUST RUNOFF AMOUNTS BY THE AREA OVER -C WHICH THEY ARE GENERATED. - EUSED=E1+E2+E3 -C EUSED IS THE ET FROM PAREA WHICH IS 1.0-ADIMP-PCTIM - SIF=SIF*PAREA -C -C SEPARATE CHANNEL COMPONENT OF BASEFLOW -C FROM THE NON-CHANNEL COMPONENT - TBF=SBF*PAREA -C TBF IS TOTAL BASEFLOW - BFCC=TBF*(1.0/(1.0+SIDE)) -C BFCC IS BASEFLOW, CHANNEL COMPONENT - BFP=SPBF*PAREA/(1.0+SIDE) - BFS=BFCC-BFP - IF(BFS.LT.0.0)BFS=0.0 - BFNCC=TBF-BFCC -C BFNCC IS BASEFLOW,NON-CHANNEL COMPONENT -C -C ADD TO MONTHLY SUMS. -c-- SINTFT=SINTFT+SIF -c-- SGWFP=SGWFP+BFP -c-- SGWFS=SGWFS+BFS -c-- SRECHT=SRECHT+BFNCC -c-- SROST=SROST+SSUR -c-- SRODT=SRODT+SDRO -C -C COMPUTE TOTAL CHANNEL INFLOW FOR THE TIME INTERVAL. - TCI=ROIMP+SDRO+SSUR+SIF+BFCC - GRND = SIF + BFCC ! interflow is part of ground flow -CC GRND = BFCC ! interflow is part of surface flow - SURF = TCI - GRND -C -C COMPUTE E4-ET FROM RIPARIAN VEGETATION. - E4=(EDMND-EUSED)*PCTIM -C -C SUBTRACT E4 FROM CHANNEL INFLOW - TCI=TCI-E4 - IF(TCI.GE.0.0) GO TO 250 - E4=E4+TCI - TCI=0.0 -cc 250 SROT=SROT+TCI -250 CONTINUE - GRND = GRND - E4 - IF (GRND .LT. 0.) THEN - SURF = SURF + GRND - GRND = 0. - IF (SURF .LT. 0.) SURF = 0. - END IF -C -C COMPUTE TOTAL EVAPOTRANSPIRATION-TET - EUSED=EUSED*PAREA - TET=EUSED+E5+E4 -c-- SETT=SETT+TET -c-- SE1=SE1+E1*PAREA -c-- SE3=SE3+E3*PAREA -c-- SE4=SE4+E4 -c-- SE5=SE5+E5 -C CHECK THAT ADIMC.GE.UZTWC - IF (ADIMC.LT.UZTWC) ADIMC=UZTWC -C -c Return back SAC states - X(1)=UZTWC - X(2)=UZFWC - X(3)=LZTWC - X(4)=LZFSC - X(5)=LZFPC - X(6)=ADIMC - -C Décalage temporel - DO 2 K=1,2*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*TCI - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*TCI - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=X(5) - MISC( 8)=X(6) - MISC( 9)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD8_D(X,XV,P,E,Q,MISC) -C Calcul du debit sur un pas de temps avec le modele MORD -C Entrees : -C X : Etats en debut de pas de temps (mm) -C XV : Parametres -C P : Pluie journaliere (mm) -C E : ETP journaliere (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Debit journalier simule (mm) -C---------------------------------------------------------------------- - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P,E,Q - DOUBLEPRECISION PART1,PUISSN,CAPAZ - DOUBLEPRECISION pl,dtr1,dtu1,VS,evu,AL,vl - DOUBLEPRECISION dtz,RUR,zz,an,evz,etr,VN,rt - INTEGER K - -C Transcription du code EDF-DTG par T. Mathevet - - PART1=0.80 - PUISSN=3. - CAPAZ=90. - -C Correction de pluie - pl=P*XV(2*NPX+1) - -c Repartition pluie suivant stock superficiel - dtr1=pl*X(1)/XV(2*NPX+5) - dtu1=pl-dtr1 - -c Evolution du reservoir de surface U - X(1)=X(1)+dtu1 - - if (X(1).gt.XV(2*NPX+5)) then - VS=X(1)-XV(2*NPX+5)+dtr1 - X(1)=XV(2*NPX+5) - else - VS=dtr1 - endif - - evu=E*X(1)/XV(2*NPX+5) - if (evu.gt.X(1)) evu=X(1) - - X(1)=X(1)-evu - -c Evolution du reservoir intermediaire L - - AL=VS*(1-X(2)/XV(2*NPX+6)) - if (AL+X(2).gt.XV(2*NPX+6)) AL=XV(2*NPX+6)-X(2) - X(2)=X(2)+AL - - vl=X(2)/XV(2*NPX+2) - X(2)=X(2)-vl - -C Evolution du reservoir evaporant Z - zz=X(3)/CAPAZ - dtz=(1-zz)*vl - RUR=zz*vl*(1-PART1) - an=zz*vl*PART1 - - X(3)=X(3)+dtz - evz=(E-evu)*X(3)/CAPAZ - if (evz.gt.X(3)) evz=X(3) - - etr=evu+evz - X(3)=X(3)-evz - IF(X(3).GT.CAPAZ) X(3)=CAPAZ - -c Evolution du reservoir nappe N - X(4)=X(4)+an - VN=(X(4)/XV(2*NPX+3))**PUISSN - if (VN.gt.X(4)) then - VN=X(4) - endif - - X(4)=X(4)-VN - -c Somme et routage des differentes contributions - rt=VS-AL+RUR+VN - -C Hydrogramme unitaire type HU2 de GR4 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*rt - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*rt - -C Debit total - Q=X(8+NH) - -C On stocke les variables pour ecriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P ! pluie en entree [mm] - MISC( 3)=dtu1 ! ecoulement coulant dans U (DTU1) [mm] - MISC( 4)=dtr1 ! ecoulement contournant U (DRU1) [mm] - MISC( 5)=VS ! dtr1 + debordement eventuel de U (VS) [mm] - MISC( 6)=evu ! evapotranspiration issue de U (EVU) [mm] - MISC( 7)=X(1) ! niveau du reservoir de surface U [mm] - MISC( 8)=AL ! ecoulement coulant dans L (AL) [mm] - MISC( 9)=X(2) ! niveau du reservoir intermediaire L [mm] - MISC(10)=evz ! evapotranspiration issue de Z (EVZ) [mm] - MISC(11)=dtz ! part de lecoulement coulant dans Z (DTZ) [mm] - MISC(12)=X(3) ! niveau du reservoir evaporant Z [mm] - MISC(13)=an ! ecoulement coulant dans N (AN) [mm] - MISC(14)=RUR ! ecoulement issu de L mais contournant N (RUR) [mm] - MISC(15)=VN ! ecoulement issu de N (VN) [mm] - MISC(16)=X(4) ! niveau du reservoir nappe N [mm] - MISC(17)=rt ! ecoulement entrant dans les hydrogrammes (RT) [mm] - MISC(18)=Q ! debit total a lexutoire [mm] - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD7_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR3P -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,PN,PR,PS,PERC,EN,ER,WS,tanHyp_D - INTEGER K - - A=350. - -C Calcul du rendement - IF(P1.LE.E)THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) !LC_MODIF tanh->tanHyp_D - ER=X(2)*(2.-X(2)/A)*tanHyp_D(WS)/(1.+(1.-X(2)/A)*tanHyp_D(WS)) - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) !LC_MODIF tanh->tanHyp_D - PS=A*(1.-(X(2)/A)**2.)*tanHyp_D(WS)/(1.+X(2)/A*tanHyp_D(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.) THEN - X(2)=0. !LC_MODIF - ENDIF -C IF(XV(2*NPX+2).LT.0.)WRITE(*,*)'PROA' !LC_MODIF - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*A))**4.)**(-0.25)) - X(2)=X(2)-PERC - PR=(PR+PERC)*XV(2*NPX+2) - -C HU2 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PR - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*PR - -C Remplissage réservoir R - X(1)=X(1)+X(8+NH) - - Q=X(1)*X(1)/(XV(2*NPX+1)+X(1)) - X(1)=X(1)-Q - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD6_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle MOHY -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P,E,Q,PN,Q1,Q2,TRANSP,EN,FIL,Q21,QT - integer K - -C WRITE(*,'(A,11F6.1)')'MOD',(XV(2*NPX+IK),IK=1,NPX) - -C Interception - IF(P.GE.E)THEN - PN=P-E - EN=0. - ELSE - PN=0. - EN=E-P - ENDIF - -C Calcul de l'infiltration - FIL=MIN(1.,X(2)/XV(2*NPX+1)) - X(2)=X(2)+(1.-FIL)*PN - -C Calcul de l'evaporation du réservoir - TRANSP=MIN(X(2)/XV(2*NPX+2),EN) - X(2)=MAX(0.,X(2)-TRANSP) - - -C Calcul des flux - Q2=X(2)/XV(2*NPX+6) - X(2)=X(2)-Q2 - - Q21=X(2)/XV(2*NPX+5) - X(2)=X(2)-Q21 - - X(1)=X(1)+Q21 - Q1=X(1)/XV(2*NPX+7)/MAX(XV(2*NPX+5),XV(2*NPX+6)) - X(1)=X(1)-Q1 - QT=Q1+Q2+FIL*PN - -C Convolution HU - DO 33 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 33 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD5_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle HBV0 -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P,E,Q,P5,E5,ESI,PR,PRI,QR1,QR,PERC,Q2,Q3 - INTEGER K,I - -C Production (niveau réservoir X(2)) - P5=P/5. - E5=E/5. - PR=0. - - DO 1 I=1,5 - IF(X(2).GT.XV(2*NPX+2))THEN - PRI=P5 - ELSE - PRI=P5*(X(2)/XV(2*NPX+2))**XV(2*NPX+7) - ENDIF - X(2)=X(2)+(P5-PRI) - PR=PR+PRI - ESI=E5 - IF(X(2).LT.XV(2*NPX+8)*XV(2*NPX+2)) THEN - ESI=ESI*X(2)/XV(2*NPX+8)/XV(2*NPX+2) - ENDIF - X(2)=MAX(0.,X(2)-ESI) - 1 CONTINUE - -C Réservoir de routage 1 - X(1)=X(1)+PR - IF(X(1).GT.XV(2*NPX+1))THEN - QR=(X(1)-XV(2*NPX+1))/XV(2*NPX+6) - ELSE - QR=0. - ENDIF - X(1)=X(1)-QR - QR1=X(1)/XV(2*NPX+6)/XV(2*NPX+9) - X(1)=X(1)-QR1 - QR=QR+QR1 - PERC=MIN(X(1),XV(2*NPX+5)) - X(1)=X(1)-PERC - -C Réservoir de routage 2 - X(3)=X(3)+PERC - Q2=X(3)/XV(2*NPX+3) - X(3)=X(3)-Q2 - Q3=QR+Q2 - -C Convolution HU triangulaire - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*Q3 - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*Q3 - -C Débit total - Q=X(8+NH) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=PRI - MISC( 4)=PR - MISC( 5)=PERC - MISC( 6)=X(1) - MISC( 7)=X(2) - MISC( 8)=X(3) - MISC( 9)=QR1 - MISC(10)=QR - MISC(11)=Q2 - MISC(12)=Q3 - MISC(13)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD4_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR5J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp_D - DOUBLEPRECISION PERC,PRHU1,PRHU2,ECH,QR,QD - DOUBLEPRECISION ETR,ECHR1,ECHR2 - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - -C Calcul du rendement - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) - ER=X(2)*(2.-X(2)/A)*tanHyp_D(WS)/(1.+(1.-X(2)/A)*tanHyp_D(WS)) - ETR=ER+P1 !LC_MODIF new_line - IF(X(2).LT.ER) ETR=X(2)+P1 !LC_MODIF new_line - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - ETR=E !LC_MODIF new_line - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) - PS=A*(1.-(X(2)/A)**2.)*tanHyp_D(WS)/(1.+X(2)/A*tanHyp_D(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*XV(2*NPX+2)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 -C DO K=1,NH-1 -C DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4))+1)) !modif Bourgin-Coron (inchange) - DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4)+1))) !modif Bourgin-Coron (inchange) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 -C DO K=1,2*NH-1 -C DO K=1,MAX(1,MIN(2*NH-1,INT(2*XV(2*NPX+4))+1)) !modif Bourgin-Coron (changement) - DO K=1,MAX(1,MIN(2*NH-1,2*INT(XV(2*NPX+4)+1))) !modif Bourgin-Coron (changement) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1)-XV(2*NPX+5)) - -C Remplissage réservoir R - ECHR1=ECH !LC_MODIF new_line - IF((X(1)+X(8)+ECH).LT.0) ECHR1=-X(1)-X(8) !LC_MODIF new_line - X(1)=X(1)+X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - ECHR2=ECH !LC_MODIF new_line - IF((X(8+NH)+ECH).LT.0) ECHR2=-X(8+NH) !LC_MODIF new_line - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P1 ! pluie en entree [mm] - MISC( 3)=X(2) ! niveau du reservoir de production (X(2)) [mm] - MISC( 4)=ETR ! ETR (evapotranspiration reele) [mm] - MISC( 5)=PERC ! percolation (PERC) [mm] - MISC( 6)=PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! ecoulement issu de HU1 (Q9) [mm] - MISC( 8)=X(8+NH) ! ecoulement issu de HU2 (Q1) [mm] - MISC( 9)=X(1) ! niveau du reservoir de routage (X(1)) [mm] - MISC(10)=ECH ! demi-echange potentiel (ECH) [mm] - MISC(11)=ECHR1+ECHR2 ! ECHR1+ECHR2 (echange reel 1 + echange reel 2) [mm] - MISC(12)=QR ! ecoulement issu du reservoir de routage (QR) [mm] - MISC(13)=QD ! ecoulement direct issu de HU2 (QD) [mm] - MISC(14)=Q ! debit total a lexutoire [mm] - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD3_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR4J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q - DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp_D - DOUBLEPRECISION PERC,PRHU1,PRHU2,ECH,QR,QD - DOUBLEPRECISION ETR,ECHR1,ECHR2 - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - - - - -C Calcul du rendement - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) - ER=X(2)*(2.-X(2)/A)*tanHyp_D(WS)/(1.+(1.-X(2)/A)*tanHyp_D(WS)) - ETR=ER+P1 !LC_MODIF new_line - IF(X(2).LT.ER) ETR=X(2)+P1 !LC_MODIF new_line - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - ETR=E !LC_MODIF new_line - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) - PS=A*(1.-(X(2)/A)**2.)*tanHyp_D(WS)/(1.+X(2)/A*tanHyp_D(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*XV(2*NPX+2)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 -C DO K=1,NH-1 -C DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4))+1)) !modif Bourgin-Coron (inchange) - DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4)+1))) !modif Bourgin-Coron (inchange) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 -C DO K=1,2*NH-1 -C DO K=1,MAX(1,MIN(2*NH-1,INT(2*XV(2*NPX+4))+1)) !modif Bourgin-Coron (changement) - DO K=1,MAX(1,MIN(2*NH-1,2*INT(XV(2*NPX+4)+1))) !modif Bourgin-Coron (changement) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1))**3.5 - -C Remplissage réservoir R - ECHR1=ECH !LC_MODIF new_line - IF((X(1)+X(8)+ECH).LT.0) ECHR1=-X(1)-X(8) !LC_MODIF new_line - X(1)=X(1)+X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - ECHR2=ECH !LC_MODIF new_line - IF((X(8+NH)+ECH).LT.0) ECHR2=-X(8+NH) !LC_MODIF new_line - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P1 ! pluie en entree [mm] - MISC( 3)=X(2) ! niveau du reservoir de production (X(2)) [mm] - MISC( 4)=ETR ! ETR (evapotranspiration reele) [mm] - MISC( 5)=PERC ! percolation (PERC) [mm] - MISC( 6)=PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! ecoulement issu de HU1 (Q9) [mm] - MISC( 8)=X(8+NH) ! ecoulement issu de HU2 (Q1) [mm] - MISC( 9)=X(1) ! niveau du reservoir de routage (X(1)) [mm] - MISC(10)=ECH ! demi-echange potentiel (ECH) [mm] - MISC(11)=ECHR1+ECHR2 ! ECHR1+ECHR2 (echange reel 1 + echange reel 2) [mm] - MISC(12)=QR ! ecoulement issu du reservoir de routage (QR) [mm] - MISC(13)=QD ! ecoulement direct issu de HU2 (QD) [mm] - MISC(14)=Q ! debit total a lexutoire [mm] - - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD2_D(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle IHAC -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P,E,Q,XSA,PR,QS,E1,QR,QT,H - INTEGER K - -C calcul de l'indice d'humidité (XV(2)) - XSA=X(2) - X(2)=X(2)+P/XV(2*NPX+2) - E1=MIN(30.,E/XV(2*NPX+2)/XV(2*NPX+6)) - X(2)=X(2)/EXP(E1) - H=(XSA+X(2))/2. - -C Pluie efficace - PR=P*MIN(1.,H) - -C Réservoir de routage linéaire rapide (niveau X(1)) - X(1)=X(1)+XV(2*NPX+5)*PR - QR=X(1)/XV(2*NPX+1) - X(1)=X(1)-QR - -C Réservoir de routage linéaire lent (niveau X(3)) - X(3)=X(3)+(1.-XV(2*NPX+5))*PR - QT=X(3)/XV(2*NPX+1)/XV(2*NPX+3) - X(3)=X(3)-QT - QS=QR+QT - -C Décalage temporel - DO 1 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QS - 1 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QS - -c Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=E1 - MISC( 4)=H - MISC( 5)=PR - MISC( 6)=X(1) - MISC( 7)=X(2) - MISC( 8)=X(3) - MISC( 9)=QR - MISC(10)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD1_D(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle TOPM -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH) - DOUBLEPRECISION MISC(NMISC) - DOUBLEPRECISION P1,E,Q,PR,ER,PS,QB,QT,AR - INTEGER K - -C Réservoir d'interception (niveau X(3), capacité XV(2*NPX+3)) - X(3)=X(3)+P1-E - IF(X(3).GE.0..AND.X(3).LE.XV(2*NPX+3))THEN - PR=0. - ER=0. - GOTO 2 - ENDIF - IF(X(3).LT.0.)THEN - PR=0. - ER=-X(3) - X(3)=0. - GOTO 2 - ENDIF - IF(X(3).GT.XV(2*NPX+3))THEN - PR=X(3)-XV(2*NPX+3) - ER=0. - X(3)=XV(2*NPX+3) - ENDIF - 2 CONTINUE - -C Séparation de la pluie nette en fonction du niveau du réservoir exponentiel (X(2)) - AR=XV(2*NPX+6)-X(2)/XV(2*NPX+5) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - PS=PR/(1.+EXP(AR)) - PR=PR-PS - X(2)=X(2)+PR - -C Calcul de l'évapotranspiration réelle - AR=XV(2*NPX+8)-X(2)/XV(2*NPX+5) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - X(2)=X(2)-ER/(1.+EXP(AR)) - -C Calcul de la vidange du réservoir exponentiel - AR=X(2)/XV(2*NPX+2) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - IF(AR.GT.7.)THEN - QB=X(2)+XV(2*NPX+2)/EXP(AR) - GOTO 1 - ENDIF - IF(AR.LT.-7.)THEN - QB=XV(2*NPX+2)*EXP(AR) - GOTO 1 - ENDIF - QB=XV(2*NPX+2)*LOG(EXP(AR)+1.) - 1 CONTINUE - X(2)=X(2)-QB - -C Calcul de la vidange du réservoir de routage quadratique (niveau X(1), capacité XV(2*NPX+1)) - X(1)=X(1)+PS - QT=X(1)*X(1)/(X(1)+XV(2*NPX+1)) - X(1)=X(1)-QT - -C Somme des deux composantes d'écoulement - QT=QT+QB - -C Décalage temporel - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit de sortie - Q=X(8) - -C On stocke les variables pour écriture - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=PS - MISC( 4)=PR - MISC( 5)=ER - MISC( 6)=X(1) - MISC( 7)=X(2) - MISC( 8)=X(3) - MISC( 9)=QB - MISC(10)=QT - MISC(11)=Q - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/frun_HBANLIB_DMod_S.f b/files_src_PLUS/frun_HBANLIB_DMod_S.f deleted file mode 100644 index 91c4966d8d502e9265f094a41f75c4ef720f324c..0000000000000000000000000000000000000000 --- a/files_src_PLUS/frun_HBANLIB_DMod_S.f +++ /dev/null @@ -1,3345 +0,0 @@ - - - SUBROUTINE frun_HBANLIB_DMod_S( - !inputs - & IndModel , ! [integer] model indice - & LInputs , ! [integer] length of input and output series - & InputsPrecip , ! [double] input series of total precipitation [mm] - & InputsPE , ! [double] input series PE [mm] - & NParam , ! [integer] number of model parameter - & Param , ! [double] parameter set - & NStates , ! [integer] number of state variables used for model initialising - & StateStart , ! [double] state variables used when the model run starts (reservoir levels [mm] and HU) - & NOutputs , ! [integer] number of output series - & IndOutputs , ! [integer] indices of output series - !outputs - & Outputs , ! [double] output series - & StateEnd ) ! [double] state variables at the end of the model run (reservoir levels [mm] and HU) - - - - !DEC$ ATTRIBUTES DLLEXPORT :: frun_hbanlib_dmod_s - - - Implicit None - !### input and output variables - integer, intent(in) :: IndModel,LInputs,NParam,NStates,NOutputs - real(4), dimension(LInputs) :: InputsPrecip - real(4), dimension(LInputs) :: InputsPE - real(4), dimension(NParam) :: Param - real(4), dimension(NStates) :: StateStart - real(4), dimension(NStates) :: StateEnd - integer, dimension(NOutputs) :: IndOutputs - real(4), dimension(LInputs,NOutputs) :: Outputs - - !parameters, internal states and variables - integer NPX,NH,NMISC - parameter (NPX=14,NH=20,NMISC=30) - real(4) X(5*NH+7),XV(3*NPX+5*NH) - real(4) MISC(NMISC) - real(4) P,E,Q - real(4) D,S,CAP - integer K,I,IM - - - IM=IndModel - - !-------------------------------------------------------------- - !Initialisations - !-------------------------------------------------------------- - - !initilisation of model states to zero - X=0. - XV=0. - - !initilisation of model states using StateStart - DO I=1,3*NH - X(I)=StateStart(I) - ENDDO - - !setting parameter values - DO I=1,NParam - XV(2*NPX+I)=Param(I) - ENDDO - SELECTCASE(IM) - CASE(25,4,3) - XV(2*NPX+1)=Param(3) - XV(2*NPX+2)=Param(1) - XV(2*NPX+3)=Param(2) - ENDSELECT - - - !computation of HU ordinates - SELECTCASE(IM) - - CASE(25,4,3) - D=2.5 - CALL HU1_S(XV,XV(2*NPX+4),D) - CALL HU2_S(XV,XV(2*NPX+4),D) - - CASE(24) - D=3. - CALL HU1_S(XV,XV(2*NPX+4),D) - CALL HU2_S(XV,XV(2*NPX+4),D) - - CASE(23) - D=3. - CALL HU1_S(XV,XV(2*NPX+3),D) - CALL HU2_S(XV,XV(2*NPX+3),D) - - CASE(22,21) - !do nothing - - CASE(20,19,18,17,16,15,14,13,12,10,9,2,1) - CALL DEL_S(XV,XV(2*NPX+4)) - - CASE(11) - S=XV(2*NPX+1) - CAP=25. - IF(S.GT.CAP*2*NH)THEN - CAP=S/2./FLOAT(NH) - ENDIF - DO I=1,2*NH - XV(3*NPX+NH+I)=S - IF(S.GT.CAP)THEN - IF(I.NE.2*NH)THEN - XV(3*NPX+NH+I)=CAP - S=S-CAP - ENDIF - ELSE - S=0. - ENDIF - ENDDO - CALL DEL2_S(XV,XV(2*NPX+4)) - - CASE(8) - D=2.5 - CALL HU2_S(XV,XV(2*NPX+4),D) - - CASE(7) - CALL HU_S(XV,XV(2*NPX+3)) - - CASE(6) - CALL HU4_S(XV,XV(2*NPX+4),XV(2*NPX+3)) - - CASE(5) - D=2. - CALL HU2_S(XV,XV(2*NPX+4),D) - - ENDSELECT - - !initialisation of model outputs - Q = -999.999 - MISC = -999.999 -c StateEnd = -999.999 !initialisation made in R -c Outputs = -999.999 !initialisation made in R - - - !-------------------------------------------------------------- - !Time loop - !-------------------------------------------------------------- - DO k=1,LInputs - P=InputsPrecip(k) - E =InputsPE(k) - !model run on one time-step - IF(IM.EQ.25) CALL MOD79_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.24) CALL MOD24_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.23) CALL MOD23_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.22) CALL MOD22_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.21) CALL MOD21_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.20) CALL MOD20_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.19) CALL MOD19_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.18) CALL MOD18_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.17) CALL MOD17_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.16) CALL MOD16_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.15) CALL MOD15_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.14) CALL MOD14_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.13) CALL MOD13_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.12) CALL MOD12_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.11) CALL MOD11_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.10) CALL MOD10_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.09) CALL MOD9_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.08) CALL MOD8_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.07) CALL MOD7_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.06) CALL MOD6_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.05) CALL MOD5_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.04) CALL MOD4_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.03) CALL MOD3_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.02) CALL MOD2_S(X,XV,P,E,Q,MISC) - IF(IM.EQ.01) CALL MOD1_S(X,XV,P,E,Q,MISC) - !storage of outputs - DO I=1,NOutputs - Outputs(k,I)=MISC(IndOutputs(I)) - ENDDO - ENDDO - !model states at the end of the run - DO I=1,3*NH - StateEnd(I)=X(I) - ENDDO - - RETURN - - ENDSUBROUTINE - - - - - -c################################################################################################################################ - -c Liste des modifications faites par Laurent Coron (LC_MODIF) -c - Remplacement des tanh par tanHyp_S -c - Remplacement des tab par des espaces -c - Remplacement des VJT par MISC et ajout des MISC la ou ils manquaient -c - Suppression des fonctions HU et SS (déplacées dans utils) -c - Suppression PERM MODEL INI PREFIL -c - Pour chaque modèle : conservation de MODX uniquement -c - passage de toutes les routines en Implicit None - - - -c################################################################################################################################ - - - - -C Modèles globaux journaliers - -C********************************************************************** -C Modèles fournis -C********************************************************************** -C ## ! Acronyme ! Nom complet dont est inspiré le modèle -C 1 ! TOPM ! Topmodel -C 2 ! IHAC ! IHACRES -C 3 ! GR4J ! GR4J (Perrin) -C 4 ! GR5J ! GR5J (Le Moine) -C 5 ! HBV0 ! HBV -C 6 ! MOHY ! Mohyse -C 7 ! GR3P ! GR3P -C 8 ! MORD ! Mordor -C 9 ! SACR ! Sacramento -C 10 ! SIMH ! Simhyd -C 11 ! SMAR ! SMAR -C 12 ! TANK ! TANK -C 13 ! HYMO ! HYMOD -C 14 ! GARD ! Gardenia -C 15 ! PDM0 ! PDM -C 16 ! CREC ! CREC -C 17 ! CEQU ! Cequeau -C 18 ! NAM0 ! NAM -C 19 ! WAGE ! Wageningen -C 20 ! XINA ! Xinanjiang -C 21 ! GR1J ! GR1J (Michel) -C 22 ! GR2J ! GR2J (Michel) -C 23 ! GR3J ! GR3J (Edijatno) -C 24 ! GRNJ ! GR4J (Nascimento) -C 25 ! GR6J ! GR6J -C********************************************************************** - - - - -C********************************************************************** - SUBROUTINE MOD79_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR6J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,C,EN,ER,PN,PR,PS,WS,tanHyp_S,AR - REAL(4) PERC,PRHU1,PRHU2,ECH,QR,QD,QR1 - REAL(4) ETR,ECHR1,ECHR2 - INTEGER K - - DATA B/0.9/ - DATA C/0.4/ - - A=XV(2*NPX+2) - - -C Calcul du rendement - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) - ER=X(2)*(2.-X(2)/A)*tanHyp_S(WS)/(1.+(1.-X(2)/A)*tanHyp_S(WS)) - ETR=ER+P1 !LC_MODIF new_line - IF(X(2).LT.ER) ETR=X(2)+P1 !LC_MODIF new_line - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - ETR=E !LC_MODIF new_line - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) - PS=A*(1.-(X(2)/A)**2.)*tanHyp_S(WS)/(1.+X(2)/A*tanHyp_S(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*XV(2*NPX+2)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 -C DO K=1,NH-1 -C DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4))+1)) !LC_MODIF modif Bourgin-Coron (inchange) - DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4)+1))) !LC_MODIF modif Bourgin-Coron (inchange) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 -C DO K=1,2*NH-1 -C DO K=1,MAX(1,MIN(2*NH-1,INT(2*XV(2*NPX+4))+1)) !LC_MODIF modif Bourgin-Coron (changement) - DO K=1,MAX(1,MIN(2*NH-1,2*INT(XV(2*NPX+4)+1))) !LC_MODIF modif Bourgin-Coron (changement) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1)-XV(2*NPX+5)) - -C Remplissage réservoir R - ECHR1=ECH !LC_MODIF new_line - IF((X(1)+X(8)+ECH).LT.0) ECHR1=-X(1)-X(8) !LC_MODIF new_line - X(1)=X(1)+(1-C)*X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Remplissage réservoir exponentiel - X(6)=X(6)+C*X(8)+ECH - AR=X(6)/XV(2*NPX+6) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - - IF(AR.GT.7.)THEN - QR1=X(6)+XV(2*NPX+6)/EXP(AR) - GOTO 3 - ENDIF - - IF(AR.LT.-7.)THEN - QR1=XV(2*NPX+6)*EXP(AR) - GOTO 3 - ENDIF - - QR1=XV(2*NPX+6)*LOG(EXP(AR)+1.) - 3 CONTINUE - - X(6)=X(6)-QR1 - -C Calcul écoulement direct QD - ECHR2=ECH !LC_MODIF new_line - IF((X(8+NH)+ECH).LT.0) ECHR2=-X(8+NH) !LC_MODIF new_line - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD+QR1 - IF(Q.LT.0.) Q=0. - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P1 ! pluie en entree [mm] - MISC( 3)=X(2) ! niveau du reservoir de production (X(2)) [mm] - MISC( 4)=ETR ! ETR (evapotranspiration reele) [mm] - MISC( 5)=PERC ! percolation (PERC) [mm] - MISC( 6)=PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! ecoulement issu de HU1 (Q9) [mm] - MISC( 8)=X(8+NH) ! ecoulement issu de HU2 (Q1) [mm] - MISC( 9)=X(1) ! niveau du reservoir de routage (X(1)) [mm] - MISC(10)=ECH ! demi-echange potentiel (ECH) [mm] - MISC(11)=ECHR1+ECHR2 ! ECHR1+ECHR2 (echange reel 1 + echange reel 2) [mm] - MISC(12)=QR ! ecoulement issu du reservoir de routage (QR) [mm] - MISC(13)=QR1 ! ecoulement issu du reservoir exponentiel (QR1) [mm] - MISC(14)=X(6) ! niveau du reservoir exponentiel (X(6)) [mm] - MISC(15)=QD ! ecoulement direct issu de HU2 (QD) [mm] - MISC(16)=Q ! debit total a lexutoire [mm] - - - ENDSUBROUTINE - - - - - - -C********************************************************************** - SUBROUTINE MOD24_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GRNJ -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,EN,ER,PN,PR,PS,WS,tanHyp_S - REAL(4) PRHU1,PRHU2,ECH,QR,QD - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - -C Calcul du rendement - IF(P1.LE.E)THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) !LC_MODIF tanh->tanHyp_S - ER=X(2)*(2.-X(2)/A)*tanHyp_S(WS)/(1.+(1.-X(2)/A)*tanHyp_S(WS)) - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) !LC_MODIF tanh->tanHyp_S - PS=A*(1.-(X(2)/A)**2.)*tanHyp_S(WS)/(1.+X(2)/A*tanHyp_S(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 - DO 1 K=1,NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - 1 CONTINUE - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - IF(XV(2*NPX+3).GE.0.)THEN - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1)) - ELSE - ECH=XV(2*NPX+3)*(X(2)/XV(2*NPX+2)) - ENDIF - -C Remplissage réservoir R - X(1)=X(1)+X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD23_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR3J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,EN,ER,PN,PR,PS,WS,tanHyp_S - REAL(4) PRHU1,PRHU2,QR,QD - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - -C Calcul du rendement - IF(P1.LE.E)THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) !LC_MODIF tanh->tanHyp_S - ER=X(2)*(2.-X(2)/A)*tanHyp_S(WS)/(1.+(1.-X(2)/A)*tanHyp_S(WS)) - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) !LC_MODIF tanh->tanHyp_S - PS=A*(1.-(X(2)/A)**2.)*tanHyp_S(WS)/(1.+X(2)/A*tanHyp_S(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 - DO 1 K=1,NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - 1 CONTINUE - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Remplissage réservoir R - X(1)=X(1)+X(8) - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - QD=MAX(0.,X(8+NH)) - -C Ecoulement total - Q=QR+QD - - IF(Q.LT.0.) Q=0. - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD22_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR2J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,EN,PN,PR,PS,ES - - DATA B/0.9/ - - A=XV(2*NPX+1) - -C Fonction de rendement linéaire - IF(P1.LE.E)THEN - PN=0. - EN=E-P1 - PS=0. - PR=0. - ES=EN*X(2)/A - ELSE - PN=P1-E - EN=0. - ES=0. - ! PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF OLD - IF(NINT(1000*PN).EQ.0.)THEN !LC_MODIF NEW verif PN nulle a 3 decimales - PS=0. !LC_MODIF NEW - ELSE !LC_MODIF NEW - PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF NEW - ENDIF !LC_MODIF NEW - PR=PN-PS - ENDIF - - X(2)=MAX(0.,X(2)+PS-ES) - -C Routage - X(1)=X(1)+PR - Q=X(1)*X(1)/(XV(2*NPX+2)+X(1)) - - IF(Q.LT.0.) Q=0. - X(1)=X(1)-Q - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD21_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR1J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,EN,PN,PR,PS,ES - - DATA B/0.9/ - - A=XV(2*NPX+1) - -C Fonction de rendement linéaire - IF(P1.LE.E)THEN - PN=0. - EN=E-P1 - PS=0. - PR=0. - ES=EN*X(2)/A - ELSE - PN=P1-E - EN=0. - ES=0. - ! PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF OLD - IF(NINT(1000*PN).EQ.0.)THEN !LC_MODIF NEW verif PN nulle a 3 decimales - PS=0. !LC_MODIF NEW - ELSE !LC_MODIF NEW - PS=PN*(A-X(2))/(PN+A-X(2)) !LC_MODIF NEW - ENDIF !LC_MODIF NEW - PR=PN-PS - ENDIF - - X(2)=MAX(0.,X(2)+PS-ES) - -C Routage - X(1)=X(1)+PR - Q=X(1)*X(1)/(A+X(1)) - - IF(Q.LT.0.) Q=0. - X(1)=X(1)-Q - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD20_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle XINA -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P,E,Q,A,AU,B,C,UM,LM,DM,SM,EX,KK,KI,KG - REAL(4) CG,CS,CI,D,DA,ED,EL,EP,EU,FR,G,GD - REAL(4) MM,KID,KGD,LA,PE,UA,WM,WMT,XX - REAL(4) QQ,QG,QI,QS,QT,R,RG,RI,RS,S,SS,SMM - REAL(4) IM,ID - integer K - - - FR=MISC(3) !LC_MODIF new_version on recupere la version du dernier run - IF(FR.EQ.-999.999) FR=0. !LC_MODIF new_version on recupere la version du dernier run - - - - UM=XV(2*NPX+1) - LM=XV(2*NPX+2) - DM=XV(2*NPX+2) - - im=0. - b=XV(2*NPX+6) - sm=XV(2*NPX+7) - ex=1.5 - KK=XV(2*NPX+9) !LC_MODIF K->KK - - C=XV(2*NPX+10) - KI=XV(2*NPX+11) - KG=XV(2*NPX+12) - - CG=XV(2*NPX+3) - CS=XV(2*NPX+5) - CI=XV(2*NPX+8) - - - WM=UM+LM+DM - - - MM = (WM * (1.0 + b)) / (1.0 - im); - - UA=X(1) - LA=X(2) - DA=X(3) - - - wmt = UA+LA+DA - - IF(wmt.GT.WM)wmt = WM - EP = KK * E !LC_MODIF K->KK - - PE = P - EP - R=0. - if(PE.GE.0.0)THEN - A = MM * (1.0 - (1.0 - wmt / WM)**(1.0 / (b + 1.0))) - if((PE + A).LT.MM)THEN - R = (PE - WM) + wmt + WM * (1.0 - (PE + A) / MM)**(b + 1.0) - else - R = (PE - WM) + wmt - ENDIF - EU = KK * E !LC_MODIF K->KK - - EL = 0.0 - ED = 0.0 - if((UA + PE) - R .LT. UM)THEN - UA = (UA + PE) - R - else - if((UA + LA + PE - R - UM) .GT. LM)THEN - UA = UM - LA = LM - DA = (wmt + PE) - R - UA-LA - else - LA = (UA + LA + PE) - R - UM; - UA = UM - ENDIF - ENDIF - else - R = 0.0 - if(UA + PE .GT. 0.0)THEN - EU = EP - EL = 0.0 - ED = 0.0 - UA= UA + PE - - else - EU = UA + P - UA = 0.0 - ENDIF - if(LA .GT. c * LM)THEN - EL = ((KK * E - EU) * LA) / LM; !LC_MODIF K->KK - LA = LA - EL - ED = 0.0 - else - if(LA > c * (KK * E - EU))THEN !LC_MODIF K->KK - EL = c * (KK * E - EU) !LC_MODIF K->KK - - ED = 0.0 - LA = LA - EL - else - EL = LA; - LA = 0.0 - ED = c * (KK * E - EU) - EL; !LC_MODIF K->KK - - DA = DA - ED; - ENDIF - ENDIF - ENDIF - if(UA.LT.0.0)UA=0. - if(LA.LT.0.0)LA=0. - if(DA.LT.0.0)DA=0. - if(UA.GT.UM)UA=UM - if(LA.GT.LM)LA=LM - if(DA.GT.DM)DA=DM - - X(1)=UA - X(2)=LA - X(3)=DA - - D=1. - KID = (1.0 - (1.0 - (kg + ki))**(1.0 / d)) / (1.0 + kg / ki) - KGD = (KID * kg) / ki - SMM = (1.0 + ex) * sm - - S=X(4) - RS=0. - RG=0. - RI=0. - - if(PE >0.0)THEN - XX=FR - FR=R/PE - IF(FR.LT.0.001) FR=0.001 - S=(XX*S)/FR - SS=S - QQ=R/FR - G = (QQ / 5) + 1; - QQ = QQ/G; - ID = (1.0 - (1.0 - (KGD + KID))**(1.0 / G)) / (1.0 + KGD / KID) - GD = (ID * KGD) / KID - if(sS > sm)sS = sm - AU = SMM * (1.0 - (1.0 - sS / sm)**(1.0 / (1.0 + ex))) - if(AU + QQ .LT. SMM)THEN - RS= ((QQ - sm) + sS + sm * (1.0 - (QQ+AU) / SMM)**(1.0 + ex))*FR - else - RS= ((QQ + sS) - sm) * FR - ENDIF - sS=SS+ QQ - RS / FR - RG= sS * GD * FR - RI= sS * ID * FR - sS = QQ + SS - (RS + RI + RG) / FR - if(sS > sm) sS = sm - if(sS < 0.0) sS = 0.0 - ELSE - RS=0. - RG=S*KGD*FR - RI=RG*KID/KGD - IF(FR.LT.0.001)FR=0.001 - SS=S-(RG+RI)/FR - IF(SS.LT.0.)SS=0. - ENDIF - -C MAJ des états - X(4)=SS - X(5)=X(5)+RS - X(6)=X(6)+RI - X(7)=X(7)+RG - QS=X(5)/CS - QI=X(6)/CI - QG=X(7)/CG - X(5)=X(5)-QS - X(6)=X(6)-QI - X(7)=X(7)-QG - - QT=QS+QI+QG - - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débi total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=FR - MISC( 4)=X(1) - MISC( 5)=X(2) - MISC( 6)=X(3) - MISC( 7)=X(4) - MISC( 8)=X(5) - MISC( 9)=X(6) - MISC(10)=X(7) - MISC(11)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD19_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle WAGE -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,CAP,DIV,PEF,PEF1,PEF2,Q1,Q12,Q2,QT - integer K - - X(1)=X(1)+P - - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+2))THEN - PEF=MIN(1.,X(1)/XV(2*NPX+2)/XV(2*NPX+3))* - &(X(1)-XV(2*NPX+1)*XV(2*NPX+2)) - CAP=0. - ELSE - CAP=MIN(1.,(XV(2*NPX+1)*XV(2*NPX+2)-X(1))/XV(2*NPX+1)/XV(2*NPX+2) - &/XV(2*NPX+8))*X(2) - PEF=0. - ENDIF - - X(1)=X(1)+CAP-PEF - X(2)=X(2)-CAP - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+2))THEN - X(1)=X(1)-E - ELSE - X(1)=X(1)-E*COS(3.1415/2.*(1.-X(1)/XV(2*NPX+1)/XV(2*NPX+2))) - ENDIF - IF(X(1).LT.0.)X(1)=0. - IF(X(2).LT.0.)X(2)=0. !LC_MODIF new_line - - IF(X(1).GT.XV(2*NPX+2))THEN - PEF=PEF+X(1)-XV(2*NPX+1) - X(1)=XV(2*NPX+1) - ENDIF - - DIV=MIN(1., X(2)/XV(2*NPX+5)) - PEF1=DIV*PEF - PEF2=(1.-DIV)*PEF - X(3)=X(3)+PEF1 - Q12=X(3)/XV(2*NPX+6) - X(3)=X(3)-Q12 - - X(4)=X(4)+Q12 - Q1=X(4)/XV(2*NPX+6) - X(4)=X(4)-Q1 - - X(2)=X(2)+PEF2 - Q2=X(2)/XV(2*NPX+6)/XV(2*NPX+7) - X(2)=X(2)-Q2 - - QT=Q1+Q2 - - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD18_S(X,XV,PL,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle NAM0 -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C PL : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) PL,E,Q,QIF,B12,B1,B2,B21,E1,PN,QOF,DL,DL1 - real(4) G,BF,BF1,CAFLU,QT - integer K - - X(2)=X(2)+PL - QIF=MIN(X(2),X(1)/XV(2*NPX+7)*X(2)/XV(2*NPX+3)) - X(2)=X(2)-QIF - X(3)=X(3)+QIF - B21=X(3)/XV(2*NPX+2) - X(3)=X(3)-B21 - X(6)=X(6)+B21 - B2=X(6)/XV(2*NPX+2) - X(6)=X(6)-B2 - - X(2)=X(2)-E - IF(X(2).GE.0..AND.X(2).LE.XV(2*NPX+9)) THEN - E1=0. - PN=0. - ELSEIF(X(2).LT.0)THEN - E1=-X(2) - X(2)=0. - PN=0. - ELSEIF(X(2).GT.XV(2*NPX+9))THEN - E1=0. - PN=X(2)-XV(2*NPX+9) - X(2)=XV(2*NPX+9) - ENDIF - - QOF=0. - DL=0. - G=0. - IF(PN.GT.0.)THEN - QOF=PN*X(1)/XV(2*NPX+7)/XV(2*NPX+8) - IF(XV(2*NPX+5).EQ.1.)G=0. - IF(XV(2*NPX+5).NE.1.)THEN - IF(X(1)/XV(2*NPX+7).GT.XV(2*NPX+5)) THEN - G=(PN-QOF)*(X(1)/XV(2*NPX+7)-XV(2*NPX+5))/(1.-XV(2*NPX+5)) - ELSE - G=0. - ENDIF - ENDIF - - DL=PN-QOF-G - IF(DL.GT.XV(2*NPX+7)-X(1))THEN - DL1=DL-(XV(2*NPX+7)-X(1)) - G=G+DL1 - DL=XV(2*NPX+7)-X(1) - ENDIF - ENDIF - - X(5)=X(5)+QOF - B12=X(5)/XV(2*NPX+2) - X(5)=X(5)-B12 - - X(7)=X(7)+B12 - B1=X(7)/XV(2*NPX+2) - X(7)=X(7)-B1 - - X(1)=X(1)+DL - X(1)=MAX(0.,X(1)-E1*X(1)/XV(2*NPX+7)) - -C X(4): déficit à saturation - X(4)=X(4)-G - IF(X(4).LE.XV(2*NPX+1))THEN - BF=(XV(2*NPX+1)-X(4))/XV(2*NPX+6) - ELSE - BF=0. - ENDIF - X(4)=X(4)+BF - - IF(X(4).GT.0.)THEN - BF1=0. - ELSE - BF1=-X(4)+0.1 - X(4)=0.1 - ENDIF - - IF(X(1).GT.XV(2*NPX+7))X(1)=XV(2*NPX+7) - CAFLU=((1.-X(1)/XV(2*NPX+7))**0.5)*(XV(2*NPX+10)/X(4))**2. - IF(CAFLU.GT.XV(2*NPX+7)-X(1))CAFLU=XV(2*NPX+7)-X(1) - X(1)=X(1)+CAFLU - X(4)=X(4)+CAFLU - QT=(BF+BF1+B1+B2) - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=PL - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=Q - - ENDSUBROUTINE - - - - - -C********************************************************************** - SUBROUTINE MOD17_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle CEQU -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,INF,ETR,ETR1,PN,EN - real(4) Q1,Q2,Q3,Q4,Q5,QQ - integer K - - - PN=P - EN=E - - X(1)=X(1)+PN - -C Ordre des opérations en fonction des niveaux relatifs des deux seuils -C On commence par la vidange du seuil le plus élevé - IF(XV(2*NPX+1).GE.XV(2*NPX+2))THEN - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+5))THEN - INF=(X(1)-XV(2*NPX+1)*XV(2*NPX+5))/XV(2*NPX+3) - X(1)=X(1)-INF - ELSE - INF=0. - ENDIF - IF(X(1).GE.XV(2*NPX+2)*XV(2*NPX+5))THEN - Q1=(X(1)-XV(2*NPX+2)*XV(2*NPX+5))/XV(2*NPX+6) - X(1)=X(1)-Q1 - ELSE - Q1=0. - ENDIF - - ELSE - IF(X(1).GE.XV(2*NPX+2)*XV(2*NPX+5))THEN - Q1=(X(1)-XV(2*NPX+2)*XV(2*NPX+5))/XV(2*NPX+6) - X(1)=X(1)-Q1 - ELSE - Q1=0. - ENDIF - IF(X(1).GE.XV(2*NPX+1)*XV(2*NPX+5))THEN - INF=(X(1)-XV(2*NPX+1)*XV(2*NPX+5))/XV(2*NPX+3) - X(1)=X(1)-INF - ELSE - INF=0. - ENDIF - ENDIF - -C Evaporation - IF(X(1).GE.(XV(2*NPX+5)/2.))THEN - ETR=EN - ELSE - ETR=EN*X(1)/(XV(2*NPX+5)/2.) - ENDIF - X(1)=X(1)-ETR - ETR1=0. - IF(X(1).LT.0.)THEN - ETR1=-X(1) - X(1)=0. - ENDIF - - Q2=X(1)/XV(2*NPX+8)/XV(2*NPX+6) - X(1)=X(1)-Q2 - IF(X(1).LT.0.)X(1)=0. - - IF(X(1).GE.XV(2*NPX+5))THEN - Q3=X(1)-XV(2*NPX+5) - X(1)=X(1)-Q3 - ELSE - Q3=0. - ENDIF - - - IF(X(2).GE.XV(2*NPX+7))THEN - Q4=(X(2)-XV(2*NPX+7))/XV(2*NPX+9) - ELSE - Q4=0. - ENDIF - X(2)=X(2)-Q4 - Q5=X(2)/XV(2*NPX+9)/XV(2*NPX+9) - X(2)=X(2)-Q5 - - X(2)=X(2)+INF - IF(X(2).LT.XV(2*NPX+7))THEN - ETR1=ETR1*X(2)/XV(2*NPX+7) - ENDIF - X(2)=MAX(0.,X(2)-ETR1) - - - QQ=Q1+Q2+Q3+Q4+Q5 - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QQ - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QQ - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD16_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle CREC -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,PL,PR,AR,QD,QT,QL - integer K - - PL=P - AR=(1.-X(1)/XV(2*NPX+3))/XV(2*NPX+6) - IF(AR.GT.30.)AR=30. - - PR=PL/(1.+XV(2*NPX+6)*EXP(AR)) - X(1)=X(1)+(PL-PR) - - IF(X(1).GT.XV(2*NPX+3))THEN - PR=PR+X(1)-XV(2*NPX+3) - X(1)=XV(2*NPX+3) - ENDIF - - AR=X(1)/XV(2*NPX+7) - IF(AR.GT.30.)AR=30. - X(1)=MAX(0.,X(1)-E*(1.-EXP(-AR))) - X(2)=X(2)+PR - - IF(X(2).GT.XV(2*NPX+1)*XV(2*NPX+8))THEN - QT=(X(2)-XV(2*NPX+1)*XV(2*NPX+8))/XV(2*NPX+5) - ELSE - QT=0. - ENDIF - - QD=X(2)*X(2)/(X(2)+XV(2*NPX+1)) - - !X(2)=X(2)-QD !LC_MODIF old_version - !X(2)=X(2)-QT !LC_MODIF old_version - IF(QD.LT.X(2))THEN !LC_MODIF new_version - X(2)=X(2)-QD !LC_MODIF new_version - ELSE !LC_MODIF new_version - QD=X(2) !LC_MODIF new_version - X(2)=0. !LC_MODIF new_version - ENDIF !LC_MODIF new_version - IF(QT.LT.X(2))THEN !LC_MODIF new_version - X(2)=X(2)-QT !LC_MODIF new_version - ELSE !LC_MODIF new_version - QT=X(2) !LC_MODIF new_version - X(2)=0. !LC_MODIF new_version - ENDIF !LC_MODIF new_version - - X(3)=X(3)+QT - QL=X(3)/XV(2*NPX+2) - X(3)=X(3)-QL - - QT=(QD+QL) - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=Q - - ENDSUBROUTINE - - - - - -C********************************************************************** - SUBROUTINE MOD15_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle PDM0 -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,CMAX,BEXP,ALPHA,RQ,P1,PN,X1 - real(4) CTPREV,UT1,UT2,DUM,Q1,Q2,QS,UQ,US,DRG - integer K - - CMAX=XV(2*NPX+1) - BEXP=XV(2*NPX+2) - ALPHA=XV(2*NPX+3) - RQ=XV(2*NPX+6) - -C Correction de la pluie - P1=P*XV(2*NPX+7) - X1=X(1) - - CTPREV=CMAX*(1.-(1.-(BEXP+1.)*X(1)/CMAX)**(1./(BEXP+1.))) - - UT1=MAX(P1-CMAX+CTPREV,0.) - PN=P1-UT1 - DUM=MIN((CTPREV+PN)/CMAX,1.) - X(1)=CMAX/(BEXP+1.)*(1.-(1.-DUM)**(BEXP+1.)) - UT2=MAX(PN-(X(1)-X1),0.) - -C Evaporation - X(1)=MAX(0.,X(1)-E*(1.-(1.-X(1)/CMAX*(BEXP+1.))**2.)) -C Drainage - IF(X(1).GT.CMAX/(BEXP+1)*ALPHA)THEN - DRG=(X(1)-CMAX/(BEXP+1)*ALPHA)/XV(2*NPX+8) - ELSE - DRG=0. - ENDIF - X(1)=X(1)-DRG - UQ=UT2+UT1 - US=DRG - -C Routage rapide - X(3)=X(3)+UQ - Q1=X(3)/RQ - X(3)=X(3)-Q1 - - X(4)=X(4)+Q1 - Q2=X(4)/RQ - X(4)=X(4)-Q2 - -C Routage lent (réservoir cubique) - X(2)=X(2)+US - QS=X(2)*(1.-(1.+(X(2)/XV(2*NPX+5))**2.)**(-1./2.)) - X(2)=X(2)-QS - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*(QS+Q2) - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*(QS+Q2) - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD14_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GARD -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,DEB,QR,QB1,QB2,PERC,QT - integer K - -C Réservoir 1 - X(1)=X(1)+P - X(1)=max(0.,(X(1)-E*XV(2*NPX+7))) - DEB=max(0.,(X(1)-XV(2*NPX+1))) - X(1)=X(1)-DEB - -C Réservoir 2 - X(2)=X(2)+DEB - QR=X(2)*X(2)/(X(2)+(XV(2*NPX+2)-1.)*XV(2*NPX+3)) - X(2)=X(2)-QR - PERC=X(2)/XV(2*NPX+2) - X(2)=X(2)-PERC - -C Réservoir 3 - X(3)=X(3)+PERC - QB1=0. - IF(X(3).GT.XV(2*NPX+6))THEN - QB1=(X(3)-XV(2*NPX+6))/XV(2*NPX+5)/XV(2*NPX+2) - ENDIF - X(3)=X(3)-QB1 - QB2=X(3)/XV(2*NPX+5)/XV(2*NPX+2)/XV(2*NPX+8) - X(3)=X(3)-QB2 - QT=QR+QB1+QB2 - -C Délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD13_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle HYMO -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,CMAX,BEXP,ALPHA,RQ,RS,PN,X1 - real(4) CTPREV,UT1,UT2,DUM,Q1,Q2,Q3,QS,UQ,US - integer K - - CMAX=XV(2*NPX+1) - BEXP=XV(2*NPX+2) - ALPHA=XV(2*NPX+3) - RS=XV(2*NPX+5) - RQ=XV(2*NPX+6) - - X1=X(1) - - CTPREV=CMAX*(1.-(1.-(BEXP+1.)*X(1)/CMAX)**(1./(BEXP+1.))) - - UT1=MAX(P-CMAX+CTPREV,0.) - PN=P-UT1 - DUM=MIN((CTPREV+PN)/CMAX,1.) - X(1)=CMAX/(BEXP+1.)*(1.-(1.-DUM)**(BEXP+1.)) - UT2=MAX(PN-(X(1)-X1),0.) - X(1)=MAX(0.,X(1)-E) - - UQ=ALPHA*UT2+UT1 - US=(1.-ALPHA)*UT2 - - X(2)=X(2)+US - QS=X(2)/RS/RQ - X(2)=X(2)-QS - - X(3)=X(3)+UQ - Q1=X(3)/RQ - X(3)=X(3)-Q1 - - X(4)=X(4)+Q1 - Q2=X(4)/RQ - X(4)=X(4)-Q2 - - X(5)=X(5)+Q2 - Q3=X(5)/RQ - X(5)=X(5)-Q3 - - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*(QS+Q3) - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*(QS+Q3) - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=X(5) - MISC( 8)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD12_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle TANK -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,ER,ET,T2,EL - real(4) Q1,Q2,Q3,QQ,QR,QT,QS,QSS,QL - integer K - -C Série de réservoirs à vidange linéaire - X(1)=X(1)+P - -C Condition d'ordre sur les seuils - IF(XV(2*NPX+1)+XV(2*NPX+2).GE.XV(2*NPX+8))THEN - - IF(X(1).GT.XV(2*NPX+1)+XV(2*NPX+2))THEN - QS=(X(1)-(XV(2*NPX+1)+XV(2*NPX+2)))/XV(2*NPX+3) - X(1)=X(1)-QS - ELSE - QS=0. - ENDIF - - IF(X(1).GT.XV(2*NPX+2))THEN - QSS=(X(1)-XV(2*NPX+2))/XV(2*NPX+3) - X(1)=X(1)-QSS - ELSE - QSS=0. - ENDIF - - - IF(X(1).GT.XV(2*NPX+8))THEN - Q1=X(1)-XV(2*NPX+8) - ELSE - Q1=0. - ENDIF - X(1)=X(1)-Q1 - - ELSE - - IF(X(1).GT.XV(2*NPX+8))THEN - Q1=X(1)-XV(2*NPX+8) - ELSE - Q1=0. - ENDIF - X(1)=X(1)-Q1 - - IF(X(1).GT.XV(2*NPX+1)+XV(2*NPX+2))THEN - QS=(X(1)-(XV(2*NPX+1)+XV(2*NPX+2)))/XV(2*NPX+3) - X(1)=X(1)-QS - ELSE - QS=0. - ENDIF - - IF(X(1).GT.XV(2*NPX+2))THEN - QSS=(X(1)-XV(2*NPX+2))/XV(2*NPX+3) - X(1)=X(1)-QSS - ELSE - QSS=0. - ENDIF - - - ENDIF - - - T2=XV(2*NPX+10)*(X(1)/XV(2*NPX+8)- - &X(5)/XV(2*NPX+8)/XV(2*NPX+6)) - IF(T2.LE.0.)THEN - T2=MIN(ABS(T2),X(5)) - T2=MIN(T2,XV(2*NPX+8)-X(1)) - X(1)=X(1)+T2 - X(5)=X(5)-T2 - ELSE - T2=MIN(T2,X(1)) - T2=MIN(T2,XV(2*NPX+8)*XV(2*NPX+6)-X(5)) - X(1)=X(1)-T2 - X(5)=X(5)+T2 - ENDIF - - - X(1)=X(1)-E*XV(2*NPX+9) - IF(X(1).LT.0.)THEN - ER=-X(1) - X(1)=0. - ELSE - ER=0. - ENDIF - X(2)=X(2)+Q1 - - IF(X(2).GT.XV(2*NPX+2))THEN - QR=(X(2)-XV(2*NPX+2))/XV(2*NPX+5) - X(2)=X(2)-QR - ELSE - QR=0. - ENDIF - Q2=X(2)/XV(2*NPX+5) - X(2)=X(2)-Q2 - X(2)=X(2)-ER - IF(X(2).LT.0.)THEN - ET=-X(2) - X(2)=0. - ELSE - ET=0. - ENDIF - - X(3)=X(3)+Q2 - IF(X(3).GT.XV(2*NPX+2))THEN - QT=(X(3)-XV(2*NPX+2))/XV(2*NPX+5)/XV(2*NPX+7) - X(3)=X(3)-QT - ELSE - QT=0. - ENDIF - Q3=X(3)/XV(2*NPX+5)/XV(2*NPX+7) - X(3)=X(3)-Q3 - X(3)=X(3)-ET - IF(X(3).LT.0.)THEN - EL=-X(3) - X(3)=0. - ELSE - EL=0. - ENDIF - - X(4)=X(4)+Q3 - QL=X(4)/XV(2*NPX+5)/XV(2*NPX+7)/XV(2*NPX+7) - X(4)=X(4)-QL - IF(X(4).LT.0.)X(4)=0. - - QQ=QSS+QS+QR+QT+QL - -C Convolution délai - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QQ - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QQ - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=Q - - ENDSUBROUTINE - - - - - -C********************************************************************** - SUBROUTINE MOD11_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle SMAR -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q,PN,EN,S,SC,QS,RDE,QH,Q1,QR,QT,FR - integer K,I - - - PN=P-E - IF(PN.GE.0.)THEN - EN=0. - ELSE - EN=-PN - PN=0. - ENDIF - -C Boucle sur les couches de sol - S=0. - SC=0. - DO 1 I=1,2*NH - S=S+X(7+NH+I) - SC=SC+XV(3*NPX+NH+I) - 1 CONTINUE - - QS=MIN(PN,S/SC*PN*XV(2*NPX+3)) - PN=PN-QS - - RDE=S/SC*XV(2*NPX+9) - IF(RDE.GT.33.)RDE=13. - FR=200.*exp(-RDE) - QH=MIN(PN,FR) - QS=QS+PN-QH - -C Boucle sur les couches de sol - DO 2 I=1,2*NH - X(7+NH+I)=X(7+NH+I)+QH-EN - IF(X(7+NH+I).GT.XV(3*NPX+NH+I))THEN - QH=X(7+NH+I)-XV(3*NPX+NH+I) - X(7+NH+I)=XV(3*NPX+NH+I) - ELSE - QH=0. - ENDIF - IF(X(7+NH+I).LT.0.)THEN - EN=-XV(2*NPX+6)*X(7+NH+I) - X(7+NH+I)=0. - ELSE - EN=0. - ENDIF - IF(EN.LE.0..AND.QH.LE.0.)GOTO 3 - 2 CONTINUE - 3 CONTINUE - - QH=XV(2*NPX+8)*QH - - X(1)=X(1)+QS+(1.-XV(2*NPX+5))*QH - Q1=X(1)/XV(2*NPX+7) - X(1)=X(1)-Q1 - - X(3)=X(3)+Q1 - QR=X(3)/XV(2*NPX+7) - X(3)=X(3)-QR - - X(2)=X(2)+XV(2*NPX+5)*QH - QT=X(2)/XV(2*NPX+2)/XV(2*NPX+7) - X(2)=X(2)-QT - -C Convolution délai - DO 4 K=1,NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*(QT+QR) - 4 CONTINUE - X(7+NH)=XV(3*NPX+NH)*(QT+QR) - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD10_S(X,XV,P,E,Q,MISC) -C Calcul du debit sur un pas de temps avec le modele SIMH -C Entrees : -C X : Etats en debut de pas de temps (mm) -C XV : Parametres -C P : Pluie journaliere (mm) -C E : ETP journaliere (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Debit journalier simule (mm) -C********************************************************************** - -C Les notations VARIABLE_r correspondent a celles utilisees dans le schema d'origine (ajoutee par L.CORON) -c Chiew, F.H.S., Peel, M.C. & Western, A.W. (2002), Application and testing of the simple rainfall-runoff model SIMHYD, -c In: V.P. Singh & D.K. Frevert (Eds.), Math. Models of Small Watershed Hydrol. & Applications, Water Resour. Pub., Colorado, pp.335-367. - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P,E,Q - REAL(4) CAP,CAP1,CAP2,EXC,E1,COEF,SQ,RINF,SRUN,FILT - REAL(4) SINT,EX2,ET,REC,Q3,Q4,QT - INTEGER K - - ! ------------------------------- -C Interception - CAP1=XV(2*NPX+1) -C CAP1=7. - ! ------------------------------- - !### IMAX_r = lesser of ( INSC_r , PET_r ) - CAP=MIN(CAP1,E) !d'ou XV(2*NPX+1)=INSC_r - ! ------------------------------- - !### INT_r = lesser of ( IMAX_r , RAIN_r ) - CAP=MIN(P,CAP) !CAP=INT_r - ! ------------------------------- - !### INR_r = RAIN_r - INT_r - IF(P.GT.CAP) THEN - EXC=P-CAP !# EXC=INR_r (pluie non interceptee) - E1=CAP !# E1=INT_r (pluie interceptee) - ELSE - EXC=0. !# EXC=INR_r (pluie non interceptee) - E1=P !# E1=INT_r (pluie interceptee) - ENDIF - ! ------------------------------- - !### RMO_r = lesser of ( COEF_r*exp(-SQ_r*SMS_r/SMSC_r) , INR_r ) - !### IRUN_r = INR_r - RMO_r -C Valeur médiane de COEF : 125 mm -C Valeur médiane de SQ : 2 - COEF=XV(2*NPX+8) !# COEF=COEF_r !d'ou XV(2*NPX+8)=COEF_r - SQ=2. !# SQ=SQ_r (parametre fixe en dur ici) - RINF=COEF*EXP(-SQ*X(2)/XV(2*NPX+2)) !COEF_r*exp(-SQ_r*SMS_r/SMSC_r) !d'ou XV(2*NPX+2)=SMSC_r - IF(EXC.GT.RINF) THEN - SRUN=EXC-RINF !# SRUN=IRUN_r=INR_r-RMO_r (direct surface runoff) - FILT=RINF !# FILT=RMO_r (infiltration to soil) - ELSE - SRUN=0. !# SRUN=IRUN_r=INR_r-RMO_r (direct surface runoff) - FILT=EXC !# FILT=RMO_r (infiltration to soil) - ENDIF - ! ------------------------------- - !### SRUN_r = SUB_r * SMS_r/SMSC_r * RMO_r - SINT=X(2)/XV(2*NPX+2)*FILT/XV(2*NPX+6) !SINT=SRUN_r (interflow) !d'ou X(2)=SMS_r et XV(2*NPX+6)=1/SUB_r - ! ------------------------------- - !### REC_r = CRAK_r * SMS_r/SMSC_r * (RMO_r-SRUN_r) - REC=X(2)/XV(2*NPX+2)*(FILT-SINT)/XV(2*NPX+7) !# REC=REC_r !d'ou XV(2*NPX+7)=1/CRAK_r - ! ------------------------------- - !### SMF_r = RMO_r - SRUN_r - REC_r - !### SMS_r = SMS_r + SMF_r - X(2)=X(2)+FILT-SINT-REC - EX2=0. - !Cas ou le reservoir sol est plein - IF(X(2).GT.XV(2*NPX+2)) THEN - EX2=X(2)-XV(2*NPX+2) - X(2)=XV(2*NPX+2) - ENDIF - ! ------------------------------- - !### POT_r = PET_r - INT_r - !### ET_r = lesser of ( 10*SMS_r/SMSC_r , POT_r ) - CAP2=10. - ET=MIN(E-E1,CAP2*X(2)/XV(2*NPX+2)) !# ET=ET_r - X(2)=MAX(0.,X(2)-ET) !(evaporation depuis le reservoir sol) - ! ------------------------------- - ! recharge nappe - X(3)=X(3)+EX2+REC !(nappe= nappe + Recharge + debordement eventuel du reservoir sol) avec donc X(3)=GW_r - ! vidange nappe - !### BAS_r = K_r*GW_r - Q3=X(3)/XV(2*NPX+3)/XV(2*NPX+5) !# Q3=BAS_r (base flow) d'ou XV(2*NPX+3)*XV(2*NPX+5)=1/K_r - !NB : la constante de vidange de la nappe est affectée en partie par la constante de vidange du reservoir de routage de Charles - !cette manip sert à forcer une valeur de parametre telle que la vidange de la nappe soit tjs plus lente que celle du routage de Charles - !et donc que les roles des reservoirs ne s'inversent pas (meme si vu la structure ici, c'est moins possible car la vidange de la nappe arrive dans le routage) - X(3)=X(3)-Q3 !# X(3)=GW_r (mise a jour nappe) - ! ------------------------------- - ! reservoir de routage (ajout de Charles par rapport au schema initial) - X(4)=X(4)+SINT+SRUN+Q3 !# RUNOFF_r=IRUN_r+SRUN_r+BAS_r (mise a jour niveau du reservoir) - Q4=X(4)/XV(2*NPX+5) !debit sortant du res de routage (fonction du niveau de remplissage) avec XV(2*NPX+5)=constante vidange Res Rout - X(4)=X(4)-Q4 !mise a jour niveau du res. avec X(4)=reservoir de routage - QT=Q4 !debit sortant du res de routage - - ! ------------------------------- -C Convolution delai (ajout de Charles par rapport au schema initial) - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - - ! ------------------------------- -C Debit total - Q=X(8) - - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P ! pluie en entree [mm] - MISC( 3)=EXC ! pluie non interceptee [mm] - MISC( 4)=E1 ! pluie interceptee [mm] - MISC( 5)=SRUN ! direct surface runoff [mm] - MISC( 6)=FILT ! infiltration to soil [mm] - MISC( 7)=SINT ! interflow [mm] - MISC( 8)=REC ! recharge [mm] - MISC( 9)=X(2) ! niveau du reservoir sol [mm] - MISC(10)=ET ! evaporation depuis le reservoir sol [mm] - MISC(11)=X(3) ! niveau du reservoir nappe [mm] - MISC(12)=Q3 ! vidange nappe [mm] - MISC(13)=X(4) ! niveau du reservoir de routage [mm] - MISC(14)=Q4 ! debit sortant du res de routage [mm] - MISC(15)=Q ! debit total a lexutoire [mm] - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD9_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle SACR -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - real(4) P,E,Q - real(4) ADDRO,ADIMC,ADSUR,BF,BFCC,BFNCC,BFP,BFS,CHECK - real(4) DEL,DEFR,DINC,DLZP,DLZS,DT,DUZ,DUZTWC - real(4) E1,E2,E3,E4,E5,EDMND,EUSED,EXCESS,FRACP,GRND - real(4) HPL,PERC,PERCF,PERCM,PERCP,PERCS,PERCT,PINC,PXV - real(4) RATIO,RATLP,RATLS,RATLZ,RATLZT,RED,ROIMP,SBF,SDRO - real(4) UZTWM,UZFWM,UZK,PCTIM,ADIMP,RIVA,ZPERC,REXP,SPERC - real(4) PFREE,SIDE,RSERV,CROUT,PAREA,SFC,SIF,SPBF,XX1 - real(4) SSUR,SUR,SURF,TBF,TCI,TET,TWX,UZFWC,UZRAT,UZTWC - - - real(4) LZTWM,LZFSM,LZFPM,LZSK,LZPK,LZTWC,LZFSC,LZFPC,NINC - integer NINC2 !LC_MODIF new_line - integer K,I - - - -C Transcription du code de V. Koren - - UZTWM=XV(2*NPX+1) - UZFWM=XV(2*NPX+2) - UZK=XV(2*NPX+3) -C PCTIM=XV(2*NPX+4) - PCTIM=0. -C ADIMP=XV(2*NPX+5) - ADIMP=0. - - -C RIVA=XV(2*NPX+6) - RIVA=0. - ZPERC=XV(2*NPX+7) - REXP=XV(2*NPX+8) - LZTWM=XV(2*NPX+9) - LZFSM=XV(2*NPX+10) - LZFPM=XV(2*NPX+11) - LZSK=XV(2*NPX+12) - LZPK=XV(2*NPX+13) - PFREE=XV(2*NPX+14) - - SIDE=XV(2*NPX+5) -C RSERV=XV(2*NPX+16) - RSERV=0.3*(LZFPM+LZFSM) -C EFC=XV(2*NPX+16) - CROUT=XV(2*NPX+6) - - PAREA=1.0-PCTIM-ADIMP - -C WRITE(*,'(A,6F10.2)')'MOD',(X(I),I=1,6) - UZTWC=X(1) - UZFWC=X(2) - LZTWC=X(3) - LZFSC=X(4) - LZFPC=X(5) - ADIMC=X(6) - -C Calcul évaporation - EDMND=E - E1=EDMND*(UZTWC/UZTWM) - RED=EDMND-E1 -C RED IS RESIDUAL EVAP DEMAND - UZTWC=UZTWC-E1 - - E2=0.0 - IF(UZTWC.GE.0.)GO TO 220 -C ENDIF - -C E1 CAN NOT EXCEED UZTWC - E1=E1+UZTWC - UZTWC=0.0 -CV.K REDUCE TOTAL TENSION WATER BY ACTUAL E1 -C UZTWC=UZTWC-E1 -C IF(UZTWC .LT. 0.0) UZTWC=0.0 - - RED=EDMND-E1 - IF(UZFWC.GE.RED) GO TO 221 - - E2=UZFWC - UZFWC=0.0 -CV.K REDUCE TOTAL FREE WATER BY ACTUAL E2 -C UZFWC=UZFWC-E2 -C IF(UZFWC .LT. 0.0) UZFWC=0.0 - - RED=RED-E2 - GO TO 225 - 221 E2=RED -CVK SUBTRACT E2 FROM TOTAL & UNFROZEN FREE WATER STORAGES - UZFWC=UZFWC-E2 - RED=0.0 - 220 IF((UZTWC/UZTWM).GE.(UZFWC/UZFWM)) GO TO 225 -C UPPER ZONE FREE WATER RATIO EXCEEDS UPPER ZONE -C TENSION WATER RATIO, THUS TRANSFER FREE WATER TO TENSION - - UZRAT=(UZTWC+UZFWC)/(UZTWM+UZFWM) - -CV.K ACCOUNT FOR RATIO OF UNFROZEN WATER ONLY -CV.K AND ADJUST FOUR SOIL STATES -CV.K UZTWC=UZTWM*UZRAT -CV.K UZFWC=UZFWM*UZRAT - DUZTWC=UZTWM*UZRAT-UZTWC -C IF(DUZTWC .GT. UZFWH) DUZTWC=UZFWH -CV.K TRANSFERED WATER CAN NOT EXCEED UNFROZEN FREE WATER - UZTWC=UZTWC+DUZTWC -C UZTWH=UZTWH+DUZTWC - UZFWC=UZFWC-DUZTWC -C UZFWH=UZFWH-DUZTWC - -CV.K CHECK UNFROZEN WATER STORAGES TOO - 225 IF (UZTWC.LT.0.00001) THEN - UZTWC=0.0 -C UZTWH=0.0 - ENDIF - IF (UZFWC.LT.0.00001) THEN - UZFWC=0.0 -C UZFWH=0.0 - ENDIF - -CV.K ONLY UNFROZEN WATER CAN BE EVAPORATED - E3=RED*(LZTWC/(UZTWM+LZTWM)) - LZTWC=LZTWC-E3 - IF(LZTWC.GE.0.0)GO TO 226 - E3=E3+LZTWC - LZTWC=0.0 - - 226 RATLZT=LZTWC/LZTWM -C WRITE(*,*)'E',E,'E3',E3,'RED',RED,'LZTWC',LZTWC - RATLZ=(LZTWC+LZFPC+LZFSC-RSERV)/(LZTWM+LZFPM+LZFSM - + -RSERV) - IF(RATLZT.GE.RATLZ) GO TO 230 -C RESUPPLY LOWER ZONE TENSION WATER FROM LOWER -C ZONE FREE WATER IF MORE WATER AVAILABLE THERE. - DEL=(RATLZ-RATLZT)*LZTWM -CV.K ONLY UNFROZEN WATER CAN BE TRANSFERED -c if(lzfsc .ne. lzfsh) write(*,*) 'BST4=',lzfsc,lzfsh - SFC=LZFSC+LZFPC - IF(DEL .GT. SFC) DEL=SFC - LZFSC=LZFSC-DEL - IF(LZFSC .LT. 0.0) THEN -C TRANSFER FROM LZFSC TO LZTWC. -C LZFSC=LZFSC-DEL -c if(lzfsc .lt. lzfsh) then -c write(*,*) ' lzfsc1: ',lzfsc,lzfsh,del -c stop -c endif -C ELSE -C IF TRANSFER EXCEEDS LZFSC THEN REMAINDER COMES FROM LZFPC - LZFPC=LZFPC+LZFSC -C LZFPH=LZFPH+LZFSH -C xx=LZFSC+DEL -C LZFSC=LZFSC-xx -c if(lzfsc .lt. lzfsh) then -c write(*,*) ' lzfsc2: ',lzfsc,lzfsh,del,xx -c stop -c endif - LZFSC=0.0 - IF(LZFPC.LT.0.)LZFPC=0. - ENDIF - LZTWC=LZTWC+DEL -C LZTWH=LZTWH+DEL - -CV.K LZTWC=LZTWC+DEL -CV.K LZFSC=LZFSC-DEL -CV.K IF(LZFSC.GE.0.0) GO TO 230 -CV.K LZFPC=LZFPC+LZFSC -CV.K LZFSC=0.0 - -CV.K CHECK UNFROZEN WATER STORAGE - 230 IF (LZTWC.LT.0.00001) THEN - LZTWC=0.0 -C LZTWH=0.0 - ENDIF - - -C COMPUTE ET FROM ADIMP AREA.-E5 - E5=E1+(RED+E2)*((ADIMC-E1-UZTWC)/(UZTWM+LZTWM)) -C ADJUST ADIMC,ADDITIONAL IMPERVIOUS AREA STORAGE, FOR EVAPORATION. - ADIMC=ADIMC-E5 - IF(ADIMC.GE.0.0) GO TO 231 -C E5 CAN NOT EXCEED ADIMC. - E5=E5+ADIMC - ADIMC=0.0 - 231 E5=E5*ADIMP - ADIMC=0. - E5=0. -C E5 IS ET FROM THE AREA ADIMP. -C....................................... -C COMPUTE PERCOLATION AND RUNOFF AMOUNTS. - PXV=P - TWX=PXV+UZTWC-UZTWM - IF(TWX.GE.0.0) GO TO 232 -C ALL MOISTURE HELD IN UZTW--NO EXCESS. - UZTWC=UZTWC+PXV -CV.K ADJUST UNFROZEN TENSION WATER -C UZTWH=UZTWH+PXV - - TWX=0.0 - GO TO 233 -C MOISTURE AVAILABLE IN EXCESS OF UZTWC STORAGE. -CV.K 232 UZTWC=UZTWM -C 232 UZTWH=UZTWH+(UZTWM-UZTWC) - 232 UZTWC=UZTWM - - 233 CONTINUE -C 233 ADIMC=ADIMC+PXV-TWX -C -C COMPUTE IMPERVIOUS AREA RUNOFF. -C ROIMP=PXV*PCTIM - ROIMP=0. -C ROIMP IS RUNOFF FROM THE MINIMUM IMPERVIOUS AREA. -C SIMPVT=SIMPVT+ROIMP -C -C INITIALIZE TIME INTERVAL SUMS. - SBF=0.0 - SSUR=0.0 - SIF=0.0 - SPERC=0.0 - SDRO=0.0 - SPBF=0.0 -C -C DETERMINE COMPUTATIONAL TIME INCREMENTS FOR THE BASIC TIME -C INTERVAL -CV.K NINC=1.0+0.2*(UZFWC+TWX) -CV.K PERCOLATE UNFROZEN WATER ONLY -C NINC=1.0+0.2*(UZFWH+TWX) - NINC=MAX(1.,MIN(5.,(UZFWC+TWX)/5.)) -C NINC=NUMBER OF TIME INCREMENTS THAT THE TIME INTERVAL -C IS DIVIDED INTO FOR FURTHER -C SOIL-MOISTURE ACCOUNTING. NO ONE INCREMENT -C WILL EXCEED 5.0 MILLIMETERS OF UZFWC+PAV - DT=1. - DINC=(1.0/NINC)*DT -C DINC=LENGTH OF EACH INCREMENT IN DAYS. - PINC=TWX/NINC -C PINC=AMOUNT OF AVAILABLE MOISTURE FOR EACH INCREMENT. -C COMPUTE FREE WATER DEPLETION FRACTIONS FOR -C THE TIME INCREMENT BEING USED-BASIC DEPLETIONS -C ARE FOR ONE DAY -CVK INTRODUCED REDUCTION (RUZICE & RLZICE) DUE FROZEN GROUND -CVK HOWEVER, PRIMARY RUNOFF IS UNCHANGED -CVK DUZ=1.0-((1.0-UZK)**DINC) -CVK DLZS=1.0-((1.0-LZSK)**DINC) -CVK Linear transformation for frozen ground -cc DUZ=1.0-((1.0-UZK*RUZICE)**DINC) -cc DLZS=1.0-((1.0-LZSK*RLZICE)**DINC) -CVK Non-linear (correct) transformation for frozen ground -C IF(IVERS .EQ. 0) THEN - DUZ =1.0-((1.0-UZK)**DINC) - DLZS=1.0-((1.0-LZSK)**DINC) -C ELSE -C DUZ=1.0-((1.0-RUZICE)**DINC) -C DLZS=1.0-((1.0-RLZICE)**DINC) -C ENDIF - DLZP=1.0-((1.0-LZPK)**DINC) - -C WRITE(*,'(A,6F10.2)')'MOD2',(X(I),I=1,6) -C WRITE(*,'(A,6F10.2)')'MOD2',UZTWC,UZFWC,LZTWC,LZFSC,LZFPC,ADIMC -C PAUSE -C START INCREMENTAL DO LOOP FOR THE TIME INTERVAL. -c DO 240 I=1,NINC !LC_MODIF - NINC2=INT(NINC) !LC_MODIF - DO 240 I=1,NINC2 !LC_MODIF - ADSUR=0.0 -C COMPUTE DIRECT RUNOFF (FROM ADIMP AREA). - RATIO=(ADIMC-UZTWC)/LZTWM - IF (RATIO.LT.0.0) RATIO=0.0 - ADDRO=PINC*(RATIO**2.) -C ADDRO IS THE AMOUNT OF DIRECT RUNOFF FROM THE AREA ADIMP. -C -C COMPUTE BASEFLOW AND KEEP TRACK OF TIME INTERVAL SUM. -CV.K BF=LZFPC*DLZP -CV.K LZFPC=LZFPC-BF -CV.K IF (LZFPC.GT.0.0001) GO TO 234 -CV.K BF=BF+LZFPC -CV.K LZFPC=0.0 -CV.K BASEFLOW FROM UNFROZEN WATER ONLY - BF=LZFPC*DLZP - LZFPC=LZFPC-BF - IF (LZFPC.GT.0.0001) THEN -C LZFPC=LZFPC-BF - GO TO 234 - ENDIF - BF=BF+LZFPC - LZFPC=0.0 -C LZFPC=LZFPC-BF -C IF(LZFPC .LE. 0.0001) LZFPC=0.0 -CV.K------------------------------------- -C - 234 SBF=SBF+BF - SPBF=SPBF+BF -CV.K SUPPLAMENTAL FLOW FROM UNFROZEN WATER ONLY (NOTE, DLZS -CV.K NOTE, DLZS IS REDUCED DUE FROZEN GROUND -CV.K BF=LZFSC*DLZS -CV.K LZFSC=LZFSC-BF -CV.K IF(LZFSC.GT.0.0001) GO TO 235 -CV.K BF=BF+LZFSC -CV.K LZFSC=0.0 - BF=LZFSC*DLZS - LZFSC=LZFSC-BF - IF(LZFSC.GT.0.0001) THEN -cc? IF(LZFSH.GT.0.0) THEN -C LZFSC=LZFSC-BF -c if(abs(lzfsc-lzfsh) .gt. 0.000001) then -c if(abs(lzfsc-lzfsh) .gt. 0.000001) then -c write(*,*) ' lzfsc3: ',lzfsc,lzfsh,bf -c endif - GO TO 235 - ENDIF - BF=BF+LZFSC - LZFSC=0.0 -CV LZFSC=LZFSC-BF -CV IF(LZFSC .LE. 0.0001) LZFSC=0.0 -CV.K-------------------------------------------- -C - 235 SBF=SBF+BF -C -C COMPUTE PERCOLATION-IF NO WATER AVAILABLE THEN SKIP -ccvk IF((PINC+UZFWC).GT.0.01) GO TO 251 - xx1=PINC+UZFWC - IF(xx1.GT.0.01) GO TO 251 - UZFWC=UZFWC+PINC -CV.K ADD TO UNFROZEN WATER ALSO -C UZFWH=UZFWH+PINC - GO TO 249 - 251 PERCM=LZFPM*DLZP+LZFSM*DLZS -CVK PERC=PERCM*(UZFWC/UZFWM) -CV.K USE ONLY UNFROZEN WATER RATIOS -ccvk new change: PERCOLATION REDUCED BY RUZPERC -CC PERC=PERCM*(UZFWH/UZFWM)*RUZICE - PERC=PERCM*(UZFWC/UZFWM) -C IF(IVERS .NE. 0) PERC=PERC*RUZPERC -C-- PERC=PERCM*(UZFWH/UZFWM)*RUZPERC - -CV.K DEFR=1.0-((LZTWC+LZFPC+LZFSC)/(LZTWM+LZFPM+LZFSM)) -cvk 6/22/00 DEFR=1.0-((LZTWH+LZFPH+LZFSH)/(LZTWM+LZFPM+LZFSM)) -cvk better to keep original definition of DEFR using total water - DEFR=1.0-((LZTWC+LZFPC+LZFSC)/(LZTWM+LZFPM+LZFSM)) - -C DEFR IS THE LOWER ZONE MOISTURE DEFICIENCY RATIO -c-- FR=1.0 -C FR IS THE CHANGE IN PERCOLATION WITHDRAWAL DUE TO FROZEN GROUND. -c-- FI=1.0 -C FI IS THE CHANGE IN INTERFLOW WITHDRAWAL DUE TO FROZEN GROUND. -c-- IF (IFRZE.EQ.0) GO TO 239 -c-- UZDEFR=1.0-((UZTWC+UZFWC)/(UZTWM+UZFWM)) -CVK -CVK CALL FGFR1(DEFR,FR,UZDEFR,FI) -CVK IF( IVERS .EQ. 1) THEN -CVK IF IVERS=1, OLD VERSION; IF IVERS=2, NEW VERS. FROST INDEX, -CVK BUT OLD VERS. OF PERCOLAT. AND INTERFLOW REDUCTION -c-- IF( IVERS .LE. 2) CALL FGFR1(DEFR,FR,UZDEFR,FI) - -c-- IF(IVERS .EQ. 3 .AND. FGPM(5) .GT. 0.) THEN -CVK OPTIONAL VERSION TO ACCOUNT FOR ADDITIONAL IMPERVIOUS -CVK AREAS EFFECTS DUE FROZEN GROUND -c-- FR=1-SURFRZ1(FGCO(1),FGPM(6),FGPM(5)) -c-- FI=FR -c-- ENDIF - -c-- 239 PERC=PERC*(1.0+ZPERC*(DEFR**REXP))*FR - 239 PERC=PERC*(1.0+ZPERC*(DEFR**REXP)) -C NOTE...PERCOLATION OCCURS FROM UZFWC BEFORE PAV IS ADDED. -CV.K IF(PERC.LT.UZFWC) GO TO 241 - IF(PERC.LT.UZFWC) GO TO 241 -C PERCOLATION RATE EXCEEDS UZFWH. -CV.K PERC=UZFWC - PERC=UZFWC -C PERCOLATION RATE IS LESS THAN UZFWH. - 241 UZFWC=UZFWC-PERC -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH-PERC - -C CHECK TO SEE IF PERCOLATION EXCEEDS LOWER ZONE DEFICIENCY. - CHECK=LZTWC+LZFPC+LZFSC+PERC-LZTWM-LZFPM-LZFSM - IF(CHECK.LE.0.0) GO TO 242 - PERC=PERC-CHECK - UZFWC=UZFWC+CHECK -CV.K ADJUST UNFROZEN STARAGE ALSO -C UZFWH=UZFWH+CHECK - - 242 SPERC=SPERC+PERC -C SPERC IS THE TIME INTERVAL SUMMATION OF PERC -C -C COMPUTE INTERFLOW AND KEEP TRACK OF TIME INTERVAL SUM. -C NOTE...PINC HAS NOT YET BEEN ADDED -CV.K DEL=UZFWC*DUZ*FI -CVK INTERFLOW ALSO REDUCED DUE FROFEN GROUND (DUZ REDUCED BY RUZICE) -CVK ADDITIONAL REDUCTION DUE IMPERVIOUS FROZEN AREAS (FI) IS OPTIONAL -CVK IN THE NEW VERSION. BASIC OPTION IS FI=1 -c-- DEL=UZFWH*DUZ*FI - DEL=UZFWC*DUZ - SIF=SIF+DEL - UZFWC=UZFWC-DEL -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH-DEL - -C DISTRIBE PERCOLATED WATER INTO THE LOWER ZONES -C TENSION WATER MUST BE FILLED FIRST EXCEPT FOR THE PFREE AREA. -C PERCT IS PERCOLATION TO TENSION WATER AND PERCF IS PERCOLATION -C GOING TO FREE WATER. - PERCT=PERC*(1.0-PFREE) - xx1=PERCT+LZTWC - IF (xx1.GT.LZTWM) GO TO 243 - LZTWC=LZTWC+PERCT -CV.K ADJUST UNFROZEN STORAGE ALSO -C LZTWH=LZTWH+PERCT - PERCF=0.0 - GO TO 244 - 243 PERCF=PERCT+LZTWC-LZTWM -CV.K CHANGE UNFROZEN WATER STORAGE -C LZTWH=LZTWH+LZTWM-LZTWC - LZTWC=LZTWM -C -C DISTRIBUTE PERCOLATION IN EXCESS OF TENSION -C REQUIREMENTS AMONG THE FREE WATER STORAGES. - 244 PERCF=PERCF+PERC*PFREE - IF(PERCF.EQ.0.0) GO TO 245 - HPL=LZFPM/(LZFPM+LZFSM) -C HPL IS THE RELATIVE SIZE OF THE PRIMARY STORAGE -C AS COMPARED WITH TOTAL LOWER ZONE FREE WATER STORAGE. - -c VK changed to account for ZERO MAX storage - if(LZFPM .ne. 0.) then - RATLP=LZFPC/LZFPM - else - RATLP = 1. - endif - if(LZFSM .ne. 0.) then - RATLS=LZFSC/LZFSM - else - RATLS = 1. - endif - -C RATLP AND RATLS ARE CONTENT TO CAPACITY RATIOS, OR -C IN OTHER WORDS, THE RELATIVE FULLNESS OF EACH STORAGE - FRACP=(HPL*2.0*(1.0-RATLP))/((1.0-RATLP)+(1.0-RATLS)) -C FRACP IS THE FRACTION GOING TO PRIMARY. - IF (FRACP.GT.1.0) FRACP=1.0 - PERCP=PERCF*FRACP - PERCS=PERCF-PERCP -C PERCP AND PERCS ARE THE AMOUNT OF THE EXCESS -C PERCOLATION GOING TO PRIMARY AND SUPPLEMENTAL -C STORGES,RESPECTIVELY. - LZFSC=LZFSC+PERCS -CV.K IF(LZFSC.LE.LZFSM) GO TO 246 - IF(LZFSC.LE.LZFSM) THEN -C LZFSH=LZFSH+PERCS - GO TO 246 - ENDIF - - PERCS=PERCS-LZFSC+LZFSM -CV.K ADJUST UNFROZEN STORAGE ALSO -C LZFSH=LZFSH+PERCS - - LZFSC=LZFSM - 246 LZFPC=LZFPC+(PERCF-PERCS) -C CHECK TO MAKE SURE LZFPC DOES NOT EXCEED LZFPM. -CV.K IF (LZFPC.LE.LZFPM) GO TO 245 - IF (LZFPC.LE.LZFPM) THEN -C LZFPH=LZFPH+(PERCF-PERCS) - GO TO 245 - ENDIF - - EXCESS=LZFPC-LZFPM - LZTWC=LZTWC+EXCESS -CV.K ADJUST UNFROZEN STORAGES ALSO -C LZTWH=LZTWH+EXCESS -C LZFPH=LZFPH+(PERCF-PERCS)-EXCESS - LZFPC=LZFPM -C -C DISTRIBUTE PINC BETWEEN UZFWC AND SURFACE RUNOFF. - 245 IF(PINC.EQ.0.0) GO TO 249 -C CHECK IF PINC EXCEEDS UZFWM - xx1=PINC+UZFWC - IF(xx1.GT.UZFWM) GO TO 248 -C NO SURFACE RUNOFF - UZFWC=UZFWC+PINC -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH+PINC - GO TO 249 -C -C COMPUTE SURFACE RUNOFF (SUR) AND KEEP TRACK OF TIME INTERVAL SUM. - 248 SUR=PINC+UZFWC-UZFWM - UZFWC=UZFWM -CV.K ADJUST UNFROZEN STORAGE ALSO -C UZFWH=UZFWH+PINC-SUR - SSUR=SSUR+SUR*PAREA - ADSUR=SUR*(1.0-ADDRO/PINC) -C ADSUR IS THE AMOUNT OF SURFACE RUNOFF WHICH COMES -C FROM THAT PORTION OF ADIMP WHICH IS NOT -C CURRENTLY GENERATING DIRECT RUNOFF. ADDRO/PINC -C IS THE FRACTION OF ADIMP CURRENTLY GENERATING -C DIRECT RUNOFF. - SSUR=SSUR+ADSUR*ADIMP -C -C ADIMP AREA WATER BALANCE -- SDRO IS THE 6 HR SUM OF -C DIRECT RUNOFF. - 249 ADIMC=ADIMC+PINC-ADDRO-ADSUR - xx1=UZTWM+LZTWM - IF (ADIMC.LE.xx1) GO TO 247 - ADDRO=ADDRO+ADIMC-xx1 - ADIMC=xx1 - 247 SDRO=SDRO+ADDRO*ADIMP - IF (ADIMC.LT.0.00001) ADIMC=0.0 - 240 CONTINUE - -C....................................... -C END OF INCREMENTAL DO LOOP. -C....................................... -C WRITE(*,*)SPERC - -C COMPUTE SUMS AND ADJUST RUNOFF AMOUNTS BY THE AREA OVER -C WHICH THEY ARE GENERATED. - EUSED=E1+E2+E3 -C EUSED IS THE ET FROM PAREA WHICH IS 1.0-ADIMP-PCTIM - SIF=SIF*PAREA -C -C SEPARATE CHANNEL COMPONENT OF BASEFLOW -C FROM THE NON-CHANNEL COMPONENT - TBF=SBF*PAREA -C TBF IS TOTAL BASEFLOW - BFCC=TBF*(1.0/(1.0+SIDE)) -C BFCC IS BASEFLOW, CHANNEL COMPONENT - BFP=SPBF*PAREA/(1.0+SIDE) - BFS=BFCC-BFP - IF(BFS.LT.0.0)BFS=0.0 - BFNCC=TBF-BFCC -C BFNCC IS BASEFLOW,NON-CHANNEL COMPONENT -C -C ADD TO MONTHLY SUMS. -c-- SINTFT=SINTFT+SIF -c-- SGWFP=SGWFP+BFP -c-- SGWFS=SGWFS+BFS -c-- SRECHT=SRECHT+BFNCC -c-- SROST=SROST+SSUR -c-- SRODT=SRODT+SDRO -C -C COMPUTE TOTAL CHANNEL INFLOW FOR THE TIME INTERVAL. - TCI=ROIMP+SDRO+SSUR+SIF+BFCC - GRND = SIF + BFCC ! interflow is part of ground flow -CC GRND = BFCC ! interflow is part of surface flow - SURF = TCI - GRND -C -C COMPUTE E4-ET FROM RIPARIAN VEGETATION. - E4=(EDMND-EUSED)*PCTIM -C -C SUBTRACT E4 FROM CHANNEL INFLOW - TCI=TCI-E4 - IF(TCI.GE.0.0) GO TO 250 - E4=E4+TCI - TCI=0.0 -cc 250 SROT=SROT+TCI -250 CONTINUE - GRND = GRND - E4 - IF (GRND .LT. 0.) THEN - SURF = SURF + GRND - GRND = 0. - IF (SURF .LT. 0.) SURF = 0. - END IF -C -C COMPUTE TOTAL EVAPOTRANSPIRATION-TET - EUSED=EUSED*PAREA - TET=EUSED+E5+E4 -c-- SETT=SETT+TET -c-- SE1=SE1+E1*PAREA -c-- SE3=SE3+E3*PAREA -c-- SE4=SE4+E4 -c-- SE5=SE5+E5 -C CHECK THAT ADIMC.GE.UZTWC - IF (ADIMC.LT.UZTWC) ADIMC=UZTWC -C -c Return back SAC states - X(1)=UZTWC - X(2)=UZFWC - X(3)=LZTWC - X(4)=LZFSC - X(5)=LZFPC - X(6)=ADIMC - -C Décalage temporel - DO 2 K=1,2*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*TCI - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*TCI - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=X(3) - MISC( 6)=X(4) - MISC( 7)=X(5) - MISC( 8)=X(6) - MISC( 9)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD8_S(X,XV,P,E,Q,MISC) -C Calcul du debit sur un pas de temps avec le modele MORD -C Entrees : -C X : Etats en debut de pas de temps (mm) -C XV : Parametres -C P : Pluie journaliere (mm) -C E : ETP journaliere (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Debit journalier simule (mm) -C---------------------------------------------------------------------- - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P,E,Q - REAL(4) PART1,PUISSN,CAPAZ - REAL(4) pl,dtr1,dtu1,VS,evu,AL,vl - REAL(4) dtz,RUR,zz,an,evz,etr,VN,rt - INTEGER K - -C Transcription du code EDF-DTG par T. Mathevet - - PART1=0.80 - PUISSN=3. - CAPAZ=90. - -C Correction de pluie - pl=P*XV(2*NPX+1) - -c Repartition pluie suivant stock superficiel - dtr1=pl*X(1)/XV(2*NPX+5) - dtu1=pl-dtr1 - -c Evolution du reservoir de surface U - X(1)=X(1)+dtu1 - - if (X(1).gt.XV(2*NPX+5)) then - VS=X(1)-XV(2*NPX+5)+dtr1 - X(1)=XV(2*NPX+5) - else - VS=dtr1 - endif - - evu=E*X(1)/XV(2*NPX+5) - if (evu.gt.X(1)) evu=X(1) - - X(1)=X(1)-evu - -c Evolution du reservoir intermediaire L - - AL=VS*(1-X(2)/XV(2*NPX+6)) - if (AL+X(2).gt.XV(2*NPX+6)) AL=XV(2*NPX+6)-X(2) - X(2)=X(2)+AL - - vl=X(2)/XV(2*NPX+2) - X(2)=X(2)-vl - -C Evolution du reservoir evaporant Z - zz=X(3)/CAPAZ - dtz=(1-zz)*vl - RUR=zz*vl*(1-PART1) - an=zz*vl*PART1 - - X(3)=X(3)+dtz - evz=(E-evu)*X(3)/CAPAZ - if (evz.gt.X(3)) evz=X(3) - - etr=evu+evz - X(3)=X(3)-evz - IF(X(3).GT.CAPAZ) X(3)=CAPAZ - -c Evolution du reservoir nappe N - X(4)=X(4)+an - VN=(X(4)/XV(2*NPX+3))**PUISSN - if (VN.gt.X(4)) then - VN=X(4) - endif - - X(4)=X(4)-VN - -c Somme et routage des differentes contributions - rt=VS-AL+RUR+VN - -C Hydrogramme unitaire type HU2 de GR4 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*rt - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*rt - -C Debit total - Q=X(8+NH) - -C On stocke les variables pour ecriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P ! pluie en entree [mm] - MISC( 3)=dtu1 ! ecoulement coulant dans U (DTU1) [mm] - MISC( 4)=dtr1 ! ecoulement contournant U (DRU1) [mm] - MISC( 5)=VS ! dtr1 + debordement eventuel de U (VS) [mm] - MISC( 6)=evu ! evapotranspiration issue de U (EVU) [mm] - MISC( 7)=X(1) ! niveau du reservoir de surface U [mm] - MISC( 8)=AL ! ecoulement coulant dans L (AL) [mm] - MISC( 9)=X(2) ! niveau du reservoir intermediaire L [mm] - MISC(10)=evz ! evapotranspiration issue de Z (EVZ) [mm] - MISC(11)=dtz ! part de lecoulement coulant dans Z (DTZ) [mm] - MISC(12)=X(3) ! niveau du reservoir evaporant Z [mm] - MISC(13)=an ! ecoulement coulant dans N (AN) [mm] - MISC(14)=RUR ! ecoulement issu de L mais contournant N (RUR) [mm] - MISC(15)=VN ! ecoulement issu de N (VN) [mm] - MISC(16)=X(4) ! niveau du reservoir nappe N [mm] - MISC(17)=rt ! ecoulement entrant dans les hydrogrammes (RT) [mm] - MISC(18)=Q ! debit total a lexutoire [mm] - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD7_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR3P -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,PN,PR,PS,PERC,EN,ER,WS,tanHyp_S - INTEGER K - - A=350. - -C Calcul du rendement - IF(P1.LE.E)THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) !LC_MODIF tanh->tanHyp_S - ER=X(2)*(2.-X(2)/A)*tanHyp_S(WS)/(1.+(1.-X(2)/A)*tanHyp_S(WS)) - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) !LC_MODIF tanh->tanHyp_S - PS=A*(1.-(X(2)/A)**2.)*tanHyp_S(WS)/(1.+X(2)/A*tanHyp_S(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.) THEN - X(2)=0. !LC_MODIF - ENDIF -C IF(XV(2*NPX+2).LT.0.)WRITE(*,*)'PROA' !LC_MODIF - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*A))**4.)**(-0.25)) - X(2)=X(2)-PERC - PR=(PR+PERC)*XV(2*NPX+2) - -C HU2 - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PR - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*PR - -C Remplissage réservoir R - X(1)=X(1)+X(8+NH) - - Q=X(1)*X(1)/(XV(2*NPX+1)+X(1)) - X(1)=X(1)-Q - -C Export - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD6_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle MOHY -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P,E,Q,PN,Q1,Q2,TRANSP,EN,FIL,Q21,QT - integer K - -C WRITE(*,'(A,11F6.1)')'MOD',(XV(2*NPX+IK),IK=1,NPX) - -C Interception - IF(P.GE.E)THEN - PN=P-E - EN=0. - ELSE - PN=0. - EN=E-P - ENDIF - -C Calcul de l'infiltration - FIL=MIN(1.,X(2)/XV(2*NPX+1)) - X(2)=X(2)+(1.-FIL)*PN - -C Calcul de l'evaporation du réservoir - TRANSP=MIN(X(2)/XV(2*NPX+2),EN) - X(2)=MAX(0.,X(2)-TRANSP) - - -C Calcul des flux - Q2=X(2)/XV(2*NPX+6) - X(2)=X(2)-Q2 - - Q21=X(2)/XV(2*NPX+5) - X(2)=X(2)-Q21 - - X(1)=X(1)+Q21 - Q1=X(1)/XV(2*NPX+7)/MAX(XV(2*NPX+5),XV(2*NPX+6)) - X(1)=X(1)-Q1 - QT=Q1+Q2+FIL*PN - -C Convolution HU - DO 33 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 33 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=X(1) - MISC( 4)=X(2) - MISC( 5)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD5_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle HBV0 -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P,E,Q,P5,E5,ESI,PR,PRI,QR1,QR,PERC,Q2,Q3 - INTEGER K,I - -C Production (niveau réservoir X(2)) - P5=P/5. - E5=E/5. - PR=0. - - DO 1 I=1,5 - IF(X(2).GT.XV(2*NPX+2))THEN - PRI=P5 - ELSE - PRI=P5*(X(2)/XV(2*NPX+2))**XV(2*NPX+7) - ENDIF - X(2)=X(2)+(P5-PRI) - PR=PR+PRI - ESI=E5 - IF(X(2).LT.XV(2*NPX+8)*XV(2*NPX+2)) THEN - ESI=ESI*X(2)/XV(2*NPX+8)/XV(2*NPX+2) - ENDIF - X(2)=MAX(0.,X(2)-ESI) - 1 CONTINUE - -C Réservoir de routage 1 - X(1)=X(1)+PR - IF(X(1).GT.XV(2*NPX+1))THEN - QR=(X(1)-XV(2*NPX+1))/XV(2*NPX+6) - ELSE - QR=0. - ENDIF - X(1)=X(1)-QR - QR1=X(1)/XV(2*NPX+6)/XV(2*NPX+9) - X(1)=X(1)-QR1 - QR=QR+QR1 - PERC=MIN(X(1),XV(2*NPX+5)) - X(1)=X(1)-PERC - -C Réservoir de routage 2 - X(3)=X(3)+PERC - Q2=X(3)/XV(2*NPX+3) - X(3)=X(3)-Q2 - Q3=QR+Q2 - -C Convolution HU triangulaire - DO 2 K=1,2*NH-1 - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*Q3 - 2 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*Q3 - -C Débit total - Q=X(8+NH) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=PRI - MISC( 4)=PR - MISC( 5)=PERC - MISC( 6)=X(1) - MISC( 7)=X(2) - MISC( 8)=X(3) - MISC( 9)=QR1 - MISC(10)=QR - MISC(11)=Q2 - MISC(12)=Q3 - MISC(13)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD4_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR5J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,EN,ER,PN,PR,PS,WS,tanHyp_S - REAL(4) PERC,PRHU1,PRHU2,ECH,QR,QD - REAL(4) ETR,ECHR1,ECHR2 - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - -C Calcul du rendement - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) - ER=X(2)*(2.-X(2)/A)*tanHyp_S(WS)/(1.+(1.-X(2)/A)*tanHyp_S(WS)) - ETR=ER+P1 !LC_MODIF new_line - IF(X(2).LT.ER) ETR=X(2)+P1 !LC_MODIF new_line - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - ETR=E !LC_MODIF new_line - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) - PS=A*(1.-(X(2)/A)**2.)*tanHyp_S(WS)/(1.+X(2)/A*tanHyp_S(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*XV(2*NPX+2)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 -C DO K=1,NH-1 -C DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4))+1)) !LC_MODIF modif Bourgin-Coron (inchange) - DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4)+1))) !LC_MODIF modif Bourgin-Coron (inchange) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 -C DO K=1,2*NH-1 -C DO K=1,MAX(1,MIN(2*NH-1,INT(2*XV(2*NPX+4))+1)) !LC_MODIF modif Bourgin-Coron (changement) - DO K=1,MAX(1,MIN(2*NH-1,2*INT(XV(2*NPX+4)+1))) !LC_MODIF modif Bourgin-Coron (changement) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1)-XV(2*NPX+5)) - -C Remplissage réservoir R - ECHR1=ECH !LC_MODIF new_line - IF((X(1)+X(8)+ECH).LT.0) ECHR1=-X(1)-X(8) !LC_MODIF new_line - X(1)=X(1)+X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - ECHR2=ECH !LC_MODIF new_line - IF((X(8+NH)+ECH).LT.0) ECHR2=-X(8+NH) !LC_MODIF new_line - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P1 ! pluie en entree [mm] - MISC( 3)=X(2) ! niveau du reservoir de production (X(2)) [mm] - MISC( 4)=ETR ! ETR (evapotranspiration reele) [mm] - MISC( 5)=PERC ! percolation (PERC) [mm] - MISC( 6)=PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! ecoulement issu de HU1 (Q9) [mm] - MISC( 8)=X(8+NH) ! ecoulement issu de HU2 (Q1) [mm] - MISC( 9)=X(1) ! niveau du reservoir de routage (X(1)) [mm] - MISC(10)=ECH ! demi-echange potentiel (ECH) [mm] - MISC(11)=ECHR1+ECHR2 ! ECHR1+ECHR2 (echange reel 1 + echange reel 2) [mm] - MISC(12)=QR ! ecoulement issu du reservoir de routage (QR) [mm] - MISC(13)=QD ! ecoulement direct issu de HU2 (QD) [mm] - MISC(14)=Q ! debit total a lexutoire [mm] - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD3_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle GR4J -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q - REAL(4) A,B,EN,ER,PN,PR,PS,WS,tanHyp_S - REAL(4) PERC,PRHU1,PRHU2,ECH,QR,QD - REAL(4) ETR,ECHR1,ECHR2 - INTEGER K - - DATA B/0.9/ - - A=XV(2*NPX+2) - - -C Calcul du rendement - IF(P1.LE.E) THEN - EN=E-P1 - PN=0. - WS=EN/A - IF(WS.GT.13)WS=13. -c ER=X(2)*(2.-X(2)/A)*tanh(WS)/(1.+(1.-X(2)/A)*tanh(WS)) - ER=X(2)*(2.-X(2)/A)*tanHyp_S(WS)/(1.+(1.-X(2)/A)*tanHyp_S(WS)) - ETR=ER+P1 !LC_MODIF new_line - IF(X(2).LT.ER) ETR=X(2)+P1 !LC_MODIF new_line - X(2)=X(2)-ER - PR=0. - ELSE - EN=0. - ETR=E !LC_MODIF new_line - PN=P1-E - WS=PN/A - IF(WS.GT.13)WS=13. -c PS=A*(1.-(X(2)/A)**2.)*tanh(WS)/(1.+X(2)/A*tanh(WS)) - PS=A*(1.-(X(2)/A)**2.)*tanHyp_S(WS)/(1.+X(2)/A*tanHyp_S(WS)) - PR=PN-PS - X(2)=X(2)+PS - ENDIF - -C Percolation - IF(X(2).LT.0.)X(2)=0. - PERC=X(2)*(1.-(1.+(X(2)/(9./4.*XV(2*NPX+2)))**4.)**(-0.25)) - X(2)=X(2)-PERC - - PR=PR+PERC - - PRHU1=PR*B - PRHU2=PR*(1.-B) - -C HU1 -C DO K=1,NH-1 -C DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4))+1)) !LC_MODIF modif Bourgin-Coron (inchange) - DO K=1,MAX(1,MIN(NH-1,INT(XV(2*NPX+4)+1))) !LC_MODIF modif Bourgin-Coron (inchange) - X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1 - ENDDO - X(7+NH)=XV(3*NPX+NH)*PRHU1 - -C HU2 -C DO K=1,2*NH-1 -C DO K=1,MAX(1,MIN(2*NH-1,INT(2*XV(2*NPX+4))+1)) !LC_MODIF modif Bourgin-Coron (changement) - DO K=1,MAX(1,MIN(2*NH-1,2*INT(XV(2*NPX+4)+1))) !LC_MODIF modif Bourgin-Coron (changement) - X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2 - ENDDO - X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2 - -C Calcul échange - ECH=XV(2*NPX+3)*(X(1)/XV(2*NPX+1))**3.5 - -C Remplissage réservoir R - ECHR1=ECH !LC_MODIF new_line - IF((X(1)+X(8)+ECH).LT.0) ECHR1=-X(1)-X(8) !LC_MODIF new_line - X(1)=X(1)+X(8)+ECH - IF(X(1).LT.0.)X(1)=0. - QR=X(1)*(1.-(1.+(X(1)/XV(2*NPX+1))**4.)**(-1./4.)) - X(1)=X(1)-QR - -C Calcul écoulement direct QD - ECHR2=ECH !LC_MODIF new_line - IF((X(8+NH)+ECH).LT.0) ECHR2=-X(8+NH) !LC_MODIF new_line - QD=MAX(0.,X(8+NH)+ECH) - -C Ecoulement total - Q=QR+QD - IF(Q.LT.0.) Q=0. - -C On stocke les variables pour écriture - MISC( 1)=E ! ETP en entree [mm] - MISC( 2)=P1 ! pluie en entree [mm] - MISC( 3)=X(2) ! niveau du reservoir de production (X(2)) [mm] - MISC( 4)=ETR ! ETR (evapotranspiration reele) [mm] - MISC( 5)=PERC ! percolation (PERC) [mm] - MISC( 6)=PR ! PR=PN-PS+PERC [mm] - MISC( 7)=X(8) ! ecoulement issu de HU1 (Q9) [mm] - MISC( 8)=X(8+NH) ! ecoulement issu de HU2 (Q1) [mm] - MISC( 9)=X(1) ! niveau du reservoir de routage (X(1)) [mm] - MISC(10)=ECH ! demi-echange potentiel (ECH) [mm] - MISC(11)=ECHR1+ECHR2 ! ECHR1+ECHR2 (echange reel 1 + echange reel 2) [mm] - MISC(12)=QR ! ecoulement issu du reservoir de routage (QR) [mm] - MISC(13)=QD ! ecoulement direct issu de HU2 (QD) [mm] - MISC(14)=Q ! debit total a lexutoire [mm] - - - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE MOD2_S(X,XV,P,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle IHAC -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P,E,Q,XSA,PR,QS,E1,QR,QT,H - INTEGER K - -C calcul de l'indice d'humidité (XV(2)) - XSA=X(2) - X(2)=X(2)+P/XV(2*NPX+2) - E1=MIN(30.,E/XV(2*NPX+2)/XV(2*NPX+6)) - X(2)=X(2)/EXP(E1) - H=(XSA+X(2))/2. - -C Pluie efficace - PR=P*MIN(1.,H) - -C Réservoir de routage linéaire rapide (niveau X(1)) - X(1)=X(1)+XV(2*NPX+5)*PR - QR=X(1)/XV(2*NPX+1) - X(1)=X(1)-QR - -C Réservoir de routage linéaire lent (niveau X(3)) - X(3)=X(3)+(1.-XV(2*NPX+5))*PR - QT=X(3)/XV(2*NPX+1)/XV(2*NPX+3) - X(3)=X(3)-QT - QS=QR+QT - -C Décalage temporel - DO 1 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QS - 1 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QS - -c Débit total - Q=X(8) - -C Export - MISC( 1)=E - MISC( 2)=P - MISC( 3)=E1 - MISC( 4)=H - MISC( 5)=PR - MISC( 6)=X(1) - MISC( 7)=X(2) - MISC( 8)=X(3) - MISC( 9)=QR - MISC(10)=Q - - ENDSUBROUTINE - - - - -C********************************************************************** - SUBROUTINE MOD1_S(X,XV,P1,E,Q,MISC) -C Calcul du débit sur un pas de temps avec le modèle TOPM -C Entrées : -C X : Etats en début de pas de temps (mm) -C XV : Paramètres -C P1 : Pluie journalière (mm) -C E : ETP journalière (mm) -C Sorties : -C X : Etats en fin de pas de temps -C Q : Débit journalier simulé (mm) -C********************************************************************** - Implicit None - INTEGER NPX,NH,NMISC - PARAMETER (NPX=14,NH=20,NMISC=30) - REAL(4) X(5*NH+7),XV(3*NPX+5*NH) - REAL(4) MISC(NMISC) - REAL(4) P1,E,Q,PR,ER,PS,QB,QT,AR - INTEGER K - -C Réservoir d'interception (niveau X(3), capacité XV(2*NPX+3)) - X(3)=X(3)+P1-E - IF(X(3).GE.0..AND.X(3).LE.XV(2*NPX+3))THEN - PR=0. - ER=0. - GOTO 2 - ENDIF - IF(X(3).LT.0.)THEN - PR=0. - ER=-X(3) - X(3)=0. - GOTO 2 - ENDIF - IF(X(3).GT.XV(2*NPX+3))THEN - PR=X(3)-XV(2*NPX+3) - ER=0. - X(3)=XV(2*NPX+3) - ENDIF - 2 CONTINUE - -C Séparation de la pluie nette en fonction du niveau du réservoir exponentiel (X(2)) - AR=XV(2*NPX+6)-X(2)/XV(2*NPX+5) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - PS=PR/(1.+EXP(AR)) - PR=PR-PS - X(2)=X(2)+PR - -C Calcul de l'évapotranspiration réelle - AR=XV(2*NPX+8)-X(2)/XV(2*NPX+5) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - X(2)=X(2)-ER/(1.+EXP(AR)) - -C Calcul de la vidange du réservoir exponentiel - AR=X(2)/XV(2*NPX+2) - IF(AR.GT.33.)AR=33. - IF(AR.LT.-33.)AR=-33. - IF(AR.GT.7.)THEN - QB=X(2)+XV(2*NPX+2)/EXP(AR) - GOTO 1 - ENDIF - IF(AR.LT.-7.)THEN - QB=XV(2*NPX+2)*EXP(AR) - GOTO 1 - ENDIF - QB=XV(2*NPX+2)*LOG(EXP(AR)+1.) - 1 CONTINUE - X(2)=X(2)-QB - -C Calcul de la vidange du réservoir de routage quadratique (niveau X(1), capacité XV(2*NPX+1)) - X(1)=X(1)+PS - QT=X(1)*X(1)/(X(1)+XV(2*NPX+1)) - X(1)=X(1)-QT - -C Somme des deux composantes d'écoulement - QT=QT+QB - -C Décalage temporel - DO 3 K=1,3*NH-1 - X(7+K)=X(8+K)+XV(3*NPX+K)*QT - 3 CONTINUE - X(7+3*NH)=XV(3*NPX+3*NH)*QT - -C Débit de sortie - Q=X(8) - -C On stocke les variables pour écriture - MISC( 1)=E - MISC( 2)=P1 - MISC( 3)=PS - MISC( 4)=PR - MISC( 5)=ER - MISC( 6)=X(1) - MISC( 7)=X(2) - MISC( 8)=X(3) - MISC( 9)=QB - MISC(10)=QT - MISC(11)=Q - - ENDSUBROUTINE - - diff --git a/files_src_PLUS/utils_D.f b/files_src_PLUS/utils_D.f deleted file mode 100644 index 8fb716ab11c4b9bdcd733fc4eaf0b7c6e6451bfb..0000000000000000000000000000000000000000 --- a/files_src_PLUS/utils_D.f +++ /dev/null @@ -1,272 +0,0 @@ - - -C********************************************************************** - SUBROUTINE HU1_D(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,D,SS1_D - INTEGER I - - DO I=1,NH - XV(3*NPX+I)=SS1_D(I,C,D)-SS1_D(I-1,C,D) - ENDDO - ENDSUBROUTINE - - -C********************************************************************** - SUBROUTINE HU2_D(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,D,SS2_D - INTEGER I - - DO I =1,2*NH - XV(3*NPX+NH+I)=SS2_D(I,C,D)-SS2_D(I-1,C,D) - ENDDO - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU4_D(XV,ALPHA,BETA) -C Computation of ordinates of MOHYSE unit hydrograph -C Inputs: -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH),U(3*NH) - DOUBLEPRECISION ALPHA,BETA,SU - INTEGER K - - SU=0. -c IF(ALPHA.LT.1.)THEN -c WRITE(*,*)' Pb ALPHA' -c STOP -c ENDIF - IF(ALPHA.EQ.1.)THEN - U(1)=1. - SU=1. - DO 1 K=2,3*NH - U(K)=0. - 1 CONTINUE - ELSE - DO 11 K=1,3*NH - U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA) - SU=SU+U(K) - 11 CONTINUE - ENDIF - -c IF(SU.LT.0.0000000001)THEN -c WRITE(*,*)' Pb HU4',ALPHA, BETA -c STOP -c ENDIF - DO 2 K=1,3*NH - XV(3*NPX+K)=U(K)/SU - 2 CONTINUE - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU_D(XV,C) -C Computation of ordinates of GRP unit hydrograph -C Inputs: -C C: time constant -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C - DOUBLEPRECISION SH_D - INTEGER I - DO 10 I=1,2*NH - XV(3*NPX+NH+I)=SH_D(I,C)-SH_D(I-1,C) - 10 CONTINUE - RETURN - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION SH_D(I,C) -C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU -C Inputs: -C C: time constant -C I: time-step -C Outputs: -C SH_D: Values of the S curve for I -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION C - DOUBLEPRECISION SH_D,FI - INTEGER I - - FI=I - IF(FI.LE.0.)THEN - SH_D=0. - RETURN - ENDIF - IF(FI.GE.C)THEN - SH_D=1. - RETURN - ENDIF - SH_D=FI**2.5/(FI**2.5+(C-FI)**2.5) - RETURN - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS1_D(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS1_D: Values of the S curve for I -C********************************************************************** - Implicit None - DOUBLEPRECISION C,D,SS1_D - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS1_D=0. - RETURN - ENDIF - IF(FI.LT.C) THEN - SS1_D=(FI/C)**D - RETURN - ENDIF - SS1_D=1. - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS2_D(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS2_D: Values of the S curve for I -C********************************************************************** - Implicit None - DOUBLEPRECISION C,D,SS2_D - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS2_D=0. - RETURN - ENDIF - IF(FI.LE.C) THEN - SS2_D=0.5*(FI/C)**D - RETURN - ENDIF - IF(FI.LT.2.*C) THEN - SS2_D=1.-0.5*(2.-FI/C)**D - RETURN - ENDIF - SS2_D=1. - ENDFUNCTION - - - -C********************************************************************** - SUBROUTINE DEL_D(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,F - INTEGER I,K - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+3*NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE DEL2_D(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - DOUBLEPRECISION XV(3*NPX+5*NH) - DOUBLEPRECISION C,F - INTEGER K,I - - IF(C.GT.FLOAT(NH)) C=FLOAT(NH) - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION tanHyp_D(Val) -C Computation of hyperbolic tangent -C********************************************************************** - Implicit None - DOUBLEPRECISION Val,ValExp,tanHyp_D - - ValExp=EXP(Val) - tanHyp_D=(ValExp - 1./ValExp)/(ValExp + 1./ValExp) - RETURN - ENDFUNCTION - diff --git a/files_src_PLUS/utils_S.f b/files_src_PLUS/utils_S.f deleted file mode 100644 index acfa89be3e66b969c8e6c67cab6bbd45ecdc818c..0000000000000000000000000000000000000000 --- a/files_src_PLUS/utils_S.f +++ /dev/null @@ -1,272 +0,0 @@ - - -C********************************************************************** - SUBROUTINE HU1_S(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) XV(3*NPX+5*NH) - REAL(4) C,D,SS1_S - INTEGER I - - DO I=1,NH - XV(3*NPX+I)=SS1_S(I,C,D)-SS1_S(I-1,C,D) - ENDDO - ENDSUBROUTINE - - -C********************************************************************** - SUBROUTINE HU2_S(XV,C,D) -C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2 -C Inputs: -C C: time constant -C D: exponent -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) XV(3*NPX+5*NH) - REAL(4) C,D,SS2_S - INTEGER I - - DO I =1,2*NH - XV(3*NPX+NH+I)=SS2_S(I,C,D)-SS2_S(I-1,C,D) - ENDDO - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU4_S(XV,ALPHA,BETA) -C Computation of ordinates of MOHYSE unit hydrograph -C Inputs: -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) XV(3*NPX+5*NH),U(3*NH) - REAL(4) ALPHA,BETA,SU - INTEGER K - - SU=0. -c IF(ALPHA.LT.1.)THEN -c WRITE(*,*)' Pb ALPHA' -c STOP -c ENDIF - IF(ALPHA.EQ.1.)THEN - U(1)=1. - SU=1. - DO 1 K=2,3*NH - U(K)=0. - 1 CONTINUE - ELSE - DO 11 K=1,3*NH - U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA) - SU=SU+U(K) - 11 CONTINUE - ENDIF - -c IF(SU.LT.0.0000000001)THEN -c WRITE(*,*)' Pb HU4',ALPHA, BETA -c STOP -c ENDIF - DO 2 K=1,3*NH - XV(3*NPX+K)=U(K)/SU - 2 CONTINUE - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE HU_S(XV,C) -C Computation of ordinates of GRP unit hydrograph -C Inputs: -C C: time constant -C Alpha: parameter -C Beta: parameter -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) XV(3*NPX+5*NH) - REAL(4) C - REAL(4) SH_S - INTEGER I - DO 10 I=1,2*NH - XV(3*NPX+NH+I)=SH_S(I,C)-SH_S(I-1,C) - 10 CONTINUE - RETURN - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION SH_S(I,C) -C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU -C Inputs: -C C: time constant -C I: time-step -C Outputs: -C SH_S: Values of the S curve for I -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) C - REAL(4) SH_S,FI - INTEGER I - - FI=I - IF(FI.LE.0.)THEN - SH_S=0. - RETURN - ENDIF - IF(FI.GE.C)THEN - SH_S=1. - RETURN - ENDIF - SH_S=FI**2.5/(FI**2.5+(C-FI)**2.5) - RETURN - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS1_S(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS1_S: Values of the S curve for I -C********************************************************************** - Implicit None - REAL(4) C,D,SS1_S - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS1_S=0. - RETURN - ENDIF - IF(FI.LT.C) THEN - SS1_S=(FI/C)**D - RETURN - ENDIF - SS1_S=1. - ENDFUNCTION - - -C********************************************************************** - FUNCTION SS2_S(I,C,D) -C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2 -C Inputs: -C C: time constant -C D: exponent -C I: time-step -C Outputs: -C SS2_S: Values of the S curve for I -C********************************************************************** - Implicit None - REAL(4) C,D,SS2_S - INTEGER I,FI - - FI=I - IF(FI.LE.0.) THEN - SS2_S=0. - RETURN - ENDIF - IF(FI.LE.C) THEN - SS2_S=0.5*(FI/C)**D - RETURN - ENDIF - IF(FI.LT.2.*C) THEN - SS2_S=1.-0.5*(2.-FI/C)**D - RETURN - ENDIF - SS2_S=1. - ENDFUNCTION - - - -C********************************************************************** - SUBROUTINE DEL_S(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) XV(3*NPX+5*NH) - REAL(4) C,F - INTEGER I,K - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+3*NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - SUBROUTINE DEL2_S(XV,C) -C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps -C (all ordinates are nul except 2 at max) -C Inputs: -C C: time constant -C Outputs: -C XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph -C********************************************************************** - Implicit None - INTEGER NPX,NH - PARAMETER (NPX=14,NH=20) - REAL(4) XV(3*NPX+5*NH) - REAL(4) C,F - INTEGER K,I - - IF(C.GT.FLOAT(NH)) C=FLOAT(NH) - I=INT(C) - F=C-INT(C) - DO 1 K=3*NPX+1,3*NPX+NH - XV(K)=0. - 1 CONTINUE - XV(3*NPX+I)=1.-F - XV(3*NPX+I+1)=F - ENDSUBROUTINE - - - -C********************************************************************** - FUNCTION tanHyp_S(Val) -C Computation of hyperbolic tangent -C********************************************************************** - Implicit None - REAL(4) Val,ValExp,tanHyp_S - - ValExp=EXP(Val) - tanHyp_S=(ValExp - 1./ValExp)/(ValExp + 1./ValExp) - RETURN - ENDFUNCTION - diff --git a/files_tests/example_Calibration.R b/files_tests/example_Calibration.R deleted file mode 100644 index d95410ed4e9524a28f2a70ad57a786b311134976..0000000000000000000000000000000000000000 --- a/files_tests/example_Calibration.R +++ /dev/null @@ -1,47 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## preparation of CalibOptions object -CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN) - -## calibration -OutputsCalib <- Calibration(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit, - CalibOptions=CalibOptions,FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE, - FUN_CALIB=Calibration_HBAN) - -## simulation -Param <- OutputsCalib$ParamFinalR -OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - - diff --git a/files_tests/example_Calibration_HBAN.R b/files_tests/example_Calibration_HBAN.R deleted file mode 100644 index 75b7832fd7bf115307ac7852f8eb76053185bacd..0000000000000000000000000000000000000000 --- a/files_tests/example_Calibration_HBAN.R +++ /dev/null @@ -1,46 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## preparation of CalibOptions object -CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN) - -## calibration -OutputsCalib <- Calibration_HBAN(InputsModel=InputsModel,RunOptions=RunOptions, - InputsCrit=InputsCrit,CalibOptions=CalibOptions, - FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE) - -## simulation -Param <- OutputsCalib$ParamFinalR -OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_Calibration_optim.R b/files_tests/example_Calibration_optim.R deleted file mode 100644 index f08ec410b22eeb0458226509d157e557d5b0f420..0000000000000000000000000000000000000000 --- a/files_tests/example_Calibration_optim.R +++ /dev/null @@ -1,45 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## preparation of CalibOptions object -CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_optim) - -## calibration -OutputsCalib <- Calibration_optim(InputsModel=InputsModel,RunOptions=RunOptions, - InputsCrit=InputsCrit,CalibOptions=CalibOptions, - FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE) - -## simulation -Param <- OutputsCalib$ParamFinalR -OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) diff --git a/files_tests/example_ErrorCrit.R b/files_tests/example_ErrorCrit.R deleted file mode 100644 index db241e837c4694a91344f4c2b652f84b103ea0ef..0000000000000000000000000000000000000000 --- a/files_tests/example_ErrorCrit.R +++ /dev/null @@ -1,60 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(734.568,-0.840,109.809,1.971) -OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Nash-Sutcliffe Efficiency on log-transformed flows -transfo <- "log" -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],transfo=transfo) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Nash-Sutcliffe Efficiency above a threshold (q75%) -BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); -BoolCrit[BasinObs$Qmm[Ind_Run]<quantile(BasinObs$Qmm[Ind_Run],0.75,na.rm=TRUE)] <- FALSE; -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) -cat(paste("SubCrit ",OutputsCrit$SubCritNames," ",round(OutputsCrit$SubCritValues,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency below a threshold (q10%) on log-trqansformed flows -transfo <- "log" -BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); -BoolCrit[BasinObs$Qmm[Ind_Run]>quantile(BasinObs$Qmm[Ind_Run],0.10,na.rm=TRUE)] <- FALSE; -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,RunOptions=RunOptions, - Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit,transfo=transfo) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) -cat(paste("SubCrit ",OutputsCrit$SubCritNames," ",round(OutputsCrit$SubCritValues,4),"\n",sep="")) - - - - diff --git a/files_tests/example_RunModel.R b/files_tests/example_RunModel.R deleted file mode 100644 index b240b8cf3c92053f08e856c1b317394dc3427f5a..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel.R +++ /dev/null @@ -1,29 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(734.568,-0.840,109.809,1.971) -OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param, - FUN_MOD=RunModel_GR4J) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_RunModel_CemaNeige.R b/files_tests/example_RunModel_CemaNeige.R deleted file mode 100644 index e2218fbd3e741d8c5bc85ccfdded5c87cb1b5e21..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_CemaNeige.R +++ /dev/null @@ -1,25 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeige,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,TempMean=BasinObs$T, - ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve, - NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeige,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(0.962,2.249) -OutputsModel <- RunModel_CemaNeige(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel) - diff --git a/files_tests/example_RunModel_CemaNeigeGR4J.R b/files_tests/example_RunModel_CemaNeigeGR4J.R deleted file mode 100644 index fcbc2488e1d6e3ce9afb76ce9a68d67d59f080e2..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_CemaNeigeGR4J.R +++ /dev/null @@ -1,31 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T, - ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve, - NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR4J,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(408.774,2.646,131.264,1.174,0.962,2.249) -OutputsModel <- RunModel_CemaNeigeGR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_RunModel_CemaNeigeGR5J.R b/files_tests/example_RunModel_CemaNeigeGR5J.R deleted file mode 100644 index 9e449527ae06b1830c34415491f72bd8d730eb7e..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_CemaNeigeGR5J.R +++ /dev/null @@ -1,31 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR5J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T, - ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve, - NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR5J,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(179.139,-0.100,203.815,1.174,2.478,0.977,2.774) -OutputsModel <- RunModel_CemaNeigeGR5J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_RunModel_CemaNeigeGR6J.R b/files_tests/example_RunModel_CemaNeigeGR6J.R deleted file mode 100644 index d381ff513e67feb611be24a1332745720c783943..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_CemaNeigeGR6J.R +++ /dev/null @@ -1,31 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR6J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T, - ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve, - NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR6J,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(116.482,0.500,72.733,1.224,0.278,30.333,0.977,2.776) -OutputsModel <- RunModel_CemaNeigeGR6J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_RunModel_GR4J.R b/files_tests/example_RunModel_GR4J.R deleted file mode 100644 index fe8acc496b60bc8b5f20563c23ae784cccd1b6de..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_GR4J.R +++ /dev/null @@ -1,28 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(734.568,-0.840,109.809,1.971) -OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_RunModel_GR5J.R b/files_tests/example_RunModel_GR5J.R deleted file mode 100644 index 62e535febd2177ebb885fb33c024f41b8e80628c..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_GR5J.R +++ /dev/null @@ -1,28 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR5J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR5J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(839.661,-0.100,103.153,1.939,-0.428) -OutputsModel <- RunModel_GR5J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_RunModel_GR6J.R b/files_tests/example_RunModel_GR6J.R deleted file mode 100644 index 2bdc4e0d9a84d9f06e56909dd5f0c232f0d23cbe..0000000000000000000000000000000000000000 --- a/files_tests/example_RunModel_GR6J.R +++ /dev/null @@ -1,28 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR6J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR6J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(347.000,-0.500,65.677,1.957,0.324,34.115) -OutputsModel <- RunModel_GR6J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests/example_TransfoParam.R b/files_tests/example_TransfoParam.R deleted file mode 100644 index 0c5c5037572e0154543385158f53b72625461eed..0000000000000000000000000000000000000000 --- a/files_tests/example_TransfoParam.R +++ /dev/null @@ -1,15 +0,0 @@ -require(airGR) - -## transformation Real->Transformed for the GR4J model - Xreal <- matrix( c( 221.41, -3.63, 30.00, 1.37, - 347.23, -1.03, 60.34, 1.76, - 854.06, -0.10, 148.41, 2.34), - ncol=4,byrow=TRUE) - Xtran <- TransfoParam(ParamIn=Xreal,Direction="RT",FUN_TRANSFO=TransfoParam_GR4J) - -## transformation Transformed->Real for the GR4J model - Xtran <- matrix( c( +3.60, -2.00, +3.40, -9.10, - +3.90, -0.90, +4.10, -8.70, - +4.50, -0.10, +5.00, -8.10), - ncol=4,byrow=TRUE) - Xreal <- TransfoParam(ParamIn=Xtran,Direction="TR",FUN_TRANSFO=TransfoParam_GR4J) diff --git a/files_tests/example_TransfoParam_CemaNeige.R b/files_tests/example_TransfoParam_CemaNeige.R deleted file mode 100644 index 85efecfca07064f44925666687e7a8243b255728..0000000000000000000000000000000000000000 --- a/files_tests/example_TransfoParam_CemaNeige.R +++ /dev/null @@ -1,15 +0,0 @@ -require(airGR) - -## transformation Real->Transformed for the CemaNeige module - Xreal <- matrix( c( 0.19, 1.73, - 0.39, 2.51, - 0.74, 4.06), - ncol=2,byrow=TRUE) - Xtran <- TransfoParam_CemaNeige(ParamIn=Xreal,Direction="RT") - -## transformation Transformed->Real for the CemaNeige module - Xtran <- matrix( c( -6.26, +0.55, - -2.13, +0.92, - +4.86, +1.40) - ,ncol=2,byrow=TRUE) - Xreal <- TransfoParam_CemaNeige(ParamIn=Xtran,Direction="TR") diff --git a/files_tests/example_TransfoParam_GR4J.R b/files_tests/example_TransfoParam_GR4J.R deleted file mode 100644 index 610190331c200f48ff06bbe21600ec8f78ced195..0000000000000000000000000000000000000000 --- a/files_tests/example_TransfoParam_GR4J.R +++ /dev/null @@ -1,15 +0,0 @@ -require(airGR) - -## transformation Real->Transformed for the GR4J model - Xreal <- matrix( c( 221.41, -3.63, 30.00, 1.37, - 347.23, -1.03, 60.34, 1.76, - 854.06, -0.10, 148.41, 2.34), - ncol=4,byrow=TRUE) - Xtran <- TransfoParam_GR4J(ParamIn=Xreal,Direction="RT") - -## transformation Transformed->Real for the GR4J model - Xtran <- matrix( c( +3.60, -2.00, +3.40, -9.10, - +3.90, -0.90, +4.10, -8.70, - +4.50, -0.10, +5.00, -8.10), - ncol=4,byrow=TRUE) - Xreal <- TransfoParam_GR4J(ParamIn=Xtran,Direction="TR") diff --git a/files_tests/example_TransfoParam_GR5J.R b/files_tests/example_TransfoParam_GR5J.R deleted file mode 100644 index b2361f3a94f4a59fe70984b6a1551aa65cf3f560..0000000000000000000000000000000000000000 --- a/files_tests/example_TransfoParam_GR5J.R +++ /dev/null @@ -1,15 +0,0 @@ -require(airGR) - -## transformation Real->Transformed for the GR5J model - Xreal <- matrix( c( 221.41, -2.65, 27.11, 1.37, -0.76, - 347.23, -0.64, 60.34, 1.76, 0.30, - 854.01, -0.10, 148.41, 2.34, 0.52), - ncol=5,byrow=TRUE) - Xtran <- TransfoParam_GR5J(ParamIn=Xreal,Direction="RT") - -## transformation Transformed->Real for the GR5J model - Xtran <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70, - +3.90, -0.60, +4.10, -8.70, +0.30, - +4.50, -0.10, +5.00, -8.10, +0.50), - ncol=5,byrow=TRUE) - Xreal <- TransfoParam_GR5J(ParamIn=Xtran,Direction="TR") diff --git a/files_tests/example_TransfoParam_GR6J.R b/files_tests/example_TransfoParam_GR6J.R deleted file mode 100644 index 1bd48fa469859a4ea54805735a738e2dcae14dbd..0000000000000000000000000000000000000000 --- a/files_tests/example_TransfoParam_GR6J.R +++ /dev/null @@ -1,15 +0,0 @@ -require(airGR) - -## transformation Real->Transformed for the GR6J model - Xreal <- matrix( c( 221.41, -1.18, 27.11, 1.37, -0.18, 20.09, - 347.23, -0.52, 60.34, 1.76, 0.02, 54.60, - 854.06, 0.52, 148.41, 2.34, 0.22, 148.41), - ncol=6,byrow=TRUE) - Xtran <- TransfoParam_GR6J(ParamIn=Xreal,Direction="RT") - -## transformation Transformed->Real for the GR6J model - Xtran <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, - +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, - +4.50, +0.50, +5.00, -8.10, +1.10, +5.00), - ncol=6,byrow=TRUE) - Xreal <- TransfoParam_GR6J(ParamIn=Xtran,Direction="TR") diff --git a/files_tests/example_plot_OutputsModel.R b/files_tests/example_plot_OutputsModel.R deleted file mode 100644 index f2df3057a0bb926adebcd0f866fca4248b49dfb1..0000000000000000000000000000000000000000 --- a/files_tests/example_plot_OutputsModel.R +++ /dev/null @@ -1,54 +0,0 @@ -#### example 1 without snow module - -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(734.568,-0.840,109.809,1.971) -OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param, - FUN_MOD=RunModel_GR4J) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - - -#### example 2 with snow module - -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T, - HypsoData=BasinInfo$HypsoCurve,NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR4J,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run) - -## simulation -Param <- c(408.774,2.646,131.264,1.174,0.962,2.249) -OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param, - FUN_MOD=RunModel_CemaNeigeGR4J) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - - diff --git a/files_tests_PLUS/example_Calibration_nlminb.R b/files_tests_PLUS/example_Calibration_nlminb.R deleted file mode 100644 index ab52c332ad17bf03e99d0dce57561f51b0e3984f..0000000000000000000000000000000000000000 --- a/files_tests_PLUS/example_Calibration_nlminb.R +++ /dev/null @@ -1,47 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel,IndPeriod_Run=Ind_Run) - -## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## preparation of CalibOptions object -CalibOptions <- CreateCalibOptions_PLUS(FUN_MOD=RunModel_GR4J,RunOptions=RunOptions, - FUN_CALIB=Calibration_nlminb) - -## calibration -OutputsCalib <- Calibration_nlminb(InputsModel=InputsModel,RunOptions=RunOptions, - InputsCrit=InputsCrit,CalibOptions=CalibOptions, - FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE) - -## simulation -Param <- OutputsCalib$ParamFinalR -OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests_PLUS/example_Calibration_nsga2.R b/files_tests_PLUS/example_Calibration_nsga2.R deleted file mode 100644 index dc9de21872ecaccbb3333e666f8c11038832ba0f..0000000000000000000000000000000000000000 --- a/files_tests_PLUS/example_Calibration_nsga2.R +++ /dev/null @@ -1,49 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel,IndPeriod_Run=Ind_Run) - -## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## preparation of CalibOptions object -nsga2Options <- list(PopSize=as.integer(200),NGenerations=as.integer(20), - CProb=0.7,MProb=0.2,CDist=5,MDist=10) -CalibOptions <- CreateCalibOptions_PLUS(FUN_MOD=RunModel_GR4J,RunOptions=RunOptions, - FUN_CALIB=Calibration_nsga2,nsga2Options=nsga2Options) - -## calibration -OutputsCalib <- Calibration_nsga2(InputsModel=InputsModel,RunOptions=RunOptions, - InputsCrit=InputsCrit,CalibOptions=CalibOptions, - FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorMultiCrit_KGE2) - -## simulation -iSet <- nrow(OutputsCalib$MatParamFinalR)%/%2 -Param <- OutputsCalib$MatParamFinalR[iSet,] -OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) diff --git a/files_tests_PLUS/example_Calibration_sce.R b/files_tests_PLUS/example_Calibration_sce.R deleted file mode 100644 index b4963a51523f11825b11856a15ff4b48a6426eef..0000000000000000000000000000000000000000 --- a/files_tests_PLUS/example_Calibration_sce.R +++ /dev/null @@ -1,46 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel,IndPeriod_Run=Ind_Run) - -## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## preparation of CalibOptions object -CalibOptions <- CreateCalibOptions_PLUS(FUN_MOD=RunModel_GR4J,RunOptions=RunOptions, - FUN_CALIB=Calibration_sce) - -## calibration -OutputsCalib <- Calibration_sce(InputsModel=InputsModel,RunOptions=RunOptions, - InputsCrit=InputsCrit,CalibOptions=CalibOptions, - FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE) - -## simulation -Param <- OutputsCalib$ParamFinalR -OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - -## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) diff --git a/files_tests_PLUS/example_CreateFunTransfo_PLUS.R b/files_tests_PLUS/example_CreateFunTransfo_PLUS.R deleted file mode 100644 index 16e728b16c61e00a28692e85cb49a3805b5afede..0000000000000000000000000000000000000000 --- a/files_tests_PLUS/example_CreateFunTransfo_PLUS.R +++ /dev/null @@ -1,19 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T, - HypsoData=BasinInfo$HypsoCurve,NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions_PLUS(FUN_MOD=RunModel_CemaNeigeHBANLIB_DMod,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run,IndModel=5) - -## definition of FUN_TRANSFO -FUN_TRANSFO <- CreateFunTransfo_PLUS(FUN_MOD=RunModel_CemaNeigeHBANLIB_DMod,RunOptions=RunOptions) diff --git a/files_tests_PLUS/example_RunModel_CemaNeigeHBANLIB_DMod.R b/files_tests_PLUS/example_RunModel_CemaNeigeHBANLIB_DMod.R deleted file mode 100644 index 3054c9efc274dd0a56c9edace1969b531263e420..0000000000000000000000000000000000000000 --- a/files_tests_PLUS/example_RunModel_CemaNeigeHBANLIB_DMod.R +++ /dev/null @@ -1,48 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123002) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T, - ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve, - NLayers=5) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions_PLUS(FUN_MOD=RunModel_CemaNeigeHBANLIB_DMod,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run,IndModel=5) - -## calibration criterion: preparation of the InputsCrit object -### InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - ### RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## FUN_TRANSO -### FUN_TRANSFO <- CreateFunTransfo_PLUS(FUN_MOD=RunModel_CemaNeigeHBANLIB_DMod,RunOptions=RunOptions) - -## preparation of CalibOptions object -### CalibOptions <- CreateCalibOptions_PLUS(FUN_MOD=RunModel_CemaNeigeHBANLIB_DMod,RunOptions=RunOptions, - ### FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=FUN_TRANSFO) - -## calibration -### OutputsCalib <- Calibration_HBAN(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit, - ### CalibOptions=CalibOptions,FUN_MOD=RunModel_CemaNeigeHBANLIB_DMod, - ### FUN_CRIT=ErrorCrit_KGE,FUN_TRANSFO=FUN_TRANSFO) - -## simulation -### Param <- OutputsCalib$ParamFinalR -Param <- c(35.850,139.151,23.258,0.742,2.107,7.518,1.567,0.979,1.000,0.972,2.803) -OutputsModel <- RunModel_CemaNeigeHBANLIB_DMod(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/files_tests_PLUS/example_RunModel_HBANLIB_DMod.R b/files_tests_PLUS/example_RunModel_HBANLIB_DMod.R deleted file mode 100644 index 77517abef8e80f3b8161fc1d479dff2fc2e23e82..0000000000000000000000000000000000000000 --- a/files_tests_PLUS/example_RunModel_HBANLIB_DMod.R +++ /dev/null @@ -1,46 +0,0 @@ -## load of catchment data -require(airGR) -data(L0123001) - -## preparation of the InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR, - Precip=BasinObs$P,PotEvap=BasinObs$E) - -## run period selection -Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"), - which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00")) - -## preparation of the RunOptions object -RunOptions <- CreateRunOptions_PLUS(FUN_MOD=RunModel_HBANLIB_DMod,InputsModel=InputsModel, - IndPeriod_Run=Ind_Run,IndModel=5) - -## calibration criterion: preparation of the InputsCrit object -### InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel, - ### RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) - -## FUN_TRANSO -### FUN_TRANSFO <- CreateFunTransfo_PLUS(FUN_MOD=RunModel_HBANLIB_DMod,RunOptions=RunOptions) - -## preparation of CalibOptions object -### CalibOptions <- CreateCalibOptions_PLUS(FUN_MOD=RunModel_HBANLIB_DMod,RunOptions=RunOptions, - ### FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=FUN_TRANSFO) - -## calibration -### OutputsCalib <- Calibration_HBAN(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit, - ### CalibOptions=CalibOptions,FUN_MOD=RunModel_HBANLIB_DMod, - ### FUN_CRIT=ErrorCrit_KGE,FUN_TRANSFO=FUN_TRANSFO) - -## simulation -### Param <- OutputsCalib$ParamFinalR -Param <- c(9.766,492.749,14.560,1.565,6.553,3.582,1.847,0.386,2.022) -OutputsModel <- RunModel_HBANLIB_DMod(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param) - -## results preview -plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run]) - -## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel, - RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run]) -OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel) -cat(paste(" Crit ",OutputsCrit$CritName," ",round(OutputsCrit$CritValue,4),"\n",sep="")) - diff --git a/help/AnIndex b/help/AnIndex new file mode 100644 index 0000000000000000000000000000000000000000..40110702e561029660b5461b186e76e6747d1af1 --- /dev/null +++ b/help/AnIndex @@ -0,0 +1,31 @@ +airGR airGR +BasinInfo BasinInfo +BasinObs BasinObs +Calibration Calibration +Calibration_HBAN Calibration_HBAN +Calibration_optim Calibration_optim +CreateCalibOptions CreateCalibOptions +CreateInputsCrit CreateInputsCrit +CreateInputsModel CreateInputsModel +CreateRunOptions CreateRunOptions +DataAltiExtrapolation_HBAN DataAltiExtrapolation_HBAN +ErrorCrit ErrorCrit +ErrorCrit_KGE ErrorCrit_KGE +ErrorCrit_KGE2 ErrorCrit_KGE2 +ErrorCrit_NSE ErrorCrit_NSE +ErrorCrit_RMSE ErrorCrit_RMSE +PEdaily_Oudin PEdaily_Oudin +plot_OutputsModel plot_OutputsModel +RunModel RunModel +RunModel_CemaNeige RunModel_CemaNeige +RunModel_CemaNeigeGR4J RunModel_CemaNeigeGR4J +RunModel_CemaNeigeGR5J RunModel_CemaNeigeGR5J +RunModel_CemaNeigeGR6J RunModel_CemaNeigeGR6J +RunModel_GR4J RunModel_GR4J +RunModel_GR5J RunModel_GR5J +RunModel_GR6J RunModel_GR6J +TransfoParam TransfoParam +TransfoParam_CemaNeige TransfoParam_CemaNeige +TransfoParam_GR4J TransfoParam_GR4J +TransfoParam_GR5J TransfoParam_GR5J +TransfoParam_GR6J TransfoParam_GR6J diff --git a/help/airGR.rdb b/help/airGR.rdb new file mode 100644 index 0000000000000000000000000000000000000000..c2e536114b01a2fdcea611ade64d2a97338450d8 Binary files /dev/null and b/help/airGR.rdb differ diff --git a/help/airGR.rdx b/help/airGR.rdx new file mode 100644 index 0000000000000000000000000000000000000000..faa5881e53cfa6d45fc7f6690a48a82e958bbb60 Binary files /dev/null and b/help/airGR.rdx differ diff --git a/help/aliases.rds b/help/aliases.rds new file mode 100644 index 0000000000000000000000000000000000000000..d4695054f9183d8afa18cb8149bc7fc087dd571e Binary files /dev/null and b/help/aliases.rds differ diff --git a/help/paths.rds b/help/paths.rds new file mode 100644 index 0000000000000000000000000000000000000000..ed7b113c90e5bacda0c830671b0f9252e03fe4d1 Binary files /dev/null and b/help/paths.rds differ diff --git a/html/00Index.html b/html/00Index.html new file mode 100644 index 0000000000000000000000000000000000000000..b1aa97bd97bbac9132932a80ecf3e9d6039cba3d --- /dev/null +++ b/html/00Index.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><title>R: Modelling tools used at Irstea-HBAN (France), including GR4J, +GR5J, GR6J and CemaNeige</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link rel="stylesheet" type="text/css" href="R.css"> +</head><body> +<h1> Modelling tools used at Irstea-HBAN (France), including GR4J, +GR5J, GR6J and CemaNeige +<img class="toplogo" src="../../../doc/html/logo.jpg" alt="[R logo]"> +</h1> +<hr> +<div align="center"> +<a href="../../../doc/html/packages.html"><img src="../../../doc/html/left.jpg" alt="[Up]" width="30" height="30" border="0"></a> +<a href="../../../doc/html/index.html"><img src="../../../doc/html/up.jpg" alt="[Top]" width="30" height="30" border="0"></a> +</div><h2>Documentation for package ‘airGR’ version 0.7.4</h2> + +<ul><li><a href="../DESCRIPTION">DESCRIPTION file</a>.</li> +</ul> + +<h2>Help Pages</h2> + + +<table width="100%"> +<tr><td width="25%"><a href="airGR.html">airGR</a></td> +<td>Modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige</td></tr> +<tr><td width="25%"><a href="BasinInfo.html">BasinInfo</a></td> +<td>Data sample: characteristics of a fictional catchment (L0123001, L0123002 or L0123003)</td></tr> +<tr><td width="25%"><a href="BasinObs.html">BasinObs</a></td> +<td>Data sample: time series of observations of a fictional catchment (L0123001, L0123002 or L0123003)</td></tr> +<tr><td width="25%"><a href="Calibration.html">Calibration</a></td> +<td>Calibration algorithm which minimises an error criterion on the model outputs using the provided functions</td></tr> +<tr><td width="25%"><a href="Calibration_HBAN.html">Calibration_HBAN</a></td> +<td>Calibration algorithm which minimises the error criterion using the Irstea-HBAN procedure</td></tr> +<tr><td width="25%"><a href="Calibration_optim.html">Calibration_optim</a></td> +<td>Calibration algorithm which minimises the error criterion using the stats::optim function</td></tr> +<tr><td width="25%"><a href="CreateCalibOptions.html">CreateCalibOptions</a></td> +<td>Creation of the CalibOptions object required to the Calibration functions</td></tr> +<tr><td width="25%"><a href="CreateInputsCrit.html">CreateInputsCrit</a></td> +<td>Creation of the InputsCrit object required to the ErrorCrit functions</td></tr> +<tr><td width="25%"><a href="CreateInputsModel.html">CreateInputsModel</a></td> +<td>Creation of the InputsModel object required to the RunModel functions</td></tr> +<tr><td width="25%"><a href="CreateRunOptions.html">CreateRunOptions</a></td> +<td>Creation of the RunOptions object required to the RunModel functions</td></tr> +<tr><td width="25%"><a href="DataAltiExtrapolation_HBAN.html">DataAltiExtrapolation_HBAN</a></td> +<td>Altitudinal extrapolation of precipitation and temperature series</td></tr> +<tr><td width="25%"><a href="ErrorCrit.html">ErrorCrit</a></td> +<td>Error criterion using the provided function</td></tr> +<tr><td width="25%"><a href="ErrorCrit_KGE.html">ErrorCrit_KGE</a></td> +<td>Error criterion based on the KGE formula</td></tr> +<tr><td width="25%"><a href="ErrorCrit_KGE2.html">ErrorCrit_KGE2</a></td> +<td>Error criterion based on the KGE' formula</td></tr> +<tr><td width="25%"><a href="ErrorCrit_NSE.html">ErrorCrit_NSE</a></td> +<td>Error criterion based on the NSE formula</td></tr> +<tr><td width="25%"><a href="ErrorCrit_RMSE.html">ErrorCrit_RMSE</a></td> +<td>Error criterion based on the RMSE</td></tr> +<tr><td width="25%"><a href="PEdaily_Oudin.html">PEdaily_Oudin</a></td> +<td>Computation of daily series of potential evapotranspiration with Oudin's formula</td></tr> +<tr><td width="25%"><a href="plot_OutputsModel.html">plot_OutputsModel</a></td> +<td>Default preview of model outputs</td></tr> +<tr><td width="25%"><a href="RunModel.html">RunModel</a></td> +<td>Run with the provided hydrological model function</td></tr> +<tr><td width="25%"><a href="RunModel_CemaNeige.html">RunModel_CemaNeige</a></td> +<td>Run with the CemaNeige snow module</td></tr> +<tr><td width="25%"><a href="RunModel_CemaNeigeGR4J.html">RunModel_CemaNeigeGR4J</a></td> +<td>Run with the CemaNeigeGR4J hydrological model</td></tr> +<tr><td width="25%"><a href="RunModel_CemaNeigeGR5J.html">RunModel_CemaNeigeGR5J</a></td> +<td>Run with the CemaNeigeGR5J hydrological model</td></tr> +<tr><td width="25%"><a href="RunModel_CemaNeigeGR6J.html">RunModel_CemaNeigeGR6J</a></td> +<td>Run with the CemaNeigeGR6J hydrological model</td></tr> +<tr><td width="25%"><a href="RunModel_GR4J.html">RunModel_GR4J</a></td> +<td>Run with the GR4J hydrological model</td></tr> +<tr><td width="25%"><a href="RunModel_GR5J.html">RunModel_GR5J</a></td> +<td>Run with the GR5J hydrological model</td></tr> +<tr><td width="25%"><a href="RunModel_GR6J.html">RunModel_GR6J</a></td> +<td>Run with the GR6J hydrological model</td></tr> +<tr><td width="25%"><a href="TransfoParam.html">TransfoParam</a></td> +<td>Transformation of the parameters using the provided function</td></tr> +<tr><td width="25%"><a href="TransfoParam_CemaNeige.html">TransfoParam_CemaNeige</a></td> +<td>Transformation of the parameters from the CemaNeige module</td></tr> +<tr><td width="25%"><a href="TransfoParam_GR4J.html">TransfoParam_GR4J</a></td> +<td>Transformation of the parameters from the GR4J model</td></tr> +<tr><td width="25%"><a href="TransfoParam_GR5J.html">TransfoParam_GR5J</a></td> +<td>Transformation of the parameters from the GR5J model</td></tr> +<tr><td width="25%"><a href="TransfoParam_GR6J.html">TransfoParam_GR6J</a></td> +<td>Transformation of the parameters from the GR6J model</td></tr> +</table> +</body></html> diff --git a/html/R.css b/html/R.css new file mode 100644 index 0000000000000000000000000000000000000000..6f058f3dc2e565aa48e2ad640123d3d69c9c5945 --- /dev/null +++ b/html/R.css @@ -0,0 +1,57 @@ +BODY{ background: white; + color: black } + +A:link{ background: white; + color: blue } +A:visited{ background: white; + color: rgb(50%, 0%, 50%) } + +H1{ background: white; + color: rgb(55%, 55%, 55%); + font-family: monospace; + font-size: x-large; + text-align: center } + +H2{ background: white; + color: rgb(40%, 40%, 40%); + font-family: monospace; + font-size: large; + text-align: center } + +H3{ background: white; + color: rgb(40%, 40%, 40%); + font-family: monospace; + font-size: large } + +H4{ background: white; + color: rgb(40%, 40%, 40%); + font-family: monospace; + font-style: italic; + font-size: large } + +H5{ background: white; + color: rgb(40%, 40%, 40%); + font-family: monospace } + +H6{ background: white; + color: rgb(40%, 40%, 40%); + font-family: monospace; + font-style: italic } + +IMG.toplogo{ vertical-align: middle } + +IMG.arrow{ width: 30px; + height: 30px; + border: 0 } + +span.acronym{font-size: small} +span.env{font-family: monospace} +span.file{font-family: monospace} +span.option{font-family: monospace} +span.pkg{font-weight: bold} +span.samp{font-family: monospace} + +div.vignettes a:hover { + background: rgb(85%, 85%, 85%); +} + diff --git a/libs/i386/airGR.dll b/libs/i386/airGR.dll new file mode 100644 index 0000000000000000000000000000000000000000..961f06dad7a1894bc10c11438a71ee02359a969e Binary files /dev/null and b/libs/i386/airGR.dll differ