1#!/usr/bin/env cwl-runner
2### gridMET Pipeline
3# Copyright (c) 2021. Harvard University
4#
5# Developed by Research Software Engineering,
6# Faculty of Arts and Sciences, Research Computing (FAS RC)
7# Author: Michael A Bouzinier
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13# http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21
22cwlVersion: v1.2
23class: Workflow
24
25requirements:
26 SubworkflowFeatureRequirement: {}
27 StepInputExpressionRequirement: {}
28 InlineJavascriptRequirement: {}
29 ScatterFeatureRequirement: {}
30 MultipleInputFeatureRequirement: {}
31
32doc: |
33 Downloads and processes gridMET data (no database ingestion)
34
35inputs:
36 proxy:
37 type: string?
38 default: ""
39 doc: HTTP/HTTPS Proxy if required
40 shapes:
41 type: Directory
42 geography:
43 type: string
44 doc: |
45 Type of geography: zip codes or counties
46 years:
47 type: string[]
48 default: ['1999:2008', '2011:2021']
49 bands:
50 type: string[]
51 default: ['rmax', 'rmin', 'sph', 'srad', 'th', 'tmmn', 'tmmx']
52
53
54steps:
55 process:
56 scatter: band
57 in:
58 proxy: proxy
59 shapes: shapes
60 geography: geography
61 years: years
62 band: bands
63
64 run:
65 class: Workflow
66 inputs:
67 proxy:
68 type: string?
69 shapes:
70 type: Directory
71 geography:
72 type: string
73 years:
74 type: string[]
75 band:
76 type: string
77 steps:
78 download:
79 run: download.cwl
80 doc: Downloads and processes data
81 scatter: year
82 scatterMethod: nested_crossproduct
83 in:
84 proxy: proxy
85 shapes: shapes
86 geography: geography
87 year: years
88 band: band
89 out:
90 - data
91 - log
92 - errors
93 outputs:
94 data:
95 type: File[]
96 outputSource: download/data
97 download_log:
98 type: File[]
99 outputSource: download/log
100 download_err:
101 type: File[]
102 outputSource: download/errors
103
104 out:
105 - data
106 - download_log
107 - download_err
108
109outputs:
110 data:
111 type:
112 type: array
113 items:
114 type: array
115 items: [File]
116 outputSource: process/data
117 download_log:
118 type:
119 type: array
120 items:
121 type: array
122 items: [File]
123 outputSource: process/download_log
124 download_err:
125 type:
126 type: array
127 items:
128 type: array
129 items: [File]
130 outputSource: process/download_err