User Tools

Site Tools


metamod:faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
metamod:faq [2008-10-21 13:19:49]
egils
metamod:faq [2013-10-14 14:53:50] (current)
steingod [Operation and maintenance]
Line 1: Line 1:
 ====== Frequently Asked Questions ====== ====== Frequently Asked Questions ======
  
-===== How should metadata in the database be mapped to a DIF XML? =====+===== Features ===== 
 + 
 +==== What is the purpose of METAMOD? ==== 
 + 
 +METAMOD was initially developed to support scientific projects with data management. Development has focused on a cost effective system where several projects or operational services can share the same backend while maintaining a custom built user interface specific for each project. One METAMOD implementation may support many METAMOD instances. The first instance always own the database and some maintenance and configuration aspects are only available through this instance. 
 + 
 +==== What are the main features of METAMOD? ==== 
 + 
 +METAMOD was developed to support data management focusing on: 
 +  - Metadata handling 
 +    - Human and machine interfaces 
 +    - Import/​export using standardised interfaces 
 +  - Support for dataset uploading 
 +    - Interactive and automated 
 +      - Through web interface, FTP, scp etc 
 +    - Ad hoc and regular data streams 
 +    - Configurable conformance check of NetCDF/CF files uploaded 
 +  - Automatic extraction of metadata from datasets uploaded 
 +    - When uploaded as NetCDF/CF following the convention of METAMOD 
 +  - Connection to online datasets 
 +    - METAMOD is usually linked to a THREDDS Data Server actually serving the data sets 
 + 
 +===== Configuration ===== 
 + 
 +==== How do I change the runtime environment?​ ==== 
 + 
 +The runtime environment is generated during installation of the software (see the README file coming with the software for details). Basically the following procedure is used to set up a METAMOD instance: 
 +  - Edit ''​master_config.txt''​ under ''​app/<​appname>''​ 
 +  - Run ''​update_target.pl''​ found in source code using the user owning the web server 
 +    - This creates a runtime source code tree located as defined within ''​master_config.txt''​ 
 +  - If a first time set up, run ''​create_and_load_all.sh''​ located within the runtime source code tree directory ''​init''​ 
 +  - Run ''​prepare_runtime_env.sh''​ located within runtime source code tree root directory 
 +  - Start the system by running ''​metamodInit.sh''​ located in the runtime source code tree root directory 
 + 
 +If changes are made to ''​master_config.txt'',​ repeat steps 1, 2, 4 and 5 and remember that all scripts need to be run as the user owning the web server. In step 5 use e.g. ''​sudo -u wwwuser ./​metamodInit.sh restart''​ or the two step procedure of first stopping and then starting the server. 
 + 
 +==== How do I change the appearance of the web interface? ==== 
 + 
 +The visual appearance of METAMOD is determined by style sheets and contents of the ''​master_config.txt''​ file. Style sheets are located in the directory named ''​htdocs''​ within the runtime source code directory of METAMOD. Appearance of most of the web pages, including buttons can be changed by changing the corresponding style elements within the following style sheets: 
 +  - ''​htdocs/​style.css''​ - Main style sheet determining the appearance of main menus and containers. 
 +  - ''​htdocs/​sch/​style.css''​ - Style sheet used by the search interface. 
 +  - ''​htdocs/​upl/​style.css''​ - Style sheet used by the upload interface. 
 +  - ''​htdocs/​qst/​style.css''​ - Style sheet used by the quest interface. 
 + 
 +==== How do I change the menus of the METAMOD web interface? ==== 
 + 
 +METAMOD has two main menu containers. One top left (available within all modules) and one left (mainly in the search module and the upload). The top left menu is set up using the ''​APP_MENU''​ tag of the ''​master_config.txt''​.  
 + 
 +The search module menu is configured using the ''​SEARCH_CATEGORY_SEQUENCE''​ of the ''​master_config.txt''​. This is configured using numbers (defined within the file ''​searchdata.xml''​) where the following mapping apply by default((can be changed by changing the content of ''​searchdata.xml''​)):​ 
 +  - Activity type 
 +  - Area 
 +  - Variables (hidden) 
 +  - Topics and variables 
 +  - TBW 
 +  - TBW 
 +  - Institutions 
 +  - Datacollection period 
 +  - Map search 
 +  - Operational status 
 + 
 +In addition the keyword ''​Fulltext''​ can be used. 
 + 
 +In order to add new search categories the following sequence is required: 
 +  - Edit the file ''​searchdata.xml''​ (located within directory ''​app/<​appname>/​staticdata''​) 
 +  - Reinitialise the static part of the database by running the script ''​import_searchdata.pl''​ which is located in the runtime directory ''<​appname>/​scripts''​ with ''​searchdata.xml''​ as input 
 +If several METAMOD instances are using the same database, this has to be done in the METAMOD instance that actually own the database. If the database has been running for a while, reinitialisation may take some time during which the METAMOD instances using the database will be unavailable. 
 + 
 +==== How do I configure the conformance check for NetCDF/CF files? ==== 
 + 
 +FIXME 
 + 
 +===== Operation and maintenance ===== 
 + 
 +==== Which metadata standards are supported ==== 
 + 
 +The [[:​metamod:​xml-format|XMD-files used within METAMOD]] has a tag that identifies the metadata standard used. Currently the following standards are supported:​ 
 +  * GCMD DIF 
 +  * ISO19115 
 +  * MM2 
 +The native format of METAMOD is MM2 and this is connected to the datamodel used in the database. As of version 2.13 work is ongoing to support a new format named MMD which makes translation to DIF and ISO easier. For a new format to be supported, modifications of the software is required. 
 + 
 +==== How do I remove datasets? ==== 
 + 
 +The best solution is to use the administration interface (require login and appropriate user rights) and the "​Dataset manager"​. Within this interface datasets can be deactivated. they will still be in the database, but will be invisible. Sometimes conflicts between datasets may arise (due to naming conventions) which may require a full reinitialisation of the database. If a dataset is to be permanently removed, remove the XML and XMD files from the webrun directory and follow the steps under [[#How do I reinitialise the database?​]]. This require access to the webrun directory at the server running METAMOD. 
 + 
 +Unused or obsolete metadata files may be removed from the XML directory. Any warnings caused by this will be removed after full reinitialisation of the database. 
 + 
 +==== How do I edit metadata? ==== 
 + 
 +FIXME - A new editor has been developed, but not fully integrated yet.  
 + 
 +The preferred solution is to use the metadata editor included in the software. This is launched using the "File upload"​ menu and the option "​Dataset administration"​. Login and appropriate privileges are required. 
 + 
 +Sometimes, the solution above is insufficient. Under such conditions, direct modification of metadata and import of these from the webrun directory using ''​import_datasets''​ may be an option. This option should be used with care!  
 + 
 +==== How do I control visualisation and transformation of datasets ==== 
 + 
 +Visualisation and transformation of datasets are configured through metadata.  
 + 
 +For OGC WMS to be activated for a dataset a section similar to the one below is required. 
 + 
 +<​code>​ 
 +  <wmsInfo xmlns:​w="​http://​www.met.no/​schema/​metamod/​ncWmsSetup">​ 
 +    <​w:​ncWmsSetup url="​%THREDDS_DATAREF%"​ aggregate_url="​http://​thredds.nersc.no/​thredds/​wms/​normap/​arctic25km_seaice_aggr"​ xsi:​schemaLocation="​http://​www.met.no/​schema/​metamod/​ncWmsSetup ncWmsSetup.xsd ">​ 
 +      <​w:​displayArea crs="​EPSG:​32661"​ left="​-1000000"​ right="​5000000"​ bottom="​-1000000"​ top="​5000000"/>​ 
 +      <w:layer name="​NORSEX"​ style="​BOXFILL/​rainbow"/>​ 
 +      <w:layer name="​NASA_Team"​ style="​BOXFILL/​rainbow"/>​ 
 +      <w:layer name="​Bristol"​ style="​BOXFILL/​rainbow"/>​ 
 +      <w:layer name="​Bootstrap"​ style="​BOXFILL/​rainbow"/>​ 
 +    </​w:​ncWmsSetup>​ 
 +  </​wmsInfo>​ 
 +</​code>​  
 +   
 +This section describes the initial view to present and the layers that are available. If the number of layers should be truncated, add ''​maxlayers="​0"''​ to ''​ncWmsSetup'''​. In the displayArea field, coordinate need to be provided in the coordinates of the map projection defined (using EPSG codes). 
 + 
 +To enable transformation of a gridded dataset, add ''​dataref_OPENDAP''​ to MM2 metadata or edit e.g. dif2MM2.xslt to reflect this variable. 
 + 
 +If the dataset is not a gridded dataset, but e.g. a timeseries, addition of a MM2 field named ''​timeseries''​ will remove the transform button and add Timeseries and ASCII buttons which are used to visualise a timeseries or download it as ASCII formatted data. The format of the timeseries field is of the form 
 + 
 +<​code>​ 
 +<​metadata name="​timeseries">​time,​sea_ice_extent</​metadata>​ 
 +</​code>​ 
 + 
 +Where the first variable is used as the X axis. The others (up to two) will be plotted on the Y axis. 
 + 
 +==== How do I reinitialise the database? ==== 
 + 
 +Use the following recipe (information in <> to be substituted as appropriate):​ 
 + 
 +  - sudo /​etc/​init.d/​metamodServices-<​implementation>​ stop 
 +  - sudo /​etc/​init.d/​catalyst-<​implementation>​ stop 
 +  - sudo -u <web server owner> <​implementation directory>/​base/​init/​create_and_load_all.sh <​configuration directory>​ 
 +  - sudo /​etc/​init.d/​metamodServices-<​implementation>​ start 
 +  - sudo /​etc/​init.d/​catalyst-<​implementation>​ start 
 + 
 +==== Manual modification of metadata ==== 
 + 
 +This is possible provided the user has the correct priveliges. XML-files in the XML-directory may be edited manually and inserted in the database utilising the script ''​import_dataset.pl''​. This can also be used to include metadata harvested from an external system.  
 +===== Metadata exchange ===== 
 + 
 +==== Which metadata exchange protocols do METAMOD support? ==== 
 + 
 +[[http://​www.openarchives.org/​|Open Archive Initiative Protocol for metadata harvesting]] has been supported for a time. Support for [[http://​www.iso.org/​iso/​catalogue_detail.htm?​csnumber=27446|ISO23950]]/​Z39.50 (SRU implementation) is currently under implementation and is expected in the next release. 
 + 
 +==== Which metadata standards do METAMOD support? ==== 
 + 
 +METAMOD use an internal metadata standard that is mapped to [[http://​dublincore.org/​|Dublin Core]], [[http://​gcmd.nasa.gov/​User/​difguide/​difman.html|GCMD DIF]] and ISO19115((Not fully testetd yet)). 
 + 
 +==== What is the structure of the metamod metadata xml files? ==== 
 + 
 +Information and schemata of the metadata-files used since Metamod 2.1 can be found under [[xml-format]]. 
 + 
 +==== Where do I get the metadata as dif/​iso19115 ==== 
 + 
 +http://​your.metamod.installation/​pmh/​oai2.php?​verb=ListRecords&​metadataPrefix=iso19115 
 + 
 +==== How should metadata in the database be mapped to a DIF XML? ====
 The metadata structure is configurable,​ so this question must relate to a specific application of the database. The answer below is based on the applications implemented at met.no, which corresponds more or less to the EXAMPLE application available as part of the SVN source tree. The metadata structure is configurable,​ so this question must relate to a specific application of the database. The answer below is based on the applications implemented at met.no, which corresponds more or less to the EXAMPLE application available as part of the SVN source tree.
  
Line 74: Line 230:
   ...   ...
   <​Data_Set_Citation>​   <​Data_Set_Citation>​
 +    ...
     <​Dataset_Publisher>​METNO Norwegian Meteorological Institute</​Dataset_Publisher>​     <​Dataset_Publisher>​METNO Norwegian Meteorological Institute</​Dataset_Publisher>​
 +    ...
   </​Data_Set_Citation>​   </​Data_Set_Citation>​
   ...   ...
Line 80: Line 238:
 </​code>​ </​code>​
  
-This is the general rule, but some special rules apply:+The sequence of triples in the array define the sequence of the elements in the DIF XML. If possible, one triple will use the same higher level XML elements as the previous triple. 
 + 
 +These points constitute ​the general rule, but some special rules apply:
  
   - If an '​!'​ prepends the metadata type name, the name represents a field name in the Datasts table instead.   - If an '​!'​ prepends the metadata type name, the name represents a field name in the Datasts table instead.
Line 87: Line 247:
   - If several consecutive triples have the same metadata type name, they will appear as consecutive elements in the DIF XML. When this is the case, different conversions of the metatdata value will take place (indicated by a number as explained above).   - If several consecutive triples have the same metadata type name, they will appear as consecutive elements in the DIF XML. When this is the case, different conversions of the metatdata value will take place (indicated by a number as explained above).
   - Several metadata values for the same metadata type and dataset, produce several DIF XML elements.   - Several metadata values for the same metadata type and dataset, produce several DIF XML elements.
-  - An asterix (*) prepending an element name in the sequence of element names will force the start of a new DIF XML element at this level. Othervise, new elements will, if possible, add to an already started higher level element.+  - An asterix (*) prepending an element name in the sequence of element names will force the start of a new DIF XML element at this level. ​(Othervise, new elements will, if possible, add to an already started higher level element). 
 + 
 +===== File formats ===== 
 + 
 +==== File formats relevance for METAMOD ==== 
 + 
 +METAMOD is essentially agnostic concerning file formats. However, [[#​NetCDF/​CF|as mentioned below]], METAMOD has extended support for data uploaded as NetCDF/CF following the requirements of METAMOD. 
 + 
 +Basically METAMOD can relate to any file as long as the metadata are created manually and uploaded, but metadata can be extracted automatically from NetCDF/CF files.  
 + 
 +==== NetCDF/CF ==== 
 + 
 +METAMOD has extended support for NetCDF/CF files where conformance checks and automatic extraction of metadata are supported. Some relevant information concerning NetCDF/CF can be found here: 
 +  * [[http://​www.unidata.ucar.edu/​software/​netcdf/​|NetCDF]] 
 +  * [[http://​www.unidata.ucar.edu/​software/​netcdf/​docs/​BestPractices.html|NetCDF - best practises]] 
 +  * [[http://​www.cfconventions.org/​|CF metadata standard]] 
 +    * [[http://​cf-pcmdi.llnl.gov/​documents/​other/​cf_overview_viewgraphs.pdf|CF Overview (Talk)]] 
 +    * [[http://​cf-pcmdi.llnl.gov/​documents/​other/​cf_overview_article.pdf|CF Overview (Paper)]] 
 +  * [[http://​nco.sourceforge.net/​|NetCDF Operator]] provides useful software e.g. to concatenate files 
 + 
 +==== CDL ==== 
 + 
 +Common Data Language provides an ASCII representation of NetCDF files. METAMOD do support direct upload of CDL files and will perform the same conformance checks in CDL as on NetCDF/CF files, as well as conversion to NetCDF/​CF. 
 + 
 +==== NetCDF/CF global attributes ==== 
 + 
 +The following global attributes are required in NetCDF/CF files uploaded through METAMOD for proper stewardship. Please note that this is a minimum requirement and is subject to change (some proposed changes are indicated below). 
 + 
 +^Name^Purpose^Status^Comment^ 
 +|title|A short description of the data set|Active| | 
 +|abstract|A short summary of the data collection activity and data set. This element may alternatively be provided as the global attribute "​comment"​ in a NetCDF file.|Active| | 
 +|topiccategory|A blank separated list of topic keywords describing the dataset. <​code>​biota 
 +climatologyMeteorologyAtmosphere 
 +environment 
 +geoscientificinformation 
 +imageryBaseMapsEarthCover 
 +inlandWaters 
 +oceans 
 +society</​code>​|Active| | 
 +|keywords|A blank separated list of keywords describing the dataset. FIXME|Active,​ TBR|Controlled vocabulary| 
 +|gcmd_keywords|Newline separated list of GCMD scientific keywords describing the various variables. This will be used to categorize the datasets according to the "​Topics and variables"​ menu selection in the metadata search facility. If proper standard names have been used for the variables, data will be mapped for search under Topics and variables even without the gcmd_keywords attribute. FIXME|Active|Controlled vocabulary| 
 +|activity_type|Comma separated list of activity types. Current vocabulary includes <​code>​Moored instrument 
 +Cruise 
 +Aircraft 
 +Model run 
 +Land station 
 +Ice station 
 +Submersible 
 +Float 
 +Space borne instrument 
 +Other</​code>​|Active|Controlled vocabulary, should be harmonised with other existing vocabularies and simplified| 
 +|operational_status|Status of the dataset, being one of <​code>​Experimental 
 +Pre operational 
 +Operational 
 +Scientific</​code>​|Active|Controlled vocabulary| 
 +|Conventions|The metadata convention used, should be ''​CF-1.x''​ where x=1, 2, or 3.|Active|Controlled vocabulary| 
 +|product_name|A product name of the dataset.|Active|Controlled vocabulary| 
 +|history|Modification history of the dataset. Should be of the form: <​code>​2007-05-12 creation 
 +2007-06-10 revision</​code>​ and separated by newlines.|Active| | 
 +|area|Area name describing the geographical area being studied.If several area names are used, separate them using comma. <​code>​Arctic Ocean 
 +Barents Sea 
 +Beufort Sea 
 +Chukchi Sea 
 +Denmark Strait Sea 
 +East Siberian Sea 
 +Fram Strait 
 +Greenland Sea 
 +Iceland Sea 
 +Kara Sea 
 +Laptev Sea 
 +Nordic Seas 
 +Northern Hemisphere 
 +White Sea</​code>​|Active|Controlled vocabulary, should be harmonised with other existing vocabularies. These keywords are mapped to GCMD geographical keywords currently.| 
 +|southernmost_latitude|Elements to describe a geographicalbounding box for the data. Should be a floating point value (decimal degrees).|Active| | 
 +|northernmost_latitude|Elements to describe a geographicalbounding box for the data. Should be a floating point value (decimal degrees).|Active| | 
 +|westernmost_longitude|Elements to describe a geographicalbounding box for the data. Should be a floating point value (decimal degrees) with positive values towards the East.|Active| | 
 +|easternmost_longitude|Elements to describe a geographicalbounding box for the data. Should be a floating point value (decimal degrees) with positive values towards the East.|Active| | 
 +|start_date|Start date and time of the dataset in the form ''​2007-06-12 12:30:00 UTC''​|Active| | 
 +|stop_date|Stop date and time of the dataset in the form ''​2007-06-12 12:30:00 UTC''​|Active| | 
 +|institution|Name of the institution responsible for the dataset. FIXME|Active|Controlled vocabulary| 
 +|PI_name|Name of the person responsible for the data set.|Active| | 
 +|PI_address|Address to the person responsible for the dataset.|Proposed|FIXME| 
 +|contact|email address to responsible user support or principal investigator. If the email address of the principal investigator is used, the variable ''​PI_name''​ should be set accordingly.|Active| | 
 +|citation|Information on how to cite the information properly.|Proposed|FIXME| 
 +|distribution_statement|A distribution statement describing the conditions for distributing and access to the dataset. <​code>​Free 
 +Restricted to <​project>​ until <​YYYY-MM-DD>​ 
 +No access until <​YYYY-MM-DD></​code>​|Active|Controlled vocabulary| 
 +|use_statement|A use statement describing conditions for using the dataset.<​code>​Free 
 +Cite properly 
 +No commercial use, cite properly 
 +PIC/CC0 
 +PIC/​CCby</​code>​|Proposed|Controlled vocabulary, or link to CC license or similar. FIXME| 
 +|project_name|Name of the project within which the data were collected. Several project dependencies can be indicated using comma separated project names.|Active|Controlled vocabulary| 
 + 
 +===== Common pitfalls ===== 
 + 
 +==== Why is METAMOD not including the XML-information located in the webrun directory? ==== 
 + 
 +One possible cause can be that there is a conflict between users. Please remember that all scripts and processes has to be run under the user that owns the web server (e.g. www-user or www-data). If this is not the case, try removing the ''​webrun''​ directory and reinstall everything using ''​sudo -u <​user>​ ...''​. 
 + 
 +Another possible cause is that the XML-information is inconsistent/​incomplete. If metadata files has been added manually, check that they are consistent (e.g. using [[http://​xmlsoft.org/​xmllint.html|xmllint]] or similar tools) prior to import. Furthermore,​ in the current version each XML-file has to be accompanied by a XMD-file providing additional information on data sources and metadata organisation. If this is absent, metadata are not processed for import. Check the log in the webrun directory for details. 
 + 
 +==== Why is METAMOD not showing the data I uploaded? ==== 
 + 
 +One possible cause can be that the dataset tag is not correct. Check the contents of the ''​master_config.txt''​ and especially elements ''​DATASET_TAGS'',​ ''​UPLOAD_OWNERTAG'',​ ''​QUEST_OWNERTAG'',​ and ''​PMH_EXPORT_TAGS''​ for consistency. 
 + 
 +See [[#Why is METAMOD not including the XML-information located in the webrun directory?​]] as well.
metamod/faq.1224595189.txt.gz · Last modified: 2008-10-21 13:19:49 by egils