Software Design

The general framework of the GTN-P DMS is based on open source technologies following an object-oriented data model implemented with CakePHP and the database PostGIS, the spatial version of PostgreSQL. Below, a visualisation of the software design architecture as well as the different methods and modules is shown.

 

UML diagram:

 

Methods:

  

 

Index

The function of the index is to account, sort and search for objects of the database through chosen attributes. Further development will expose the search result into a map.

 

Object  Plugin  Parameters  Fields
Boreholes

DataTables

(Plugin for the jQuery JavaScript Library)   

- Responsiveness

- Order by Name and Data [Yes/No]

Name, Site, Country, GTN-P Code, Data [Yes/No]
Active Layer Monitoring Sites

- Responsiveness

- Order by Name and Data [Yes/No]

Name, Site, Country, CALM Code, Data [Yes/No]
Countries

- Responsiveness

- Order by Name and Data [Yes/No]

Name, Code, Permafrost, Created, Modified
Sites

- Responsiveness

- Order by Name and Data [Yes/No]

Name, Observation, Country
Contacts

- Responsiveness

- Order by Name and Data [Yes/No]

Name, Email, Organization, Country
Citations

- Responsiveness

- Order by Name and Data [Yes/No]

Title, Version, Language
Organizations

- Responsiveness

- Order by Name and Data [Yes/No]

Name, Acronym, Website
Datasets

- Responsiveness

- Order by variable, frequency and datatype

Data, Variable, Frequency, Data Type, Method, Resolution, Start, End, Policy

 

 

Mapping

This method enables the display of all the objects on a map next to the indexes. 

 

Method  Objects  Plugins  Parameters
Index Boreholes GoogleMaps API  

Geometry: points

Marker: GoogleMaps default.

Colour: red.

Zoom: 1

Active Layer Monitoring Sites Geometry: points

Marker: GoogleMaps default.

Colour: green.

Zoom: 1

Sites Geometry: polygon (BBox).

Transparency: 50%.

Stroke Width: 1 pt.

Colour: red.

Zoom: 2

Create/Edit Boreholes

Geometry: point

Marker: GoogleMaps default.

Colour: red.

Zoom: 10

Method:

- Drag the marker on the map -> retrieve longitude, latitude, and elevation.

- Enter longitude, latitude -> retrieve position of the marker on the map by pressing the button "Update coordinates"

- Overwrite elevation given by GoogleMaps.

Edit of the borehole: will not change the inserted elevation value.

Active Layer Monitoring Sites

Geometry: point

Marker: GoogleMaps default.

Colour: green.

Zoom: 10

Method:

- Drag the marker on the map -> retrieve longitude, latitude, and elevation.

- Enter longitude, latitude -> retrieve position of the marker on the map by pressing the button "Update coordinates"

- Overwrite elevation given by GoogleMaps.

Edit of the CALM site: will not change the inserted elevation value.

Sites

Not active until an object has been inserted within the site.

View Boreholes

Geometry: point

Marker: GoogleMaps default.

Colour: red.

Zoom: 10

Active Layer Monitoring Sites

Geometry: point

Marker: GoogleMaps default.

Colour: green.

Zoom: 10

Sites

Geometry:

- red polygon of the site; transparency: 50%; stroke: 1 pt.

- red points of the boreholes

- green points of the CALM sites

- yellow points of the ancillary measurements.

Marker: GoogleMaps default.

Zoom: 6

  Global Map GoogleMap Gadget  

 

 

Create

Enables the creation of new objects into the database.

 

 Template  Parameters
Borehole

- Name must be unique

- Requirement: site, citation and responsible contact must be entered before creating a borehole

Active Layer Monitoring Site

- Name must be unique

- Requirement: site, citation and responsible contact must be entered before creating an active layer monitoring site

Site

- Name must be unique

- Requirement: Country must be existing in database

- One site cannot belong to many countries

Contact  
Organization  

Citation

Requirement: contact and organization must be entered before creating a citation 

