M3_f.f90

00001 !!$****************************************************************************
00002 !!$  M3:  M3_f.f90                                           *
00003 !!$                                                                           *
00004 !!$  Version 1.0 September 2004                                               *
00005 !!$                                                                           *
00006 !!$  Copyright (C) 2004  C.M. Cantalupo & G. de Gasperis                      *
00007 !!$                                                                           *
00008 !!$  This program is free software; you can redistribute it and/or modify     *
00009 !!$  it under the terms of the GNU General Public License as published by     *
00010 !!$  the Free Software Foundation; either version 2 of the License, or        *
00011 !!$  (at your option) any later version.                                      *
00012 !!$                                                                           *
00013 !!$  This program is distributed in the hope that it will be useful,          *
00014 !!$  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
00015 !!$  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            *
00016 !!$  GNU General Public License for more details.                             *
00017 !!$                                                                           *
00018 !!$  You should have received a copy of the GNU General Public License        *
00019 !!$  along with this program; if not, write to the Free Software              *
00020 !!$  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA *
00021 !!$                                                                           *
00022 !!$****************************************************************************
00023 
00024 MODULE M3_f
00025 
00026   INTERFACE
00027      FUNCTION m3_f90_runconfig_read( runconfig, runconfigfilename, runtype )
00028        USE M3_typesf
00029        IMPLICIT NONE
00030        INTEGER(KIND=int4)::m3_f90_runconfig_read
00031        TYPE(m3_f90_runconfig), INTENT(OUT)::runConfig
00032        CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
00033        INTEGER(KIND=int4), INTENT(IN)::runtype
00034      END FUNCTION m3_f90_runconfig_read
00035   END INTERFACE
00036 
00037   INTERFACE
00038      FUNCTION m3_f90_runconfig_readbin( runconfig, runconfigfilename, runtype )
00039        USE M3_typesf
00040        IMPLICIT NONE
00041        INTEGER(KIND=int4)::m3_f90_runconfig_readbin
00042        TYPE(m3_f90_runconfig), INTENT(OUT)::runConfig
00043        CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
00044        INTEGER(KIND=int4), INTENT(IN)::runtype
00045      END FUNCTION m3_f90_runconfig_readbin
00046   END INTERFACE
00047 
00048   INTERFACE
00049      FUNCTION m3_f90_runconfig_write( runconfig, runconfigfilename )
00050        USE M3_typesf
00051        IMPLICIT NONE
00052        INTEGER(KIND=int4)::m3_f90_runconfig_write
00053        TYPE(m3_f90_runconfig), INTENT(IN)::runConfig
00054        CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
00055      END FUNCTION m3_f90_runconfig_write
00056   END INTERFACE
00057 
00058   INTERFACE 
00059      FUNCTION m3_f90_runconfig_destroy( runconfig )
00060        USE M3_typesf
00061        IMPLICIT NONE
00062        INTEGER(KIND=int4)::m3_f90_runconfig_destroy
00063        TYPE(m3_f90_runconfig), INTENT(INOUT)::runconfig
00064      END FUNCTION m3_f90_runconfig_destroy
00065   END INTERFACE
00066 
00067   INTERFACE
00068      FUNCTION m3_f90_runconfig_duplicate( inrunconfig, outrunconfig )
00069        USE M3_typesf
00070        IMPLICIT NONE
00071        INTEGER(KIND=int4)::m3_f90_runconfig_duplicate
00072        TYPE(m3_f90_runconfig), INTENT(IN)::inrunconfig
00073        TYPE(m3_f90_runconfig), INTENT(OUT)::outrunconfig
00074      END FUNCTION m3_f90_runconfig_duplicate
00075   END INTERFACE
00076 
00077   INTERFACE 
00078      FUNCTION m3_f90_runconfig_getdatasetroot( runconfig, datasetroot )
00079        USE M3_typesf
00080        IMPLICIT NONE
00081        INTEGER(KIND=int4)::m3_f90_runconfig_getdatasetroot
00082        TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
00083        TYPE(m3_f90_dataset),INTENT(OUT)::datasetroot
00084      END FUNCTION m3_f90_runconfig_getdatasetroot
00085   END INTERFACE
00086 
00087   INTERFACE
00088      FUNCTION m3_f90_runconfig_getpixelclassroot( runconfig, pixelclassroot )
00089        USE M3_typesf
00090        IMPLICIT NONE
00091        INTEGER(KIND=int4)::m3_f90_runconfig_getpixelclassroot
00092        TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
00093        TYPE(m3_f90_pixelclass), INTENT(OUT)::pixelclassroot
00094      END FUNCTION m3_f90_runconfig_getpixelclassroot
00095   END INTERFACE
00096 
00097   INTERFACE 
00098      FUNCTION m3_f90_runconfig_getpowerspectrum( runconfig, powerspectrum )
00099        USE M3_typesf
00100        IMPLICIT NONE
00101        INTEGER(KIND=int4)::m3_f90_runconfig_getpowerspectrum
00102        TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
00103        TYPE(m3_f90_powerspectrum),INTENT(OUT)::powerspectrum
00104      END FUNCTION m3_f90_runconfig_getpowerspectrum
00105   END INTERFACE
00106 
00107   INTERFACE
00108     FUNCTION m3_f90_runconfig_gettodcache( runconfig, todcache )
00109       USE M3_typesf
00110       IMPLICIT NONE
00111       INTEGER(KIND=int4)::m3_f90_runconfig_gettodcache
00112       TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
00113       TYPE(m3_f90_todcache), INTENT(OUT)::todcache
00114     END FUNCTION m3_f90_runconfig_gettodcache
00115   END INTERFACE
00116 
00117   INTERFACE
00118      FUNCTION m3_f90_dataset_getnextnodeinlist( datasetnode )
00119        USE M3_typesf
00120        IMPLICIT NONE
00121        INTEGER(KIND=int4)::m3_f90_dataset_getnextnodeinlist
00122        TYPE(m3_f90_dataset),INTENT(INOUT)::datasetnode
00123      END FUNCTION m3_f90_dataset_getnextnodeinlist
00124   END INTERFACE
00125 
00126   INTERFACE
00127      FUNCTION m3_f90_dataset_getcoveredintervalroot( datasetnode, intervalroot )
00128        USE M3_typesf
00129        IMPLICIT NONE
00130        INTEGER(KIND=int4)::m3_f90_dataset_getcoveredintervalroot
00131        TYPE(m3_f90_dataset), INTENT(IN)::datasetnode
00132        TYPE(m3_f90_interval), INTENT(OUT)::intervalroot
00133      END FUNCTION m3_f90_dataset_getcoveredintervalroot
00134   END INTERFACE
00135 
00136   INTERFACE
00137      FUNCTION m3_f90_dataset_getnumnz( datasetnode, numnz )
00138        USE M3_typesf
00139        IMPLICIT NONE
00140        INTEGER(KIND=int4)::m3_f90_dataset_getnumnz
00141        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00142        INTEGER(KIND=int4),INTENT(OUT)::numnz
00143      END FUNCTION m3_f90_dataset_getnumnz
00144   END INTERFACE
00145 
00146   INTERFACE
00147      FUNCTION m3_f90_dataset_getpointingclassroot( datasetnode, pointingclassroot ) 
00148        USE M3_typesf
00149        IMPLICIT NONE
00150        INTEGER(KIND=int4)::m3_f90_dataset_getpointingclassroot
00151        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00152        TYPE(m3_f90_pointingclass),INTENT(OUT)::pointingclassroot
00153      END FUNCTION m3_f90_dataset_getpointingclassroot
00154   END INTERFACE
00155 
00156   INTERFACE
00157      FUNCTION m3_f90_dataset_gettod( datasetnode, firstsample, lastsample, tod )
00158        USE M3_typesf
00159        IMPLICIT NONE
00160        INTEGER(KIND=int4)::m3_f90_dataset_gettod
00161        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00162        INTEGER(KIND=int8),INTENT(IN)::firstsample
00163        INTEGER(KIND=int8),INTENT(IN)::lastsample
00164        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::tod
00165      END FUNCTION m3_f90_dataset_gettod
00166   END INTERFACE
00167 
00168   INTERFACE
00169      FUNCTION m3_f90_dataset_getpointing( datasetnode, firstsample, lastsample, pointing_pixel, pointing_weight )
00170        USE M3_typesf
00171        IMPLICIT NONE
00172        INTEGER(KIND=int4)::m3_f90_dataset_getpointing
00173        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00174        INTEGER(KIND=int8),INTENT(IN)::firstsample
00175        INTEGER(KIND=int8),INTENT(IN)::lastsample
00176        INTEGER(KIND=int4),DIMENSION(:,:),INTENT(OUT)::pointing_pixel
00177        REAL(KIND=float),DIMENSION(:,:),INTENT(OUT)::pointing_weight
00178      END FUNCTION m3_f90_dataset_getpointing
00179   END INTERFACE
00180 
00181   INTERFACE
00182     SUBROUTINE m3_f90_dataset_geteuler( datasetnode, firstsample, lastSample, eulerangles )
00183       USE M3_typesf
00184       IMPLICIT NONE
00185       TYPE(m3_f90_dataset), INTENT(IN)::datasetnode
00186       INTEGER(KIND=int8), INTENT(IN)::firstsample
00187       INTEGER(KIND=int8), INTENT(IN)::lastsample
00188       REAL(KIND=DOUBLE), DIMENSION(:), INTENT(OUT)::eulerangles
00189     END SUBROUTINE m3_f90_dataset_geteuler
00190  END INTERFACE
00191 
00192   INTERFACE
00193      FUNCTION m3_f90_dataset_GetNoiseFileRoot( datasetnode, noiseFileRoot )
00194        USE M3_typesf
00195        INTEGER(KIND=int4)::m3_f90_dataset_GetNoiseFileRoot
00196        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00197        TYPE(m3_f90_file),INTENT(OUT):: noisefileroot
00198      END FUNCTION m3_f90_dataset_GetNoiseFileRoot
00199   END INTERFACE
00200 
00201   INTERFACE
00202      FUNCTION m3_f90_dataset_getnoisecorlength( datasetnode, sample, corlength )
00203        USE M3_typesf
00204        IMPLICIT NONE
00205        INTEGER(KIND=int4)::m3_f90_dataset_getnoisecorlength
00206        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00207        INTEGER(KIND=int8),INTENT(IN)::sample
00208        INTEGER(KIND=int8),INTENT(OUT)::corlength
00209      END FUNCTION m3_f90_dataset_getnoisecorlength
00210   END INTERFACE
00211 
00212   INTERFACE
00213      FUNCTION m3_f90_dataset_getnoise( datasetnode, sample, noise )
00214        USE M3_typesf
00215        IMPLICIT NONE
00216        INTEGER(KIND=int4)::m3_f90_dataset_getnoise
00217        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00218        INTEGER(KIND=int8),INTENT(IN)::sample
00219        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::noise
00220      END FUNCTION m3_f90_dataset_getnoise
00221   END INTERFACE
00222 
00223   INTERFACE
00224      FUNCTION m3_f90_dataset_getfilterlength( datasetnode, sample, filtertype, filterlength )
00225        USE M3_typesf
00226        IMPLICIT NONE
00227        INTEGER(KIND=int4)::m3_f90_dataset_getfilterlength
00228        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00229        INTEGER(KIND=int8),INTENT(IN)::sample
00230        INTEGER(KIND=int4),INTENT(IN)::filtertype
00231        INTEGER(KIND=int8),INTENT(OUT)::filterlength
00232      END FUNCTION m3_f90_dataset_getfilterlength
00233   END INTERFACE
00234 
00235   INTERFACE
00236      FUNCTION m3_f90_dataset_getfilter( datasetnode, sample, filtertype, filter )
00237        USE M3_typesf
00238        IMPLICIT NONE
00239        INTEGER(KIND=int4)::m3_f90_dataset_getfilter
00240        TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
00241        INTEGER(KIND=int8),INTENT(IN)::sample
00242        INTEGER(KIND=int4),INTENT(IN)::filtertype
00243        REAL(KIND=DOUBLE),DIMENSION(:,:),INTENT(OUT)::filter
00244      END FUNCTION m3_f90_dataset_getfilter
00245   END INTERFACE
00246 
00247   INTERFACE
00248      FUNCTION m3_f90_pixelclass_getnextnodeinlist( pixelclassnode )
00249        USE M3_typesf
00250        IMPLICIT NONE
00251        INTEGER(KIND=int4)::m3_f90_pixelclass_getnextnodeinlist
00252        TYPE(m3_f90_pixelclass),INTENT(INOUT)::pixelclassnode 
00253      END FUNCTION m3_f90_pixelclass_getnextnodeinlist
00254   END INTERFACE
00255 
00256   INTERFACE
00257      FUNCTION m3_f90_pixelclass_getclassname( pixelclassnode, classname )
00258        USE M3_typesf
00259        IMPLICIT NONE
00260        INTEGER(KIND=int4)::m3_f90_pixelclass_getclassname
00261        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode 
00262        CHARACTER(LEN=*),INTENT(OUT)::classname
00263      END FUNCTION m3_f90_pixelclass_getclassname
00264   END INTERFACE
00265 
00266   INTERFACE
00267      FUNCTION m3_f90_pixelclass_getpixeltype( pixelclassnode, pixeltype )
00268        USE M3_typesf
00269        IMPLICIT NONE
00270        INTEGER(KIND=int4)::m3_f90_pixelclass_getpixeltype
00271        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00272        INTEGER(KIND=int4),INTENT(OUT)::pixeltype
00273      END FUNCTION m3_f90_pixelclass_getpixeltype
00274   END INTERFACE
00275 
00276   INTERFACE
00277      FUNCTION m3_f90_pixelclass_getnumpixelinclass( pixelclassnode, numpixelinclass )
00278        USE M3_typesf
00279        IMPLICIT NONE
00280        INTEGER(KIND=int4)::m3_f90_pixelclass_getnumpixelinclass
00281        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00282        INTEGER(KIND=int4),INTENT(OUT)::numpixelinclass
00283      END FUNCTION m3_f90_pixelclass_getnumpixelinclass
00284   END INTERFACE
00285 
00286   INTERFACE
00287      FUNCTION m3_f90_pixelclass_getnumpixelinmap( pixelclassnode, numpixelinmap )
00288        USE M3_typesf
00289        IMPLICIT NONE
00290        INTEGER(KIND=int4)::m3_f90_pixelclass_getnumpixelinmap
00291        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00292        INTEGER(KIND=int4),INTENT(OUT)::numpixelinmap
00293      END FUNCTION m3_f90_pixelclass_getnumpixelinmap
00294   END INTERFACE
00295 
00296   INTERFACE
00297     FUNCTION m3_f90_pixelclass_getmapname( pixelclassnode, mapname )
00298       USE M3_typesf
00299       IMPLICIT NONE
00300       INTEGER(KIND=int4)::m3_f90_pixelclass_getmapname
00301       TYPE(m3_f90_pixelclass), INTENT(IN)::pixelclassnode
00302       CHARACTER(LEN=*),INTENT(OUT)::mapname
00303     END FUNCTION m3_f90_pixelclass_getmapname
00304   END INTERFACE
00305 
00306   INTERFACE
00307      FUNCTION m3_f90_pixelclass_getindexedmap( pixelclassnode, index, map )
00308        USE M3_typesf
00309        IMPLICIT NONE
00310        INTEGER(KIND=int4)::m3_f90_pixelclass_getindexedmap
00311        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00312        INTEGER(KIND=int4),DIMENSION(:),INTENT(IN)::index
00313        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::map
00314      END FUNCTION m3_f90_pixelclass_getindexedmap
00315   END INTERFACE
00316 
00317   INTERFACE
00318      FUNCTION m3_f90_pixelclass_getindexedcoord( pixelclassnode, numpixel, index, coord )
00319        USE M3_typesf
00320        IMPLICIT NONE
00321        INTEGER(KIND=int4)::m3_f90_pixelclass_getindexedcoord
00322        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00323        INTEGER(KIND=int4),INTENT(IN)::numpixel
00324        INTEGER(KIND=int4),DIMENSION(:),INTENT(IN)::index
00325        REAL(KIND=DOUBLE),DIMENSION(:,:),INTENT(OUT)::coord
00326      END FUNCTION m3_f90_pixelclass_getindexedcoord
00327   END INTERFACE
00328 
00329   INTERFACE
00330      FUNCTION m3_f90_pixelclass_getwindow( pixelclassnode, lmax, window )
00331        USE M3_typesf
00332        IMPLICIT NONE
00333        INTEGER(KIND=int4)::m3_f90_pixelclass_getwindow
00334        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00335        INTEGER(KIND=int4),INTENT(IN)::lmax
00336        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::window
00337      END FUNCTION m3_f90_pixelclass_getwindow
00338   END INTERFACE
00339 
00340   INTERFACE
00341      FUNCTION m3_f90_pixelclass_getindexedmask( pixelclassnode, numpixel, index, mask )
00342        USE M3_typesf
00343        IMPLICIT NONE
00344        INTEGER(KIND=int4)::m3_f90_pixelclass_getindexedmask
00345        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00346        INTEGER(KIND=int4),INTENT(IN)::numpixel
00347        INTEGER(KIND=int4),DIMENSION(:),INTENT(IN)::index
00348        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::mask
00349      END FUNCTION m3_f90_pixelclass_getindexedmask
00350   END INTERFACE
00351 
00352   INTERFACE
00353      FUNCTION m3_f90_pixelclass_gettemplatefileroot( pixelclassnode, templatefileroot )
00354        USE M3_typesf
00355        IMPLICIT NONE
00356        INTEGER(KIND=int4)::m3_f90_pixelclass_gettemplatefileroot
00357        TYPE(m3_f90_pixelclass),INTENT(IN)::pixelclassnode
00358        TYPE(m3_f90_file),INTENT(OUT)::templatefileroot
00359      END FUNCTION m3_f90_pixelclass_gettemplatefileroot
00360   END INTERFACE
00361 
00362   INTERFACE
00363      FUNCTION m3_f90_powerspectrum_getnumbin( powerspectrum, numbin )
00364        USE M3_typesf
00365        IMPLICIT NONE
00366        INTEGER(KIND=int4)::m3_f90_powerspectrum_getnumbin
00367        TYPE(m3_f90_powerspectrum),INTENT(IN)::powerspectrum
00368        INTEGER(KIND=int4),INTENT(OUT)::numbin
00369      END FUNCTION m3_f90_powerspectrum_getnumbin
00370   END INTERFACE
00371 
00372   INTERFACE
00373      FUNCTION m3_f90_powerspectrum_getspectrumclassroot( powerspectrum, spectrumclassroot )
00374        USE M3_typesf
00375        IMPLICIT NONE
00376        INTEGER(KIND=int4)::m3_f90_powerspectrum_getspectrumclassroot
00377        TYPE(m3_f90_powerspectrum),INTENT(IN)::powerspectrum
00378        TYPE(m3_f90_spectrumclass),INTENT(OUT)::spectrumclassroot
00379      END FUNCTION m3_f90_powerspectrum_getspectrumclassroot
00380   END INTERFACE
00381 
00382   INTERFACE
00383      FUNCTION m3_f90_powerspectrum_getfishermatrix( powerspectrum, fishermatrix )
00384        USE M3_typesf
00385        IMPLICIT NONE
00386        INTEGER(KIND=int4)::m3_f90_powerspectrum_getfishermatrix
00387        TYPE(m3_f90_powerspectrum),INTENT(IN)::powerspectrum
00388        REAL(KIND=DOUBLE),DIMENSION(:,:),INTENT(OUT)::fishermatrix
00389      END FUNCTION m3_f90_powerspectrum_getfishermatrix
00390   END INTERFACE
00391 
00392   INTERFACE
00393      FUNCTION m3_f90_spectrumclass_getspectrumtype( spectrumclassnode, spectrumtype )
00394        USE M3_typesf
00395        IMPLICIT NONE
00396        INTEGER(KIND=int4)::m3_f90_spectrumclass_getspectrumtype
00397        TYPE(m3_f90_spectrumclass),INTENT(IN)::spectrumclassnode
00398        INTEGER(KIND=int4)::spectrumtype
00399      END FUNCTION m3_f90_spectrumclass_getspectrumtype
00400   END INTERFACE
00401 
00402   INTERFACE
00403      FUNCTION m3_f90_spectrumclass_getmultipolemax( spectrumclassnode, lmax )
00404        USE M3_typesf
00405        IMPLICIT NONE
00406        INTEGER(KIND=int4)::m3_f90_spectrumclass_getmultipolemax
00407        TYPE(m3_f90_spectrumclass),INTENT(IN)::spectrumclassnode
00408        INTEGER(KIND=int4),INTENT(OUT)::lmax
00409      END FUNCTION m3_f90_spectrumclass_getmultipolemax
00410   END INTERFACE
00411 
00412   INTERFACE 
00413      FUNCTION m3_f90_spectrumclass_getnumbin( spectrumclassnode, numbin )
00414        USE M3_typesf
00415        IMPLICIT NONE
00416        INTEGER(KIND=int4)::m3_f90_spectrumclass_getnumbin
00417        TYPE(m3_f90_spectrumclass),INTENT(IN)::spectrumclassnode
00418        INTEGER(KIND=int4),INTENT(OUT)::numbin
00419      END FUNCTION m3_f90_spectrumclass_getnumbin
00420   END INTERFACE
00421 
00422   INTERFACE
00423      FUNCTION m3_f90_spectrumclass_getshape( spectrumclassnode, shape )
00424        USE M3_typesf
00425        IMPLICIT NONE
00426        INTEGER(KIND=int4)::m3_f90_spectrumclass_getshape
00427        TYPE(m3_f90_spectrumclass),INTENT(IN)::spectrumclassnode
00428        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::shape
00429      END FUNCTION m3_f90_spectrumclass_getshape
00430   END INTERFACE
00431 
00432   INTERFACE
00433      FUNCTION  m3_f90_spectrumclass_getbin( spectrumclassnode, bin )
00434        USE M3_typesf
00435        IMPLICIT NONE
00436        INTEGER(KIND=int4)::m3_f90_spectrumclass_getbin
00437        TYPE(m3_f90_spectrumclass),INTENT(IN)::spectrumclassnode
00438        INTEGER(KIND=int4),DIMENSION(:,:),INTENT(OUT)::bin
00439      END FUNCTION m3_f90_spectrumclass_getbin
00440   END INTERFACE
00441 
00442   INTERFACE
00443      FUNCTION m3_f90_spectrumclass_getbps( spectrumclassnode, bps )
00444        USE M3_typesf
00445        IMPLICIT NONE
00446        INTEGER(KIND=int4)::m3_f90_spectrumclass_getbps
00447        TYPE(m3_f90_spectrumclass),INTENT(IN)::spectrumclassnode
00448        REAL(KIND=DOUBLE),DIMENSION(:,:),INTENT(OUT)::bps
00449      END FUNCTION m3_f90_spectrumclass_getbps
00450   END INTERFACE
00451 
00452   INTERFACE
00453      FUNCTION m3_f90_interval_getnextnodeinlist( intervalnode )
00454        USE M3_typesf
00455        IMPLICIT NONE
00456        INTEGER(KIND=int4)::m3_f90_interval_getnextnodeinlist
00457        TYPE(m3_f90_interval),INTENT(INOUT)::intervalnode 
00458      END FUNCTION m3_f90_interval_getnextnodeinlist
00459   END INTERFACE
00460 
00461   INTERFACE
00462      FUNCTION m3_f90_interval_getinterval( intervalnode, firstsample, lastsample )
00463        USE M3_typesf
00464        IMPLICIT NONE
00465        INTEGER(KIND=int4)::m3_f90_interval_getinterval
00466        TYPE(m3_f90_interval),INTENT(IN)::intervalnode 
00467        INTEGER(KIND=int8),INTENT(OUT)::firstsample
00468        INTEGER(KIND=int8),INTENT(OUT)::lastsample
00469      END FUNCTION m3_f90_interval_getinterval
00470   END INTERFACE
00471 
00472   INTERFACE
00473      FUNCTION m3_f90_file_getnextnodeinlist( filenode )
00474        USE M3_typesf
00475        IMPLICIT NONE
00476        INTEGER(KIND=int4)::m3_f90_file_getnextnodeinlist
00477        TYPE(m3_f90_file),INTENT(INOUT)::filenode
00478      END FUNCTION m3_f90_file_getnextnodeinlist
00479   END INTERFACE
00480 
00481   INTERFACE
00482      FUNCTION m3_f90_File_GetIndexedTemplate( templatefilenode, numpixel, index, TEMPLATE)
00483 
00484        USE M3_typesf
00485        IMPLICIT NONE
00486        INTEGER(KIND=int4)::m3_f90_File_GetIndexedTemplate
00487        TYPE(m3_f90_file),INTENT(IN)::templatefilenode
00488        INTEGER(KIND=int4),INTENT(IN)::numpixel
00489        INTEGER(KIND=int4),DIMENSION(:),INTENT(IN)::index
00490        REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::TEMPLATE
00491      END FUNCTION m3_f90_File_GetIndexedTemplate
00492   END INTERFACE
00493 
00494   INTERFACE
00495      FUNCTION m3_f90_File_GetNoiseInterval( noiseFileNode, firstsample, lastsample)
00496        USE M3_typesf
00497        IMPLICIT NONE
00498        INTEGER(KIND=int4):: m3_f90_File_GetNoiseInterval
00499        TYPE(m3_f90_file),INTENT(IN):: noiseFileNode
00500        INTEGER(KIND=int8),INTENT(OUT):: firstsample
00501        INTEGER(KIND=int8),INTENT(OUT):: lastsample
00502        END FUNCTION m3_f90_File_GetNoiseInterval
00503   END INTERFACE
00504 
00505   INTERFACE
00506      FUNCTION m3_f90_File_GetNoiseCorLength( noiseFileNode, corLength)
00507        USE M3_typesf
00508        IMPLICIT NONE
00509        INTEGER(KIND=int4)::m3_f90_File_GetNoiseCorLength
00510        TYPE(m3_f90_file),INTENT(IN):: noiseFileNode
00511        INTEGER(KIND=int8),INTENT(OUT)::corLength
00512      END FUNCTION m3_f90_File_GetNoiseCorLength
00513   END INTERFACE
00514 
00515   INTERFACE
00516      FUNCTION m3_f90_File_GetNoise( noiseFileNode, noise)
00517        USE M3_typesf
00518        IMPLICIT NONE
00519        INTEGER(KIND=int4)::m3_f90_File_GetNoise
00520        TYPE(m3_f90_file),INTENT(IN):: noiseFileNode
00521        REAL(KIND=DOUBLE),INTENT(OUT)::noise
00522      END FUNCTION m3_f90_File_GetNoise
00523   END INTERFACE
00524 
00525   INTERFACE
00526      FUNCTION m3_f90_PointingClass_GetNextNodeInList( pointingClassNode )
00527        USE M3_typesf
00528        IMPLICIT NONE
00529        INTEGER(KIND=int4):: m3_f90_PointingClass_GetNextNodeInList
00530        TYPE(m3_f90_pointingclass),INTENT(inout)::pointingClassNode 
00531      END FUNCTION m3_f90_PointingClass_GetNextNodeInList
00532   END INTERFACE
00533 
00534   INTERFACE
00535      FUNCTION M3_f90_PointingClass_GetNumNZ( pointingClassNode,numNZ )
00536        USE M3_typesf
00537        IMPLICIT NONE
00538        INTEGER(KIND=int4):: M3_f90_PointingClass_GetNumNZ
00539        TYPE(m3_f90_pointingclass),INTENT(IN):: pointingClassNode
00540        INTEGER(KIND=int4),INTENT(OUT)::numNZ
00541      END FUNCTION M3_f90_PointingClass_GetNumNZ
00542   END INTERFACE
00543 
00544   INTERFACE
00545      FUNCTION  M3_f90_PointingClass_GetPixelClassNode( pointingClassNode,pixelClassNode )
00546        USE M3_typesf
00547        IMPLICIT NONE
00548        INTEGER(KIND=int4):: M3_f90_PointingClass_GetPixelClassNode
00549        TYPE(m3_f90_pointingclass),INTENT(IN):: pointingClassNode
00550        TYPE(m3_f90_pixelclass),INTENT(OUT):: pixelClassNode
00551      END FUNCTION M3_f90_PointingClass_GetPixelClassNode
00552   END INTERFACE
00553 
00554 INTERFACE
00555   SUBROUTINE M3_f90_DataSet_SampleIntervalToTimeInterval( dataSetNode, firstSample, lastSample, timeInterval)
00556     USE M3_typesf
00557     IMPLICIT NONE
00558     TYPE (M3_f90_DataSet), INTENT(IN)::dataSetNode
00559     INTEGER (KIND=int8),INTENT(IN)::firstSample
00560     INTEGER (KIND=int8),INTENT(IN)::lastSample
00561     REAL(KIND=DOUBLE),DIMENSION(4), INTENT(OUT)::timeInterval
00562   END SUBROUTINE M3_f90_DataSet_SampleIntervalToTimeInterval
00563 END INTERFACE
00564 
00565 INTERFACE
00566   SUBROUTINE M3_f90_TimeInterval_InsertInterval( timeIntervalList, timeInterval )
00567     USE M3_typesf
00568     IMPLICIT NONE
00569     TYPE (M3_f90_TimeInterval), INTENT(OUT)::timeIntervalList
00570     REAL(KIND=DOUBLE),DIMENSION(4),INTENT(IN)::timeInterval
00571   END SUBROUTINE M3_f90_TimeInterval_InsertInterval
00572 END INTERFACE
00573 
00574 INTERFACE
00575   SUBROUTINE M3_f90_TimeInterval_DestroyList( timeIntervalList )
00576     USE M3_typesf
00577     IMPLICIT NONE
00578     TYPE (M3_f90_TimeInterval), INTENT(INOUT)::timeIntervalList
00579   END SUBROUTINE M3_f90_TimeInterval_DestroyList
00580 END INTERFACE
00581 
00582 INTERFACE
00583   FUNCTION M3_f90_DataSet_GetGCPointingGroupNode(dataSetNode, GCPointingGroupNode )
00584     USE M3_typesf
00585     IMPLICIT NONE
00586     INTEGER(KIND=int4)::M3_f90_DataSet_GetGCPointingGroupNode
00587     TYPE (M3_f90_DataSet), INTENT(IN)::dataSetNode
00588     TYPE (M3_f90_GCPointingGroup), INTENT(OUT)::GCPointingGroupNode
00589   END FUNCTION M3_f90_DataSet_GetGCPointingGroupNode
00590 END INTERFACE
00591 
00592 INTERFACE
00593   SUBROUTINE M3_f90_GCPointingGroup_GetStoreSize( GCPointingGroupNode, timeIntervalList, storeLength )
00594     USE M3_typesf
00595     IMPLICIT NONE
00596     TYPE (M3_f90_GCPointingGroup), INTENT(IN)::GCPointingGroupNode
00597     TYPE (M3_f90_TimeInterval), INTENT(IN)::timeIntervalList
00598     INTEGER (KIND=int8),INTENT(OUT)::storeLength
00599   END SUBROUTINE M3_f90_GCPointingGroup_GetStoreSize
00600 END INTERFACE
00601 
00602 INTERFACE
00603   SUBROUTINE M3_f90_GCPointingGroup_InitializeStore( GCPointingGroupNode, timeIntervalList, workSpace )
00604     USE M3_typesf
00605     IMPLICIT NONE
00606     TYPE(M3_f90_GCPointingGroup), INTENT(IN)::GCPointingGroupNode
00607     TYPE(M3_f90_TimeInterval), INTENT(IN)::timeIntervalList
00608     INTEGER (KIND=int4),DIMENSION(:), INTENT(IN)::workspace
00609   END SUBROUTINE M3_f90_GCPointingGroup_InitializeStore
00610 END INTERFACE
00611 
00612 INTERFACE
00613   SUBROUTINE M3_f90_GCPointingGroup_DestroyStore( GCPointingGroupNode, destroyAuxStore )
00614     USE M3_typesf
00615     IMPLICIT NONE
00616     TYPE (M3_f90_GCPointingGroup), INTENT(IN)::GCPointingGroupNode
00617     INTEGER (KIND=int4)::destroyAuxStore
00618   END SUBROUTINE M3_f90_GCPointingGroup_DestroyStore
00619 END INTERFACE
00620 
00621 INTERFACE
00622   FUNCTION  M3_f90_TODcache_AppendRequest( todcache, dataset, requestfirstsample, requestlastsample )
00623     USE M3_typesf
00624     IMPLICIT NONE
00625     INTEGER(KIND=int4)::m3_f90_todcache_appendrequest
00626     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00627     TYPE (m3_f90_dataset), INTENT(IN)::dataset 
00628     INTEGER(KIND=int8), INTENT(IN)::requestfirstsample
00629     INTEGER(KIND=int8), INTENT(IN)::requestlastsample
00630   END FUNCTION M3_f90_TODcache_AppendRequest
00631 END INTERFACE
00632 
00633 INTERFACE
00634   FUNCTION  M3_f90_TODcache_AppendRequestList( todcache, dataset, requestintervallist )
00635     USE M3_typesf
00636     IMPLICIT NONE
00637     INTEGER(KIND=int4)::m3_f90_todcache_appendrequestlist
00638     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00639     TYPE (m3_f90_dataset), INTENT(IN)::dataset
00640     TYPE (m3_f90_interval), INTENT(IN)::requestintervallist
00641   END FUNCTION M3_f90_TODcache_AppendRequestList
00642 END INTERFACE
00643 
00644 INTERFACE
00645   FUNCTION  M3_f90_TODcache_Initialize( todcache, runconfig, storesize )
00646     USE M3_typesf
00647     IMPLICIT NONE
00648     INTEGER(KIND=int4)::m3_f90_todcache_initialize
00649     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00650     TYPE (m3_f90_runconfig), INTENT(IN)::runconfig
00651     INTEGER(KIND=int8), INTENT(OUT)::storesize
00652   END FUNCTION M3_f90_TODcache_Initialize
00653 END INTERFACE
00654 
00655 INTERFACE
00656   FUNCTION  M3_f90_TODcache_Destroy( todcache )
00657     USE M3_typesf
00658     IMPLICIT NONE
00659     INTEGER(KIND=int4)::m3_f90_todcache_destroy
00660     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00661   END FUNCTION M3_f90_TODcache_Destroy
00662 END INTERFACE
00663 
00664 INTERFACE
00665   FUNCTION  M3_f90_TODcache_SetCacheAll( todcache )
00666     USE M3_typesf
00667     IMPLICIT NONE
00668     INTEGER(KIND=int4)::m3_f90_todcache_setcacheall
00669     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00670   END FUNCTION M3_f90_TODcache_SetCacheAll
00671 END INTERFACE
00672 
00673 INTERFACE
00674   FUNCTION  M3_f90_TODcache_SetCacheNone( todcache )
00675     USE M3_typesf
00676     IMPLICIT NONE
00677     INTEGER(KIND=int4)::m3_f90_todcache_setcachenone
00678     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00679   END FUNCTION M3_f90_TODcache_SetCacheNone
00680 END INTERFACE
00681 
00682 INTERFACE
00683   FUNCTION  M3_f90_TODcache_SetCacheGCPdata( todcache, usegcpcache )
00684     USE M3_typesf
00685     IMPLICIT NONE
00686     INTEGER(KIND=int4)::m3_f90_todcache_setcachegcpdata
00687     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00688     INTEGER(KIND=int4), INTENT(IN)::usegcpcache
00689   END FUNCTION M3_f90_TODcache_SetCacheGCPdata
00690 END INTERFACE
00691 
00692 INTERFACE
00693   FUNCTION  M3_f90_TODcache_SetCacheScanMapData( todcache, usescanmapcache) 
00694     USE M3_typesf
00695     IMPLICIT NONE
00696     INTEGER(KIND=int4)::m3_f90_todcache_setcachescanmapdata
00697     TYPE (m3_f90_todcache), INTENT(INOUT)::todcache
00698     INTEGER(KIND=int4)::usescanmapcache
00699   END FUNCTION M3_f90_TODcache_SetCacheScanMapData
00700 END INTERFACE
00701 
00702 INTERFACE
00703   FUNCTION  M3_f90_TODcache_GetStoreSizeAllUB( todcache, upperbound )
00704     USE M3_typesf
00705     IMPLICIT NONE
00706     INTEGER(KIND=int4)::m3_f90_todcache_getstoresizeallub
00707     TYPE (m3_f90_todcache), INTENT(IN)::todcache
00708     INTEGER(KIND=int8)::upperbound
00709   END FUNCTION M3_f90_TODcache_GetStoreSizeAllUB
00710 END INTERFACE
00711 
00712 INTERFACE
00713   FUNCTION  M3_f90_TODcache_GetStoreSizeGCP( todcache, gcpstoresize )
00714     USE M3_typesf
00715     IMPLICIT NONE
00716     INTEGER(KIND=int4)::m3_f90_todcache_getstoresizegcp
00717     TYPE (m3_f90_todcache), INTENT(IN)::todcache
00718     INTEGER(KIND=int8)::gcpstoresize
00719   END FUNCTION M3_f90_TODcache_GetStoreSizeGCP
00720 END INTERFACE
00721 
00722 INTERFACE
00723   FUNCTION  M3_f90_TODcache_GetStoreSizeScanMapUB( todcache, upperbound )
00724     USE M3_typesf
00725     IMPLICIT NONE
00726     INTEGER(KIND=int4)::m3_f90_todcache_getstoresizescanmapub
00727     TYPE (m3_f90_todcache), INTENT(IN)::todcache
00728     INTEGER(KIND=int8)::upperbound
00729   END FUNCTION M3_f90_TODcache_GetStoreSizeScanMapUB
00730 END INTERFACE
00731 
00732 END MODULE M3_f

Generated on Mon Nov 24 10:05:11 2008 for M3 by  doxygen 1.5.3-20071008