Skip to content
This repository was archived by the owner on Jul 19, 2024. It is now read-only.

Hector on IExec - Global Climate Module #32

Open
wants to merge 36 commits into
base: dapp-challenge
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3f61eaa
add iexec-oracle-contract to deps
sulliwane Oct 4, 2017
e44acc0
add gitignore
sulliwane Oct 4, 2017
104105e
use IexecOracleAPI from npm instead of local
sulliwane Oct 4, 2017
0334db3
add DAPP_PRICE
Oct 17, 2017
d80832b
Update package.json
Oct 18, 2017
bf373ca
Update truffle.js
Oct 18, 2017
7485cf8
Update truffle.js
Oct 18, 2017
a8d115e
Update truffle.js
Oct 18, 2017
be235cb
Update MyContract.sol
Oct 25, 2017
8534944
Update iexec.js
Nov 10, 2017
188f445
Update package.json
Nov 10, 2017
d0627ab
missing coma
Nov 10, 2017
b1c5568
Adding missing comma to truffle.js
Andy92Pac Nov 11, 2017
4712e23
Merge pull request #6 from Andy92Pac/patch-1
sulliwane Nov 12, 2017
5830dc2
add README
Dec 8, 2017
3c54f1d
update oracle to v1.1.1
sulliwane Dec 13, 2017
5ac2792
immprove readme
sulliwane Dec 18, 2017
0172905
remove truffle.js
sulliwane Dec 18, 2017
19b5781
add example fields
sulliwane Dec 18, 2017
bdaaf5e
improve description
sulliwane Dec 19, 2017
527791d
improve desc
sulliwane Dec 19, 2017
58c6f39
improve readme
sulliwane Dec 19, 2017
55a95af
add License
sulliwane Dec 19, 2017
63b924e
remove deps
sulliwane Dec 19, 2017
fadd08b
Improve readme
sulliwane Dec 19, 2017
4b16baa
update init dapp readme
Dec 20, 2017
2d2e861
update init dapp readme
Dec 20, 2017
11fc114
update init dapp readme
Dec 20, 2017
b4db05b
Merge pull request #15 from iExecBlockchainComputing/IEXPROD-212-init
sulliwane Dec 20, 2017
0a8fa65
remove lock
sulliwane Jan 25, 2018
41407cd
initial commit - changed README
Jan 31, 2018
1007dc3
created HECTOR contract
Jan 31, 2018
139756a
added macOS executable and input files
Jan 31, 2018
d0f7821
updated README
Jan 31, 2018
c4f726f
fixed README
Jan 31, 2018
ddbe7db
fixed README 2
Jan 31, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*

# Runtime data
pids
*.pid
*.seed

# Coverage directory used by tools like istanbul
coverage

# node-waf configuration
.lock-wscript

# Dependency directory
node_modules

# Compiled JS directory
/dist/*
!/dist/iexec.js

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License

Copyright (c) 2017 iExec Blockchain Tech, https://iex.ec

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
82 changes: 74 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,79 @@
# iexec dapps samples
# iExec dapp samples
## 1 branch = 1 dapp

This is the registry for sample iexec dapps, used by the iexec-sdk cli.
Each branch of this repo is a sample iExec dapp, and can be easily played with by using the [iexec sdk cli](https://github.com/iExecBlockchainComputing/iexec-sdk) like this:
```iexec init branchName```

Each branch name of this repo can be used as an argument to iexec init command.

ex:

```bash
iexec init
iexec init factorial
iexec init echo
iexec init # current branch containing minimum working config
iexec init factorial # download and init factorial dapp
iexec init echo # download and init echo dapp
```

Start a [Pull Request](https://github.com/iExecBlockchainComputing/iexec-dapp-samples/pulls) to add you dapp to this repo.

## [iExec Dapp Challenge](https://medium.com/iex-ec/the-iexec-%C3%B0app-challenge-150k-of-grants-to-win-abf6798b31ee)

* Go checkout the [iExec Dapp Challenge](https://medium.com/iex-ec/the-iexec-%C3%B0app-challenge-150k-of-grants-to-win-abf6798b31ee)
* Go submit a request to be listed on the [iExec dapp store](https://dapps.iex.ec/)

---
# Hector on IExec - Global Climate Module

## Description

The idea is to decentralize climate models and let everyone participate with unused computing resources to run the models.
With the recent advent of open-source climate models that are highly modular everyone can contribute to climate research with code and with the emerging blockchain technology we can help to let people contribute with their hardware as well.

HECTOR - https://github.com/JGCRI/hector

Hector, an open-source, object-oriented, reduced-form global climate carbon-cycle model, is written in C++. This model runs essentially instantaneously while still representing the most critical global-scale earth system processes. Hector has a three-part main carbon cycle: a one-pool atmosphere, land, and ocean. The model’s terrestrial carbon cycle includes primary production and respiration fluxes, accommodating arbitrary geographic divisions into, e.g., ecological biomes or political units. Hector actively solves the inorganic carbon system in the surface ocean, directly calculating air– sea fluxes of carbon and ocean pH. Hector reproduces the global historical trends of atmospheric [CO2], radiative forcing, and surface temperatures. The model simulates all four Representative Concentration Pathways (RCPs) with equivalent rates of change of key variables over time compared to current observations, MAGICC, and models from CMIP5 (Hartin et al., 2015). Hector’s flexibility, open-source nature, and modular design facilitates a broad range of research in various areas.

Introduction paper: https://www.geosci-model-dev.net/8/939/2015/gmd-8-939-2015.pdf

My personal background is software development (+20 years experience) as well as climate research (3 years) and teaching. My goal is to raise awareness for the current climate crisis and help people contribute.
My vision is that science regains trust from the public by being completely open and transparent. Currently especially in climate research this is not the case and only very few models are open-source models. The hereby presented model HECTOR is one of those new approaches.

## Components

Main components of HECTOR model
http://jgcri.github.io/gcam-doc/hector.html

Inputs:
Ini-file : a general setup file located in input directory ( links to emissions directory )
Start app with e.g. : "hector hector_rcp85.ini"

Outputs:
At every time step Hector calculates and outputs key climate variables for Atmosphere, Land and Ocean
e.g. CO2, CH4 etc…


## Open Tasks - Roadmap

- add HECTOR executable for x64 environments (MAC-OS build included) and integrate into sampled app pull request
- bundle output data files for iexec result output

-> HECTOR running on IExec (X64 environment) - timeline FEB/MARCH 2018

- advertise 1st climate model on blockchain ( similar to SETI project https://github.com/SETI one of the 1st public scientific HPC projects )
- develop a monetization model with RLC for
- a) business cases ( HPC on blockchain - similar to other IExec projects )
- b) incentivize „normal“ interested users ( public ) to spend tokens and help promote climate models and open research


## Dapp params

module.exports = {
name: 'HECTOR',
data: {
type: 'BINARY',
cpu: 'AMD64',
os: 'MACOS',
},
work: { // HERE: add input files
cmdline: '10',
}
}

## [Examples] - coming soon
7 changes: 7 additions & 0 deletions apps/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Your iExec Dapp is composed of two parts:

* under the ```apps``` directory :
Put the offchain app (any kind of legacy application). The offchain app will be executed by the iExec decentralized cloud.

* under the ```contracts``` directory :
A smart contract that interfaces with your iExec Dapp, it will serve as a gateway from Ethereum to your offchain app.
Binary file added apps/hector
Binary file not shown.
Loading