Dataset

AJAX dependent menu between the attributes variables, units, and methods

Data Collection Requirement: dataset must be created before inserting data collection(s)

 

 

Edit

Enables editing of objects in the database.

 

 Template  Parameters  Fields
Borehole    
Active Layer Monitoring Site    
Site    
Contact    
Organization    
Citation    
Dataset    
Data Collection    

 

 

Delete

Enables deleting objects in the database.

 

 Template  Parameters  Fields
Borehole Prevention of deleting borehole if it contains dataset  
Active Layer Monitoring Site Prevention of deleting active layer monitoring site if it contains dataset  
Site Prevention of deleting site if it contains borehole, active layer monitoring site or ancillary measurement  
Contact    
Organization    
Citation    
Dataset    
Data Collection    

 

 

Data Visualisation

On-the-fly creation of charts to visualize datasets.

 

 Template Variable Frequency  Plugins  Parameters
Boreholes Annual Data Soil Temperature Annual

 jqPlot

(jQuery JavaScript Library)

Legend: One colour by year;

X axis=temperature;

Y axis=depth.

Depth values are multiplied by -1 to reverse the graph.

Boreholes Different from Annual Air Temperature Other than annual  jqPlot (jQuery JavaScript Library)

Legend: One colour by depth.

X axis=time;

Y axis=temperature.

Surface Temperature
Soil Temperature
Snow Depth
Snow Density
Soil Moisture
Surface Soil Moisture (satellite)
Surface Temperature
Surface Temperature (Satellite)
Active Layer Grids Thawing Depth over a Grid Irrevelant

 CanvasXpress

type: Scatter 3D (HTML 5 JavaScript Graphing Library)

Legend: Colour range according to active layer thawing depth [cm]. X=offset(x) from referential point. Y=offset(y) from referential point. Z=active layer thawing[cm].
Soil Moisture over a Grid

 

 

 

CSV reader

The CSV reader parses the CSV file input by the user in order to retrieve its structure and its content. 

 

 Template  Parameters
Active Layer Thickness

- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values

- Input those values into the database

Active Layer Soil Moisture

- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values

- Input those values into the database

Boreholes Soil Temperature

- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values

- Input those values into the database

Surface Soil Moisture (Satellite)

- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values

- Input those values into the database

Surface Temperature (Satellite)

- Retrieve min./max./average values, date of first/last measurement, data count, null value count, percentage of null values

- Input those values into the database

 

 

 

CSV uploader

The CSV uploader input the values from the uploaded CSV file into the database as a data collection.

 

 Template  Parameters
Active Layer Thickness   
Active Layer Soil Moisture  
Boreholes Soil Temperature  
Surface Soil Moisture (Satellite)  
Surface Temperature (Satellite)  

 

 

 

CSV downloader

The CSV downloader processes all the data collections from a dataset into one downloadable CSV file.

 

 Template Information compilation Parameters Algorithm
Active Layer Thickness

Compiles attributes related to the object and input them as comment lines (##) into the header of the CSV file.

Attributes:

##Name

##Publication date

##

##Variable Name

##Unit

##Datatype

##Frequency

##Method

##Medium

##Resolution

##Policy

##Quality Check

##

##Longitude

##Latitude

##Start Date

##End Date

##

##Data count

##Null values

##Minimum value

##Maximum value

##Average value

##Warning

##

##Responsible person

##Name

##Address

##Mail

##Telephone

##Fax

##Organization

   
Active Layer Soil Moisture    
Boreholes Soil Temperature   gathering all depths that exist over all collections and puts them into a single array and fills the gaps with null values (-999)
Surface Soil Moisture (Satellite) Information on responsible person are systematically obtained from DUE Permafrost Citation  
Surface Temperature (Satellite)  

 

 

 

System Privileges

 

 Template  Plugins  Parameters  Fields
       

 

 

 

 

ISSN 2410-2385
Key title: GTN-P database

Strategy and Implementation Plan