gridmet_dwnl_only.cwl

  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