diff --git a/IFTPipeline.jl/src/preprocess.jl b/IFTPipeline.jl/src/preprocess.jl index 4d2b8155..56f3ed75 100644 --- a/IFTPipeline.jl/src/preprocess.jl +++ b/IFTPipeline.jl/src/preprocess.jl @@ -322,7 +322,7 @@ Preprocess and segment floes in a single view. Save the segmented floes to `segm - `tile_cblocks::Int=8` - `adapthisteq_white_threshold::Float64=25.5` - `adapthisteq_entropy_threshold::Float64=4` - - `adapthisteq_white_fraction_threshold::Float64=0.4````` + - `adapthisteq_white_fraction_threshold::Float64=0.4` - Unsharp mask for step 5 of IceFloeTracker.preprocess_tiling - `unsharp_mask_radius::Int=10` - `unsharp_mask_amount::Float64=2.0` diff --git a/workflow/README.md b/workflow/README.md index 44ea486e..ff6f2c34 100644 --- a/workflow/README.md +++ b/workflow/README.md @@ -8,17 +8,15 @@ This directory includes tools to run the ice floe tracker analysis on a batch of You will need the following installed on your computer: - [`pipx`](https://pipx.pypa.io/stable/) -- [`cylc`](https://cylc.github.io/) +- [`cylc ≥ 8.4.0`](https://cylc.github.io/) [(installation instructions)](https://cylc.github.io/cylc-doc/latest/html/installation.html) - the `cylc-rose` plugin - - [`global.cylc`](https://cylc.github.io/cylc-doc/stable/html/reference/config/global.html#global.cylc) file, making any modifications you might want. + - a [`global.cylc`](https://cylc.github.io/cylc-doc/stable/html/reference/config/global.html#global.cylc) file, making any modifications you might want. An [example file for Oscar](./oscar.global.cylc) with SLURM support is included in this directory. - [`docker`](https://docs.docker.com/) You will also need a username and account on [space-track.org](https://space-track.org) ### Running the pipeline -Make a new configuration file with the region and time period you want to analyse. All the possible parameters are listed in [rose-suite.conf](./rose-suite.conf). You can see examples in [example](./example/). - Add the following lines to the rose-suite.conf file with your space-track.org username and password: ``` SPACEUSER="your_email_address@example.com" @@ -28,19 +26,74 @@ SPACEPSWD="yourpassword" Don't commit these changes to the repo. +#### Simple case: single target + +Make a new configuration file with the region and time period you want to analyse. +All the possible parameters are listed in [rose-suite.conf](./rose-suite.conf) +and described in [meta/rose-meta.conf](meta/rose-meta.conf). +You can see examples in [example](./example/). +Command line usage examples are shown in [example-cylc-calls.sh](./example-cylc-calls.sh). -Run the pipeline by calling: +Run the pipeline by calling `cylc vip`, like this: ```bash -cylc vip . --set-file /path/to/your/configuration/file.conf -n your-analysis-run-name +cylc vip . --set-file /path/to/your/configuration/file.conf --set PARAM="value" -n your-analysis-run-name ``` -Command line usage examples are shown in [example-cylc-calls.sh](./example-cylc-calls.sh). +View progress of the pipeline by calling: +```bash +cylc tui +``` +In the TUI you can view logs, and "trigger" (i.e., rerun) failed tasks. + +Note that any parameters not specified in `/path/to/your/configuration/file.conf` +nor specified using a `--set PARAM="value` argument +will default to the values in `rose-suite.conf`. + + +#### Advanced case: non-contiguous dates, multiple locations + +The simplest way to generate runs of non-contiguous dates is to call `cylc vip` several times, e.g.: +```bash +cylc vip . --set-file example/hudson-bay.conf -n hudson-bay --run-name=may-2006 --set 'START="2006-05-04"' --set 'END="2006-05-06"' +cylc vip . --set-file example/hudson-bay.conf -n hudson-bay --run-name=july-2008 --set 'START="2008-07-13"' --set 'END="2008-07-15"' +``` + +The simplest way to process many different locations would be to make a location configuration file for each target location, and then to run a series of `cylc vip` commands as above. + +You can also use this kind of approach to run the pipeline with different sets of parameters, e.g.: +```bash +for nclusters in 3 5 7; do + cylc vip . --set-file example/beaufort-sea-buckley-paper.conf -n beaufort-sea-cluster-test --run-name="${nclusters}-clusters" -s "ICEMASK_N_CLUSTERS=${nclusters}" +done +``` View the running commands by calling `cylc tui`. +#### Advanced use: case list + +To loop through a list of cases, you might use a script like this: + +```bash +name=sampled-examples + +cylc stop ${name}/*; +cylc clean ${name} -y + +datafile="example/all-cases.csv" +column="fullname" +for row_name in $(pipx run example/util/get_values.py "${datafile}" "${column}" --start 1 --stop 10); +do + cylc vip . -n ${name} --run-name=${row_name} $(pipx run example/util/template.py ${datafile} ${column} ${row_name}); +done + +cylc tui +``` + +The [`template.py`](./example/util/template.py) script provided doesn't currently have support for setting any other parameters, but could be extended if needed. + ## Oscar -Contact the Wilhelmus Lab members for access to the pipeline environment on Oscar, Brown University's High Performance Computing cluster. +Contact the Wilhelmus Lab members for access to the pipeline environment on Brown University's High Performance Computing cluster "Oscar". ## Prerequisites diff --git a/workflow/example-cylc-calls.sh b/workflow/example-cylc-calls.sh index 19e9290f..46b25f53 100755 --- a/workflow/example-cylc-calls.sh +++ b/workflow/example-cylc-calls.sh @@ -8,6 +8,10 @@ cylc vip . --set-file example/iftpipeline-test-case.conf -n iftpipeline-test-cas cylc vip . --set-file example/beaufort-sea-july.conf -n beaufort-sea-july-lopez -s 'PREPROCESSING="Lopez"' cylc vip . --set-file example/beaufort-sea-july.conf -n beaufort-sea-july-buckley -s 'PREPROCESSING="Buckley"' +cylc vip . --set-file example/beaufort-sea-buckley-paper.conf -n beaufort-sea-buckley-paper-lopez -s 'PREPROCESSING="Lopez"' +cylc vip . --set-file example/beaufort-sea-buckley-paper.conf -n beaufort-sea-buckley-paper-lopez-tiling -s 'PREPROCESSING="LopezTiling"' +cylc vip . --set-file example/beaufort-sea-buckley-paper.conf -n beaufort-sea-buckley-paper-buckley -s 'PREPROCESSING="Buckley"' + cylc vip . --set-file example/beaufort-sea-march.conf -n beaufort-sea-march-lopez -s 'PREPROCESSING="Lopez"' cylc vip . --set-file example/beaufort-sea-march.conf -n beaufort-sea-march-buckley -s 'PREPROCESSING="Buckley"' @@ -18,4 +22,8 @@ cylc vip . --set-file example/fram-strait-april-may-2020.conf -n fram-strait-apr cylc vip . --set-file example/fram-strait-april-may-2020.conf -n fram-strait-april-may-2020-buckley -s 'PREPROCESSING="Buckley"' cylc vip . --set-file example/ne-greenland.conf -n ne-greenland-lopez -s 'PREPROCESSING="Lopez"' -cylc vip . --set-file example/ne-greenland.conf -n ne-greenland-buckley -s 'PREPROCESSING="Buckley"' \ No newline at end of file +cylc vip . --set-file example/ne-greenland.conf -n ne-greenland-buckley -s 'PREPROCESSING="Buckley"' + +# Non-contiguous dates: +cylc vip . --set-file example/hudson-bay.conf -n hudson-bay --run-name=may-2006 --initial-cycle-point=2006-05-04 --final-cycle-point=2006-05-06 +cylc vip . --set-file example/hudson-bay.conf -n hudson-bay --run-name=july-2008 --initial-cycle-point=2008-07-13 --final-cycle-point=2008-07-15 \ No newline at end of file diff --git a/workflow/example/beaufort-sea-buckley-paper.conf b/workflow/example/beaufort-sea-buckley-paper.conf new file mode 100644 index 00000000..e7bc63c3 --- /dev/null +++ b/workflow/example/beaufort-sea-buckley-paper.conf @@ -0,0 +1,9 @@ +START="2006-05-04" +END="2006-05-06" +SATELLITES="aqua", "terra" +LOCATION="beaufort-sea" +CRS="EPSG:3413" +BBOX="-2334051,-414418,-1127689,757892" +SCALE=250 +CENTROID_LAT=76.31228950602991 +CENTROID_LON=-139.00136296848805 \ No newline at end of file diff --git a/workflow/example/case-list.csv b/workflow/example/case-list.csv new file mode 100644 index 00000000..c948d588 --- /dev/null +++ b/workflow/example/case-list.csv @@ -0,0 +1,190 @@ +fullname,id,location,size,center_lat,center_lon,top_left_lat,top_left_lon,lower_right_lat,lower_right_lon,left_x,right_x,lower_y,top_y,startdate,enddate +000-baffin_bay-100km-20040725-20040726,000,baffin_bay,100km,69.90135405651581,-65.28920053776979,70.15782,-66.98525,69.62829,-63.63812,-812500.0,-712500.0,-2112500.0,-2012500.0,2004-07-25,2004-07-26 +002-baffin_bay-100km-20040921-20040922,002,baffin_bay,100km,68.11094966783841,-73.30075576600639,68.28347,-74.93151,67.9215,-71.69737,-1187500.0,-1087500.0,-2162500.0,-2062500.0,2004-09-21,2004-09-22 +004-baffin_bay-100km-20050819-20050820,004,baffin_bay,100km,75.68820789467534,-86.74805439963612,75.71011,-89.34894,75.63724,-84.16051,-1087500.0,-987500.0,-1212500.0,-1112500.0,2005-08-19,2005-08-20 +005-baffin_bay-100km-20050827-20050828,005,baffin_bay,100km,76.9736565092582,-93.57633437499736,76.91748,-96.41879,76.99781,-90.71616,-1112500.0,-1012500.0,-987500.0,-887500.0,2005-08-27,2005-08-28 +007-baffin_bay-100km-20070605-20070606,007,baffin_bay,100km,74.7568366127483,-64.79887635452492,75.01877,-67.04591,74.4727,-62.63179,-612500.0,-512500.0,-1612500.0,-1512500.0,2007-06-05,2007-06-06 +008-baffin_bay-100km-20080704-20080705,008,baffin_bay,100km,70.33687935349806,-63.64559412207739,70.61014,-65.35834,70.0471,-61.98211,-737500.0,-637500.0,-2087500.0,-1987500.0,2008-07-04,2008-07-05 +016-baffin_bay-100km-20090426-20090427,016,baffin_bay,100km,79.75068045859918,-69.55045238920742,79.95857,-73.03385,79.50676,-66.21797,-512500.0,-412500.0,-1062500.0,-962500.0,2009-04-26,2009-04-27 +019-baffin_bay-100km-20110506-20110507,019,baffin_bay,100km,77.71099327658386,-72.28420729362306,77.89172,-75.21727,77.49934,-69.44395,-662500.0,-562500.0,-1237500.0,-1137500.0,2011-05-06,2011-05-07 +020-baffin_bay-100km-20120419-20120420,020,baffin_bay,100km,75.63723535800011,-79.5792876032055,75.73937,-82.14669,75.50702,-77.05349,-937500.0,-837500.0,-1337500.0,-1237500.0,2012-04-19,2012-04-20 +021-baffin_bay-100km-20120422-20120423,021,baffin_bay,100km,77.20090337870023,-72.25532837494306,77.38242,-75.06858,76.98975,-69.52772,-687500.0,-587500.0,-1287500.0,-1187500.0,2012-04-22,2012-04-23 +022-baffin_bay-100km-20130308-20130309,022,baffin_bay,100km,78.20371977365892,-74.81416273779868,78.35617,-77.90524,78.01815,-71.81095,-687500.0,-587500.0,-1162500.0,-1062500.0,2013-03-08,2013-03-09 +023-baffin_bay-100km-20140329-20140330,023,baffin_bay,100km,70.09851433514446,-55.92280471986926,70.44674,-57.49248,69.73653,-54.40922,-462500.0,-362500.0,-2187500.0,-2087500.0,2014-03-29,2014-03-30 +024-baffin_bay-100km-20150312-20150313,024,baffin_bay,100km,76.05793463023313,-81.96428928946521,76.13311,-84.62329,75.95339,-79.33965,-962500.0,-862500.0,-1262500.0,-1162500.0,2015-03-12,2015-03-13 +032-baffin_bay-100km-20190523-20190524,032,baffin_bay,100km,73.86538924964248,-84.23211110208587,73.91696,-86.53177,73.78835,-81.95094,-1162500.0,-1062500.0,-1412500.0,-1312500.0,2019-05-23,2019-05-24 +033-baffin_bay-100km-20190925-20190926,033,baffin_bay,100km,79.30290332206089,-76.80938928779315,79.43171,-80.24758,79.13682,-73.46516,-662500.0,-562500.0,-1037500.0,-937500.0,2019-09-25,2019-09-26 +441-baffin_bay-100km-20200726-20200727,441,baffin_bay,100km,76.66772154668719,-92.09525256462383,76.62852,-94.87927,76.67558,-89.30131,-1112500.0,-1012500.0,-1037500.0,-937500.0,2020-07-26,2020-07-27 +036-baffin_bay-100km-20210602-20210603,036,baffin_bay,100km,75.6736250602886,-72.18111108547723,75.85703,-74.68718,75.46388,-69.74354,-762500.0,-662500.0,-1437500.0,-1337500.0,2021-06-02,2021-06-03 +037-baffin_bay-100km-20210804-20210805,037,baffin_bay,100km,80.3552085203289,-68.19859051364818,80.57669,-71.87814,80.09608,-64.69862,-462500.0,-362500.0,-1012500.0,-912500.0,2021-08-04,2021-08-05 +045-baffin_bay-100km-20220530-20220531,045,baffin_bay,100km,75.26078556750505,-73.3611943295737,75.43162,-75.8089,75.06405,-70.97439,-812500.0,-712500.0,-1462500.0,-1362500.0,2022-05-30,2022-05-31 +046-baffin_bay-100km-20220617-20220618,046,baffin_bay,100km,74.18734019461445,-79.9579763644705,74.28627,-82.28811,74.06296,-77.66091,-1037500.0,-937500.0,-1462500.0,-1362500.0,2022-06-17,2022-06-18 +048-baffin_bay-100km-20220911-20220912,048,baffin_bay,100km,77.8010134696761,-91.52752544221292,77.76664,-94.57392,77.80101,-88.47247,-1012500.0,-912500.0,-962500.0,-862500.0,2022-09-11,2022-09-12 +049-barents_kara_seas-100km-20030902-20030903,049,barents_kara_seas,100km,77.38241922904824,75.06858282186246,77.53296,77.95742,77.2009,72.25533,1137500.0,1237500.0,637500.0,737500.0,2003-09-02,2003-09-03 +050-barents_kara_seas-100km-20040519-20040520,050,barents_kara_seas,100km,76.59724556696548,59.39359296849051,76.91348,61.84381,76.25808,57.06131,1362500.0,1462500.0,312500.0,412500.0,2004-05-19,2004-05-20 +052-barents_kara_seas-100km-20040916-20040917,052,barents_kara_seas,100km,80.01651358186676,65.94265054998827,80.26263,69.44395,79.73526,62.6223,962500.0,1062500.0,337500.0,437500.0,2004-09-16,2004-09-17 +061-barents_kara_seas-100km-20050718-20050719,061,barents_kara_seas,100km,79.65342561129911,70.70995378081126,79.84889,74.18081,79.42175,67.38014,962500.0,1062500.0,437500.0,537500.0,2005-07-18,2005-07-19 +070-barents_kara_seas-100km-20090302-20090303,070,barents_kara_seas,100km,76.7504339106868,33.49518467374119,77.28308,35.11201,76.20871,32.00538,1362500.0,1462500.0,-337500.0,-237500.0,2009-03-02,2009-03-03 +071-barents_kara_seas-100km-20100311-20100312,071,barents_kara_seas,100km,77.592012065461,68.47739989209293,77.81393,71.3233,77.34093,65.73871,1187500.0,1287500.0,487500.0,587500.0,2010-03-11,2010-03-12 +072-barents_kara_seas-100km-20110510-20110511,072,barents_kara_seas,100km,77.32023765750544,53.86462338841079,77.68966,56.30993,76.9295,51.5627,1312500.0,1412500.0,162500.0,262500.0,2011-05-10,2011-05-11 +073-barents_kara_seas-100km-20110601-20110602,073,barents_kara_seas,100km,72.61040758093598,62.24145939893998,72.89838,64.16325,72.30404,60.38519,1762500.0,1862500.0,512500.0,612500.0,2011-06-01,2011-06-02 +074-barents_kara_seas-100km-20110805-20110806,074,barents_kara_seas,100km,79.95331911853829,63.019769281777144,80.23017,66.42529,79.64324,59.80838,987500.0,1087500.0,287500.0,387500.0,2011-08-05,2011-08-06 +076-barents_kara_seas-100km-20130422-20130423,076,barents_kara_seas,100km,76.53492076460785,41.57612875506932,77.0099,43.47923,76.04669,39.80557,1412500.0,1512500.0,-137500.0,-37500.0,2013-04-22,2013-04-23 +077-barents_kara_seas-100km-20130924-20130925,077,barents_kara_seas,100km,69.1597208486606,67.20940915821498,69.39628,68.86576,68.9067,65.59233,2062500.0,2162500.0,812500.0,912500.0,2013-09-24,2013-09-25 +079-barents_kara_seas-100km-20140501-20140502,079,barents_kara_seas,100km,76.97767857802384,60.87594650522258,77.27896,63.43495,76.65203,58.43819,1312500.0,1412500.0,337500.0,437500.0,2014-05-01,2014-05-02 +080-barents_kara_seas-100km-20140621-20140622,080,barents_kara_seas,100km,78.28866110333007,37.665621198583295,78.79342,39.69907,77.77093,35.80334,1212500.0,1312500.0,-212500.0,-112500.0,2014-06-21,2014-06-22 +081-barents_kara_seas-100km-20140708-20140709,081,barents_kara_seas,100km,80.18168529276582,49.707852244372226,80.5879,52.7336,79.75068,46.93059,1012500.0,1112500.0,37500.0,137500.0,2014-07-08,2014-07-09 +082-barents_kara_seas-100km-20150303-20150304,082,barents_kara_seas,100km,70.31863356852487,56.04890567165475,70.66582,57.63906,69.95747,54.51602,2062500.0,2162500.0,362500.0,462500.0,2015-03-03,2015-03-04 +083-barents_kara_seas-100km-20150426-20150427,083,barents_kara_seas,100km,79.92187339683146,31.12247019679199,80.47083,33.147,79.36215,29.31001,1012500.0,1112500.0,-312500.0,-212500.0,2015-04-26,2015-04-27 +084-barents_kara_seas-100km-20150428-20150429,084,barents_kara_seas,100km,69.73653112317245,54.40922140811018,70.09851,55.9228,69.3616,52.95077,2137500.0,2237500.0,312500.0,412500.0,2015-04-28,2015-04-29 +086-barents_kara_seas-100km-20160829-20160830,086,barents_kara_seas,100km,68.9526759275163,66.97450799147197,69.19158,68.61138,68.69754,65.37644,2087500.0,2187500.0,812500.0,912500.0,2016-08-29,2016-08-30 +089-barents_kara_seas-100km-20170621-20170622,089,barents_kara_seas,100km,78.58415768279158,57.21571913413086,78.92091,60.04639,78.22155,54.55429,1162500.0,1262500.0,212500.0,312500.0,2017-06-21,2017-06-22 +092-barents_kara_seas-100km-20200701-20200702,092,barents_kara_seas,100km,79.66361897791533,63.83843355798077,79.93234,67.16635,79.36215,60.68999,1012500.0,1112500.0,312500.0,412500.0,2020-07-01,2020-07-02 +095-barents_kara_seas-100km-20210825-20210826,095,barents_kara_seas,100km,68.9526759275163,66.97450799147197,69.19158,68.61138,68.69754,65.37644,2087500.0,2187500.0,812500.0,912500.0,2021-08-25,2021-08-26 +098-beaufort_sea-100km-20030422-20030423,098,beaufort_sea,100km,70.84194606079423,-125.0316438295262,70.47037,-126.58532,71.19951,-123.41658,-2112500.0,-2012500.0,-412500.0,-312500.0,2003-04-22,2003-04-23 +099-beaufort_sea-100km-20030527-20030528,099,beaufort_sea,100km,72.1471600292256,-128.74096369487776,71.74146,-130.32584,72.5392,-127.0825,-1987500.0,-1887500.0,-262500.0,-162500.0,2003-05-27,2003-05-28 +107-beaufort_sea-100km-20030616-20030617,107,beaufort_sea,100km,70.89835244968855,-133.970845195694,70.45199,-135.33506,71.33412,-132.54096,-2137500.0,-2037500.0,-87500.0,12500.0,2003-06-16,2003-06-17 +108-beaufort_sea-100km-20030621-20030622,108,beaufort_sea,100km,69.55563390274885,-134.67991517621832,69.10592,-135.93919,69.99583,-133.36342,-2287500.0,-2187500.0,-62500.0,37500.0,2003-06-21,2003-06-22 +110-beaufort_sea-100km-20040428-20040429,110,beaufort_sea,100km,70.71368136655593,-123.02386755579664,70.36037,-124.60568,71.05236,-121.38319,-2112500.0,-2012500.0,-487500.0,-387500.0,2004-04-28,2004-04-29 +115-beaufort_sea-100km-20070711-20070712,115,beaufort_sea,100km,75.54667811712906,-128.15722658736905,75.14102,-130.1261,75.93481,-126.07601,-1612500.0,-1512500.0,-237500.0,-137500.0,2007-07-11,2007-07-12 +442-beaufort_sea-100km-20070902-20070903,442,beaufort_sea,100km,71.96596819248917,-139.73343833057547,71.47532,-141.02753,72.44768,-138.36646,-2012500.0,-1912500.0,112500.0,212500.0,2007-09-02,2007-09-03 +116-beaufort_sea-100km-20100330-20100331,116,beaufort_sea,100km,74.83217276492898,-116.01678294077378,74.53986,-118.17859,75.10248,-113.77235,-1612500.0,-1512500.0,-587500.0,-487500.0,2010-03-30,2010-03-31 +118-beaufort_sea-100km-20100925-20100926,118,beaufort_sea,100km,76.9736565092582,-139.55376797915864,76.47676,-141.34019,77.45746,-137.62641,-1462500.0,-1362500.0,62500.0,162500.0,2010-09-25,2010-09-26 +119-beaufort_sea-100km-20110608-20110609,119,beaufort_sea,100km,71.003583622892,-128.43123587817888,70.6022,-129.92787,71.39212,-126.8699,-2112500.0,-2012500.0,-287500.0,-187500.0,2011-06-08,2011-06-09 +122-beaufort_sea-100km-20140818-20140819,122,beaufort_sea,100km,74.90445120146457,-116.84050953321324,74.60394,-118.99596,75.18317,-114.59979,-1612500.0,-1512500.0,-562500.0,-462500.0,2014-08-18,2014-08-19 +132-beaufort_sea-100km-20170525-20170526,132,beaufort_sea,100km,72.02614964299937,-125.8376529542783,71.64574,-127.47618,72.39183,-124.12855,-1987500.0,-1887500.0,-362500.0,-262500.0,2017-05-25,2017-05-26 +134-beaufort_sea-100km-20170925-20170926,134,beaufort_sea,100km,78.31111945065037,-148.07912378006682,77.75806,-149.68879,78.85462,-146.30993,-1287500.0,-1187500.0,237500.0,337500.0,2017-09-25,2017-09-26 +137-beaufort_sea-100km-20190319-20190320,137,beaufort_sea,100km,71.02795656503653,-129.11755440990464,70.62073,-130.60129,71.42258,-127.56859,-2112500.0,-2012500.0,-262500.0,-162500.0,2019-03-19,2019-03-20 +139-beaufort_sea-100km-20190808-20190809,139,beaufort_sea,100km,73.5752989316775,-131.39872188277656,73.1454,-133.05191,73.99141,-129.65694,-1837500.0,-1737500.0,-162500.0,-62500.0,2019-08-08,2019-08-09 +140-beaufort_sea-100km-20200708-20200709,140,beaufort_sea,100km,70.05737285048592,-142.5729486405434,69.55063,-143.67317,70.55727,-141.4146,-2212500.0,-2112500.0,237500.0,337500.0,2020-07-08,2020-07-09 +141-beaufort_sea-100km-20200808-20200809,141,beaufort_sea,100km,74.66490739686482,-150.17992743452623,74.10539,-151.34288,75.2184,-148.92834,-1662500.0,-1562500.0,387500.0,487500.0,2020-08-08,2020-08-09 +142-beaufort_sea-100km-20210427-20210428,142,beaufort_sea,100km,70.13458850929605,-140.61220322932488,69.64084,-141.76617,70.62073,-139.39871,-2212500.0,-2112500.0,162500.0,262500.0,2021-04-27,2021-04-28 +144-beaufort_sea-100km-20210718-20210719,144,beaufort_sea,100km,71.34239041021729,-136.7569883099082,70.87416,-138.08481,71.80085,-135.36035,-2087500.0,-1987500.0,12500.0,112500.0,2021-07-18,2021-07-19 +145-beaufort_sea-100km-20220302-20220303,145,beaufort_sea,100km,70.33427169714388,-141.34019174590992,69.83525,-142.48739,70.82586,-140.13255,-2187500.0,-2087500.0,187500.0,287500.0,2022-03-02,2022-03-03 +146-beaufort_sea-100km-20220523-20220524,146,beaufort_sea,100km,70.21212906168073,-132.68293761412866,69.77697,-134.02898,70.63663,-131.27594,-2212500.0,-2112500.0,-137500.0,-37500.0,2022-05-23,2022-05-24 +155-bering_strait-100km-20040620-20040621,155,bering_strait,100km,69.87844540882928,-168.41938081777187,69.25793,-168.77754,70.49929,-168.03795,-1887500.0,-1787500.0,1162500.0,1262500.0,2004-06-20,2004-06-21 +157-bering_strait-100km-20050303-20050304,157,bering_strait,100km,60.00562854443666,-171.7405620201212,59.40204,-171.91212,60.61059,-171.56162,-2712500.0,-2612500.0,1937500.0,2037500.0,2005-03-03,2005-03-04 +158-bering_strait-100km-20050705-20050706,158,bering_strait,100km,71.11761231909615,-170.13419305691565,70.4914,-170.45962,71.74428,-169.78603,-1737500.0,-1637500.0,1137500.0,1237500.0,2005-07-05,2005-07-06 +449-bering_strait-100km-20050709-20050710,449,bering_strait,100km,72.00893308869686,-164.33789365467393,71.39489,-164.87599,72.62231,-163.76116,-1762500.0,-1662500.0,912500.0,1012500.0,2005-07-09,2005-07-10 +443-bering_strait-100km-20070727-20070728,443,bering_strait,100km,65.87000669388078,-179.61803379527095,65.24543,-179.62795,66.49599,-179.60757,-1937500.0,-1837500.0,1812500.0,1912500.0,2007-07-27,2007-07-28 +163-bering_strait-100km-20080418-20080419,163,bering_strait,100km,58.60837596513459,-169.77314229365865,58.01199,-169.97551,59.20606,-169.56252,-2912500.0,-2812500.0,1937500.0,2037500.0,2008-04-18,2008-04-19 +450-bering_strait-100km-20080507-20080508,450,bering_strait,100km,62.13404812631506,-178.35402250243595,61.5188,-178.39099,62.75087,-178.31532,-2287500.0,-2187500.0,2062500.0,2162500.0,2008-05-07,2008-05-08 +165-bering_strait-100km-20090523-20090524,165,bering_strait,100km,61.824479163964654,-171.17962044797895,61.21689,-171.37482,62.4333,-170.97546,-2562500.0,-2462500.0,1787500.0,1887500.0,2009-05-23,2009-05-24 +168-bering_strait-100km-20110319-20110320,168,bering_strait,100km,62.27074227899072,-177.3523703347078,61.65554,-177.41212,62.88749,-177.2898,-2312500.0,-2212500.0,2012500.0,2112500.0,2011-03-19,2011-03-20 +451-bering_strait-100km-20110614-20110615,451,bering_strait,100km,71.89745002129715,-164.96956947656673,71.2818,-165.4833,72.51258,-164.41908,-1762500.0,-1662500.0,937500.0,1037500.0,2011-06-14,2011-06-15 +448-bering_strait-100km-20110715-20110716,448,bering_strait,100km,66.52820938656589,-162.43498531270703,65.93054,-162.89727,67.12556,-161.94787,-2337500.0,-2237500.0,1137500.0,1237500.0,2011-07-15,2011-07-16 +445-bering_strait-100km-20110804-20110805,445,bering_strait,100km,65.2880031327072,-171.39551840690734,64.67158,-171.61297,65.90547,-171.16659,-2237500.0,-2137500.0,1562500.0,1662500.0,2011-08-04,2011-08-05 +170-bering_strait-100km-20120513-20120514,170,bering_strait,100km,61.96997611243771,-169.13918537836267,61.36567,-169.38034,62.57532,-168.88696,-2612500.0,-2512500.0,1687500.0,1787500.0,2012-05-13,2012-05-14 +171-bering_strait-100km-20120523-20120524,171,bering_strait,100km,62.99920350261355,-168.3565685012383,62.3939,-168.62488,63.60539,-168.07548,-2537500.0,-2437500.0,1587500.0,1687500.0,2012-05-23,2012-05-24 +172-bering_strait-100km-20120607-20120608,172,bering_strait,100km,60.65389165183929,-172.17864789562506,60.0479,-172.34483,61.26126,-172.00514,-2637500.0,-2537500.0,1912500.0,2012500.0,2012-06-07,2012-06-08 +176-bering_strait-100km-20130423-20130424,176,bering_strait,100km,58.23860957981134,-172.80376457091864,57.63854,-172.94481,58.84022,-172.65699,-2837500.0,-2737500.0,2112500.0,2212500.0,2013-04-23,2013-04-24 +444-bering_strait-100km-20130806-20130807,444,bering_strait,100km,74.02713895156538,-164.69386102591014,73.4088,-165.28493,74.64456,-164.0546,-1562500.0,-1462500.0,812500.0,912500.0,2013-08-06,2013-08-07 +178-bering_strait-100km-20150320-20150321,178,bering_strait,100km,63.348725922335845,-173.08877288097534,62.73452,-173.25083,63.96422,-172.91879,-2362500.0,-2262500.0,1762500.0,1862500.0,2015-03-20,2015-03-21 +179-bering_strait-100km-20160415-20160416,179,bering_strait,100km,60.37378491297163,-165.96375653207352,59.78083,-166.2572,60.96753,-165.65777,-2862500.0,-2762500.0,1637500.0,1737500.0,2016-04-15,2016-04-16 +187-bering_strait-100km-20180723-20180724,187,bering_strait,100km,72.59554736559004,-165.44642720928746,71.97741,-165.96376,73.21316,-164.89042,-1687500.0,-1587500.0,912500.0,1012500.0,2018-07-23,2018-07-24 +192-bering_strait-100km-20200628-20200629,192,bering_strait,100km,71.5059284199646,-164.26119856255056,70.89297,-164.78742,72.11827,-163.69829,-1812500.0,-1712500.0,937500.0,1037500.0,2020-06-28,2020-06-29 +196-chukchi_east_siberian_seas-100km-20040717-20040718,196,chukchi_east_siberian_seas,100km,69.25793094662976,168.7775419305552,68.63785,169.11447,69.87845,168.41938,-1312500.0,-1212500.0,1837500.0,1937500.0,2004-07-17,2004-07-18 +198-chukchi_east_siberian_seas-100km-20050730-20050731,198,chukchi_east_siberian_seas,100km,74.90445120146457,178.76802259736027,74.26313,178.81881,75.54668,178.71267,-1187500.0,-1087500.0,1137500.0,1237500.0,2005-07-30,2005-07-31 +199-chukchi_east_siberian_seas-100km-20060611-20060612,199,chukchi_east_siberian_seas,100km,74.54322462696989,154.51079944371327,73.96223,155.5081,75.11999,153.43495,-612500.0,-512500.0,1537500.0,1637500.0,2006-06-11,2006-06-12 +200-chukchi_east_siberian_seas-100km-20060927-20060928,200,chukchi_east_siberian_seas,100km,74.0076382307174,-173.59564727361587,73.37135,-173.84483,74.64456,-173.32553,-1412500.0,-1312500.0,1037500.0,1137500.0,2006-09-27,2006-09-28 +446-chukchi_east_siberian_seas-100km-20070326-20070327,446,chukchi_east_siberian_seas,100km,70.58632586199631,165.03784474567345,69.97281,165.51527,71.19951,164.52867,-1112500.0,-1012500.0,1787500.0,1887500.0,2007-03-26,2007-03-27 +202-chukchi_east_siberian_seas-100km-20070723-20070724,202,chukchi_east_siberian_seas,100km,76.06543314580152,158.81865049973374,75.46388,159.74354,76.6638,157.80971,-662500.0,-562500.0,1337500.0,1437500.0,2007-07-23,2007-07-24 +206-chukchi_east_siberian_seas-100km-20090903-20090904,206,chukchi_east_siberian_seas,100km,78.27969013699676,-177.6140559696112,77.63437,-177.7395,78.92567,-177.47388,-987500.0,-887500.0,812500.0,912500.0,2009-09-03,2009-09-04 +208-chukchi_east_siberian_seas-100km-20100929-20100930,208,chukchi_east_siberian_seas,100km,75.69185601903224,170.85835977647508,75.05708,171.25384,76.32675,170.42577,-962500.0,-862500.0,1212500.0,1312500.0,2010-09-29,2010-09-30 +221-chukchi_east_siberian_seas-100km-20140427-20140428,221,chukchi_east_siberian_seas,100km,75.69185601903224,152.2717425776809,75.11999,153.43495,76.25808,151.01118,-512500.0,-412500.0,1437500.0,1537500.0,2014-04-27,2014-04-28 +222-chukchi_east_siberian_seas-100km-20140511-20140512,222,chukchi_east_siberian_seas,100km,76.03546416302942,146.86439045128114,75.49263,148.26648,76.56994,145.34868,-362500.0,-262500.0,1437500.0,1537500.0,2014-05-11,2014-05-12 +223-chukchi_east_siberian_seas-100km-20140808-20140809,223,chukchi_east_siberian_seas,100km,73.15462423928713,-172.2596588411621,72.52145,-172.5457,73.78835,-171.95094,-1512500.0,-1412500.0,1062500.0,1162500.0,2014-08-08,2014-08-09 +225-chukchi_east_siberian_seas-100km-20150630-20150701,225,chukchi_east_siberian_seas,100km,75.10248262521975,150.64224645720873,74.53986,151.82141,75.65906,149.37,-487500.0,-387500.0,1512500.0,1612500.0,2015-06-30,2015-07-01 +226-chukchi_east_siberian_seas-100km-20160525-20160526,226,chukchi_east_siberian_seas,100km,75.49262615378512,148.26648084658368,74.94246,149.56576,76.03546,146.86439,-412500.0,-312500.0,1487500.0,1587500.0,2016-05-25,2016-05-26 +229-chukchi_east_siberian_seas-100km-20170417-20170418,229,chukchi_east_siberian_seas,100km,70.34470455681678,174.33629374197946,69.71382,174.51641,70.97654,174.14399,-1412500.0,-1312500.0,1612500.0,1712500.0,2017-04-17,2017-04-18 +447-chukchi_east_siberian_seas-100km-20180422-20180423,447,chukchi_east_siberian_seas,100km,75.82015542618574,150.49927537650083,75.25725,151.74197,76.37656,149.15341,-462500.0,-362500.0,1437500.0,1537500.0,2018-04-22,2018-04-23 +232-chukchi_east_siberian_seas-100km-20180809-20180810,232,chukchi_east_siberian_seas,100km,75.51782426482085,176.14319901441013,74.87687,176.30861,76.15952,175.96229,-1087500.0,-987500.0,1137500.0,1237500.0,2018-08-09,2018-08-10 +234-chukchi_east_siberian_seas-100km-20180828-20180829,234,chukchi_east_siberian_seas,100km,77.2378149436017,-173.418055344822,76.59725,-173.73651,77.87872,-173.06565,-1137500.0,-1037500.0,812500.0,912500.0,2018-08-28,2018-08-29 +238-chukchi_east_siberian_seas-100km-20190615-20190616,238,chukchi_east_siberian_seas,100km,76.1935547516979,154.94238458169698,75.60819,156.03751,76.77416,153.74976,-562500.0,-462500.0,1362500.0,1462500.0,2019-06-15,2019-06-16 +240-chukchi_east_siberian_seas-100km-20200303-20200304,240,chukchi_east_siberian_seas,100km,73.34954438997262,148.94059117029002,72.79881,150.05432,73.89438,147.75003,-487500.0,-387500.0,1712500.0,1812500.0,2020-03-03,2020-03-04 +241-chukchi_east_siberian_seas-100km-20200330-20200331,241,chukchi_east_siberian_seas,100km,70.56254646642313,168.97046877601952,69.9396,169.32364,71.18584,168.59345,-1237500.0,-1137500.0,1712500.0,1812500.0,2020-03-30,2020-03-31 +244-chukchi_east_siberian_seas-100km-20220520-20220521,244,chukchi_east_siberian_seas,100km,75.53945903477262,151.13284053048537,74.97363,152.32792,76.09923,149.83994,-487500.0,-387500.0,1462500.0,1562500.0,2022-05-20,2022-05-21 +245-greenland_sea-100km-20030807-20030808,245,greenland_sea,100km,79.55205034437945,4.467159061389275,80.19782,4.76364,78.90667,4.20536,812500.0,912500.0,-787500.0,-687500.0,2003-08-07,2003-08-08 +247-greenland_sea-100km-20040623-20040624,247,greenland_sea,100km,79.58235715188954,0.8951737102110717,80.23017,0.95484,78.93517,0.84252,762500.0,862500.0,-837500.0,-737500.0,2004-06-23,2004-06-24 +255-greenland_sea-100km-20050919-20050920,255,greenland_sea,100km,76.1784176523337,-19.925580658184323,76.78208,-20.8858,75.57197,-19.04662,587500.0,687500.0,-1412500.0,-1312500.0,2005-09-19,2005-09-20 +256-greenland_sea-100km-20060616-20060617,256,greenland_sea,100km,80.76347686311696,-9.13017648227869,81.4036,-9.8193,80.12275,-8.53077,537500.0,637500.0,-862500.0,-762500.0,2006-06-16,2006-06-17 +258-greenland_sea-100km-20090314-20090315,258,greenland_sea,100km,77.5329599885405,12.042575142884989,78.1637,12.69958,76.90148,11.44934,1087500.0,1187500.0,-787500.0,-687500.0,2009-03-14,2009-03-15 +261-greenland_sea-100km-20100728-20100729,261,greenland_sea,100km,76.64418678475745,-9.806092759897089,77.27896,-10.30485,76.0093,-9.35298,787500.0,887500.0,-1237500.0,-1137500.0,2010-07-28,2010-07-29 +263-greenland_sea-100km-20120406-20120407,263,greenland_sea,100km,77.76663966021515,-4.573921259900861,78.41047,-4.83042,77.12334,-4.34324,812500.0,912500.0,-1062500.0,-962500.0,2012-04-06,2012-04-07 +270-greenland_sea-100km-20120508-20120509,270,greenland_sea,100km,76.8735186283378,21.80140948635181,77.47001,22.90577,76.27331,20.79411,1262500.0,1362500.0,-612500.0,-512500.0,2012-05-08,2012-05-09 +273-greenland_sea-100km-20130521-20130522,273,greenland_sea,100km,77.47838283313693,-1.4878675288277772,78.12382,-1.56935,76.83368,-1.41442,887500.0,987500.0,-1037500.0,-937500.0,2013-05-21,2013-05-22 +275-greenland_sea-100km-20150405-20150406,275,greenland_sea,100km,76.27711842801723,16.50436138175503,76.89348,17.31165,75.65906,15.76718,1262500.0,1362500.0,-762500.0,-662500.0,2015-04-05,2015-04-06 +276-greenland_sea-100km-20150430-20150501,276,greenland_sea,100km,76.5582575023497,-7.640406761026755,77.19681,-8.02724,75.91996,-7.28895,837500.0,937500.0,-1212500.0,-1112500.0,2015-04-30,2015-05-01 +277-greenland_sea-100km-20150513-20150514,277,greenland_sea,100km,77.95694517206176,-2.3215305898327165,78.6026,-2.45403,77.31197,-2.2026,837500.0,937500.0,-1012500.0,-912500.0,2015-05-13,2015-05-14 +279-greenland_sea-100km-20160811-20160812,279,greenland_sea,100km,79.74039879126664,-1.8183029644518331,80.3881,-1.94149,79.09329,-1.70981,712500.0,812500.0,-862500.0,-762500.0,2016-08-11,2016-08-12 +281-greenland_sea-100km-20170805-20170806,281,greenland_sea,100km,78.71389489924283,-15.037815903582244,79.33743,-15.9454,78.08849,-14.22596,562500.0,662500.0,-1112500.0,-1012500.0,2017-08-05,2017-08-06 +283-greenland_sea-100km-20180610-20180611,283,greenland_sea,100km,72.3157169715812,-20.92450174492116,72.91049,-21.70054,71.71889,-20.19981,737500.0,837500.0,-1812500.0,-1712500.0,2018-06-10,2018-06-11 +286-greenland_sea-100km-20200318-20200319,286,greenland_sea,100km,75.87551184467547,17.39332214691204,76.48837,18.2171,75.26079,16.63881,1312500.0,1412500.0,-762500.0,-662500.0,2020-03-18,2020-03-19 +287-greenland_sea-100km-20210921-20210922,287,greenland_sea,100km,81.98975669936368,-4.666858371438994,82.63735,-5.07961,81.34231,-4.31603,512500.0,612500.0,-712500.0,-612500.0,2021-09-21,2021-09-22 +288-greenland_sea-100km-20220316-20220317,288,greenland_sea,100km,76.8735186283378,21.80140948635181,77.47001,22.90577,76.27331,20.79411,1262500.0,1362500.0,-612500.0,-512500.0,2022-03-16,2022-03-17 +290-greenland_sea-100km-20220723-20220724,290,greenland_sea,100km,78.41046704435409,-4.830419958289938,79.05474,-5.11731,77.76664,-4.57392,762500.0,862500.0,-1012500.0,-912500.0,2022-07-23,2022-07-24 +291-greenland_sea-100km-20220728-20220729,291,greenland_sea,100km,77.09488198221362,-16.837472625676384,77.71099,-17.71579,76.47676,-16.03994,612500.0,712500.0,-1287500.0,-1187500.0,2022-07-28,2022-07-29 +292-greenland_sea-100km-20220919-20220920,292,greenland_sea,100km,79.37206285945503,-11.481991354748091,80.00595,-12.22512,78.73722,-10.82301,587500.0,687500.0,-1012500.0,-912500.0,2022-09-19,2022-09-20 +456-hudson_bay-100km-20040626-20040627,456,hudson_bay,100km,63.989106575456034,-88.23217294414394,64.0006,-89.64633,63.96231,-86.82017,-2012500.0,-1912500.0,-2137500.0,-2037500.0,2004-06-26,2004-06-27 +296-hudson_bay-100km-20040706-20040707,296,hudson_bay,100km,56.42190772930193,-77.99979032811471,56.54129,-79.06315,56.29176,-76.94475,-2087500.0,-1987500.0,-3187500.0,-3087500.0,2004-07-06,2004-07-07 +298-hudson_bay-100km-20050409-20050410,298,hudson_bay,100km,57.853009793119355,-91.98470311215355,57.82611,-93.11699,57.86797,-90.85086,-2662500.0,-2562500.0,-2487500.0,-2387500.0,2005-04-09,2005-04-10 +300-hudson_bay-100km-20050613-20050614,300,hudson_bay,100km,63.55458436339211,-84.08193964789238,63.61105,-85.46774,63.48326,-82.70305,-1887500.0,-1787500.0,-2312500.0,-2212500.0,2005-06-13,2005-06-14 +301-hudson_bay-100km-20060329-20060330,301,hudson_bay,100km,63.88590190558919,-76.13453331251938,64.02745,-77.50959,63.73006,-74.77557,-1537500.0,-1437500.0,-2512500.0,-2412500.0,2006-03-29,2006-03-30 +302-hudson_bay-100km-20060403-20060404,302,hudson_bay,100km,63.95847899545511,-76.820131910619,64.09278,-78.20275,63.80975,-75.45296,-1562500.0,-1462500.0,-2487500.0,-2387500.0,2006-04-03,2006-04-04 +453-hudson_bay-100km-20060718-20060719,453,hudson_bay,100km,65.03977915969801,-86.30861401354872,65.07191,-87.78321,64.99167,-84.8389,-1862500.0,-1762500.0,-2112500.0,-2012500.0,2006-07-18,2006-07-19 +311-hudson_bay-100km-20070428-20070429,311,hudson_bay,100km,58.31153967621843,-91.72698775048764,58.28721,-92.87677,58.32371,-90.57582,-2612500.0,-2512500.0,-2462500.0,-2362500.0,2007-04-28,2007-04-29 +318-hudson_bay-100km-20080813-20080814,318,hudson_bay,100km,65.85750453306764,-83.11174172300531,65.92427,-84.63226,65.77434,-81.60091,-1687500.0,-1587500.0,-2137500.0,-2037500.0,2008-08-13,2008-08-14 +319-hudson_bay-100km-20090605-20090606,319,hudson_bay,100km,60.5258812849436,-78.75095568532569,60.6389,-79.97396,60.40017,-77.53824,-1862500.0,-1762500.0,-2762500.0,-2662500.0,2009-06-05,2009-06-06 +320-hudson_bay-100km-20090615-20090616,320,hudson_bay,100km,58.31610451313179,-78.40782458970894,58.43201,-79.54009,58.18859,-77.28466,-1987500.0,-1887500.0,-2987500.0,-2887500.0,2009-06-15,2009-06-16 +455-hudson_bay-100km-20100524-20100525,455,hudson_bay,100km,58.970952927197125,-82.32758840022045,59.04596,-83.49694,58.88372,-81.16463,-2137500.0,-2037500.0,-2787500.0,-2687500.0,2010-05-24,2010-05-25 +452-hudson_bay-100km-20100812-20100813,452,hudson_bay,100km,65.36933163048317,-87.00686799402092,65.39379,-88.50241,65.32863,-85.51539,-1862500.0,-1762500.0,-2062500.0,-1962500.0,2010-08-12,2010-08-13 +324-hudson_bay-100km-20110323-20110324,324,hudson_bay,100km,65.33269660448441,-82.13393162710312,65.41011,-83.61844,65.23935,-80.65997,-1687500.0,-1587500.0,-2212500.0,-2112500.0,2011-03-23,2011-03-24 +325-hudson_bay-100km-20110327-20110328,325,hudson_bay,100km,64.21239146311544,-77.78068707678064,64.33653,-79.18217,64.07354,-76.3939,-1587500.0,-1487500.0,-2437500.0,-2337500.0,2011-03-27,2011-03-28 +454-hudson_bay-100km-20130426-20130427,454,hudson_bay,100km,63.09669372294096,-76.21214708367323,63.2372,-77.54565,62.94237,-74.8937,-1587500.0,-1487500.0,-2587500.0,-2487500.0,2013-04-26,2013-04-27 +329-hudson_bay-100km-20130510-20130511,329,hudson_bay,100km,65.68322733009332,-82.78097917513034,65.7536,-84.28941,65.59661,-81.28254,-1687500.0,-1587500.0,-2162500.0,-2062500.0,2013-05-10,2013-05-11 +330-hudson_bay-100km-20150720-20150721,330,hudson_bay,100km,56.47584750128901,-79.91346831534622,56.57549,-80.98494,56.36524,-78.84907,-2187500.0,-2087500.0,-3112500.0,-3012500.0,2015-07-20,2015-07-21 +334-hudson_bay-100km-20170716-20170717,334,hudson_bay,100km,64.49461435894949,-81.30869246411515,64.58096,-82.74028,64.393,-79.88796,-1712500.0,-1612500.0,-2312500.0,-2212500.0,2017-07-16,2017-07-17 +339-hudson_bay-100km-20200509-20200510,339,hudson_bay,100km,62.76903867302275,-83.92041104216152,62.82728,-85.26442,62.69644,-82.58309,-1937500.0,-1837500.0,-2387500.0,-2287500.0,2020-05-09,2020-05-10 +340-hudson_bay-100km-20210518-20210519,340,hudson_bay,100km,62.30459183704782,-81.35457746574639,62.39032,-82.66888,62.20496,-80.04937,-1862500.0,-1762500.0,-2512500.0,-2412500.0,2021-05-18,2021-05-19 +345-laptev_sea-100km-20040602-20040603,345,laptev_sea,100km,75.15856632578773,131.0090869015702,74.72954,132.84704,75.57197,129.06258,62500.0,162500.0,1562500.0,1662500.0,2004-06-02,2004-06-03 +347-laptev_sea-100km-20040923-20040924,347,laptev_sea,100km,73.54374896880623,108.97040780848654,73.32466,111.07749,73.7404,106.80869,737500.0,837500.0,1562500.0,1662500.0,2004-09-23,2004-09-24 +348-laptev_sea-100km-20060806-20060807,348,laptev_sea,100km,77.92646285580558,134.4543424065843,77.46582,136.57655,78.36972,132.16589,-37500.0,62500.0,1262500.0,1362500.0,2006-08-06,2006-08-07 +351-laptev_sea-100km-20070405-20070406,351,laptev_sea,100km,74.36255839783523,126.988768387144,73.96871,128.84084,74.73977,125.04193,187500.0,287500.0,1637500.0,1737500.0,2007-04-05,2007-04-06 +352-laptev_sea-100km-20070504-20070505,352,laptev_sea,100km,76.77416431399567,137.48955292199915,76.29237,139.32506,77.24192,135.51616,-112500.0,-12500.0,1387500.0,1487500.0,2007-05-04,2007-05-05 +353-laptev_sea-100km-20070712-20070713,353,laptev_sea,100km,78.06206368404492,142.1934700552955,77.54559,144.02761,78.56575,140.19443,-212500.0,-112500.0,1237500.0,1337500.0,2007-07-12,2007-07-13 +360-laptev_sea-100km-20080330-20080331,360,laptev_sea,100km,77.71099327658386,107.71579270637694,77.49934,110.55605,77.89172,104.78273,562500.0,662500.0,1137500.0,1237500.0,2008-03-30,2008-03-31 +361-laptev_sea-100km-20080508-20080509,361,laptev_sea,100km,77.59624115475634,100.57352341856092,77.46164,103.49573,77.69819,97.59464,712500.0,812500.0,1062500.0,1162500.0,2008-05-08,2008-05-09 +362-laptev_sea-100km-20080601-20080602,362,laptev_sea,100km,76.26949993393502,115.95876926156066,75.97573,118.34569,76.53881,113.47099,437500.0,537500.0,1362500.0,1462500.0,2008-06-01,2008-06-02 +363-laptev_sea-100km-20080720-20080721,363,laptev_sea,100km,75.57197451740649,129.0625839005185,75.15857,131.00909,75.96828,127.00253,112500.0,212500.0,1512500.0,1612500.0,2008-07-20,2008-07-21 +371-laptev_sea-100km-20110324-20110325,371,laptev_sea,100km,78.08849234046849,104.2259638987518,77.91342,107.21607,78.23048,101.15466,612500.0,712500.0,1062500.0,1162500.0,2011-03-24,2011-03-25 +372-laptev_sea-100km-20110514-20110515,372,laptev_sea,100km,77.40738052640897,101.16488017754858,77.2666,104.03624,77.51614,98.23562,712500.0,812500.0,1087500.0,1187500.0,2011-05-14,2011-05-15 +377-laptev_sea-100km-20130904-20130905,377,laptev_sea,100km,77.59624115475634,100.57352341856092,77.46164,103.49573,77.69819,97.59464,712500.0,812500.0,1062500.0,1162500.0,2013-09-04,2013-09-05 +378-laptev_sea-100km-20140301-20140302,378,laptev_sea,100km,78.3246157508427,108.68735150521118,78.10173,111.65599,78.51527,105.61099,512500.0,612500.0,1087500.0,1187500.0,2014-03-01,2014-03-02 +379-laptev_sea-100km-20140403-20140404,379,laptev_sea,100km,74.39251730726141,127.822754149145,73.99141,129.65694,74.77734,125.89267,162500.0,262500.0,1637500.0,1737500.0,2014-04-03,2014-04-04 +381-laptev_sea-100km-20160402-20160403,381,laptev_sea,100km,79.02592398285043,105.47863816541836,78.83575,108.69898,79.18053,102.15494,537500.0,637500.0,987500.0,1087500.0,2016-04-02,2016-04-03 +382-laptev_sea-100km-20160904-20160905,382,laptev_sea,100km,79.75068045859918,136.93058744116698,79.26849,139.30447,80.21398,134.32596,-87500.0,12500.0,1062500.0,1162500.0,2016-09-04,2016-09-05 +385-laptev_sea-100km-20180601-20180602,385,laptev_sea,100km,76.20870908720792,147.99461679191654,75.65906,149.37,76.75043,146.50482,-387500.0,-287500.0,1412500.0,1512500.0,2018-06-01,2018-06-02 +386-laptev_sea-100km-20180720-20180721,386,laptev_sea,100km,73.88148747666128,143.59122543222762,73.362,144.91653,74.39252,142.17725,-312500.0,-212500.0,1687500.0,1787500.0,2018-07-20,2018-07-21 +387-laptev_sea-100km-20190816-20190817,387,laptev_sea,100km,79.14166589836378,119.63838368815136,78.80751,122.53507,79.44668,116.56505,262500.0,362500.0,1087500.0,1187500.0,2019-08-16,2019-08-17 +389-laptev_sea-100km-20210807-20210808,389,laptev_sea,100km,79.93234417477997,140.9061411137705,79.42175,143.1301,80.42662,138.44739,-162500.0,-62500.0,1037500.0,1137500.0,2021-08-07,2021-08-08 +466-sea_of_okhostk-100km-20040421-20040422,466,sea_of_okhostk,100km,55.31702709953958,142.6068677719718,54.84152,143.23324,55.7897,141.96205,-562500.0,-462500.0,3787500.0,3887500.0,2004-04-21,2004-04-22 +458-sea_of_okhostk-100km-20050606-20050607,458,sea_of_okhostk,100km,55.3034061342606,139.25688440821506,54.84956,139.93024,55.75369,138.56464,-337500.0,-237500.0,3812500.0,3912500.0,2005-06-06,2005-06-07 +462-sea_of_okhostk-100km-20070315-20070316,462,sea_of_okhostk,100km,54.674582484079735,145.02899806150847,54.18616,145.60867,55.16079,144.43206,-737500.0,-637500.0,3837500.0,3937500.0,2007-03-15,2007-03-16 +401-sea_of_okhostk-100km-20090524-20090525,401,sea_of_okhostk,100km,58.32371433262955,153.434948822922,57.78133,153.94086,58.86507,152.91052,-1162500.0,-1062500.0,3287500.0,3387500.0,2009-05-24,2009-05-25 +460-sea_of_okhostk-100km-20090608-20090609,460,sea_of_okhostk,100km,55.3647529767199,137.4090813744723,54.92335,138.10886,55.80217,136.6902,-212500.0,-112500.0,3812500.0,3912500.0,2009-06-08,2009-06-09 +459-sea_of_okhostk-100km-20090618-20090619,459,sea_of_okhostk,100km,54.49142467910185,138.43002844006176,54.04516,139.0983,54.9341,137.7437,-287500.0,-187500.0,3912500.0,4012500.0,2009-06-18,2009-06-19 +402-sea_of_okhostk-100km-20100308-20100309,402,sea_of_okhostk,100km,54.38710559023557,147.5092994431321,53.88543,148.04774,54.8871,146.95448,-912500.0,-812500.0,3837500.0,3937500.0,2010-03-08,2010-03-09 +403-sea_of_okhostk-100km-20100417-20100418,403,sea_of_okhostk,100km,53.98012171353733,145.5432463946863,53.4906,146.10383,54.46762,144.9662,-787500.0,-687500.0,3912500.0,4012500.0,2010-04-17,2010-04-18 +457-sea_of_okhostk-100km-20110504-20110505,457,sea_of_okhostk,100km,58.58991722765379,154.47421405230625,58.0421,154.96587,59.13687,153.96423,-1212500.0,-1112500.0,3237500.0,3337500.0,2011-05-04,2011-05-05 +464-sea_of_okhostk-100km-20130429-20130430,464,sea_of_okhostk,100km,59.72775118335316,155.73095547282662,59.17144,156.21797,60.28329,155.22486,-1237500.0,-1137500.0,3087500.0,3187500.0,2013-04-29,2013-04-30 +418-sea_of_okhostk-100km-20130614-20130615,418,sea_of_okhostk,100km,54.6399834375134,139.89909245378772,54.18354,140.5505,55.09313,139.22961,-387500.0,-287500.0,3887500.0,3987500.0,2013-06-14,2013-06-15 +463-sea_of_okhostk-100km-20140308-20140309,463,sea_of_okhostk,100km,52.52351689452783,148.58185243592965,52.02142,149.07697,53.02437,148.07232,-1037500.0,-937500.0,4037500.0,4137500.0,2014-03-08,2014-03-09 +422-sea_of_okhostk-100km-20140312-20140313,422,sea_of_okhostk,100km,52.82149428937873,147.99461679191654,52.32164,148.50232,53.31996,147.4721,-987500.0,-887500.0,4012500.0,4112500.0,2014-03-12,2014-03-13 +461-sea_of_okhostk-100km-20140605-20140606,461,sea_of_okhostk,100km,54.09469089696672,137.67542665602912,53.65456,138.34579,54.53114,136.98738,-237500.0,-137500.0,3962500.0,4062500.0,2014-06-05,2014-06-06 +465-sea_of_okhostk-100km-20150312-20150313,465,sea_of_okhostk,100km,57.66080433087346,156.83839836404928,57.10542,157.27372,58.21586,156.38705,-1387500.0,-1287500.0,3287500.0,3387500.0,2015-03-12,2015-03-13 +431-sea_of_okhostk-100km-20160331-20160401,431,sea_of_okhostk,100km,55.785541738957754,144.61659157004993,55.2966,145.22217,56.272,143.99244,-687500.0,-587500.0,3712500.0,3812500.0,2016-03-31,2016-04-01 +432-sea_of_okhostk-100km-20170428-20170429,432,sea_of_okhostk,100km,56.16221886297233,138.99091309842976,55.70806,139.6859,56.61259,138.27598,-312500.0,-212500.0,3712500.0,3812500.0,2017-04-28,2017-04-29 +433-sea_of_okhostk-100km-20170523-20170524,433,sea_of_okhostk,100km,59.60112799780936,155.18286912757316,59.04752,155.67811,60.15388,154.6684,-1212500.0,-1112500.0,3112500.0,3212500.0,2017-05-23,2017-05-24 +435-sea_of_okhostk-100km-20190427-20190428,435,sea_of_okhostk,100km,58.44424237701525,143.82386194304044,57.95339,144.49538,58.93197,143.1301,-587500.0,-487500.0,3412500.0,3512500.0,2019-04-27,2019-04-28 +439-sea_of_okhostk-100km-20210405-20210406,439,sea_of_okhostk,100km,55.93280920132567,148.89906309275082,55.4194,149.44131,56.44461,148.33925,-962500.0,-862500.0,3637500.0,3737500.0,2021-04-05,2021-04-06 +440-sea_of_okhostk-100km-20220524-20220525,440,sea_of_okhostk,100km,54.18353883231012,140.55049978958294,53.72401,141.18439,54.63998,139.89909,-437500.0,-337500.0,3937500.0,4037500.0,2022-05-24,2022-05-25 \ No newline at end of file diff --git a/workflow/example/hudson-bay.conf b/workflow/example/hudson-bay.conf new file mode 100644 index 00000000..1d144e00 --- /dev/null +++ b/workflow/example/hudson-bay.conf @@ -0,0 +1,7 @@ + +LOCATION="hudson-bay" +CRS="EPSG:3413" +BBOX="-2795941.755,-3368686.029,-1295941.755,-1868686.029" +SCALE=250 +CENTROID_LAT=60 +CENTROID_LON=-83 \ No newline at end of file diff --git a/workflow/example/util/get_values.py b/workflow/example/util/get_values.py new file mode 100644 index 00000000..a1c9fc2c --- /dev/null +++ b/workflow/example/util/get_values.py @@ -0,0 +1,35 @@ +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "pandas", +# "typer", +# ] +# /// + +import pathlib +from typing import Optional, Annotated + +import pandas +import typer + + +def main( + datafile: Annotated[pathlib.Path, typer.Argument(help="path to csv file")], + column: Annotated[str, typer.Argument(help="name of column to return")], + start: Annotated[ + Optional[int], typer.Argument(help="initial row index to return") + ] = None, + stop: Annotated[ + Optional[int], typer.Argument(help="final row index to return") + ] = None, + step: Annotated[ + Optional[int], typer.Argument(help="size of steps between returned row indices") + ] = None, +): + """Print values from the `column` column in a CSV file, from row `start` to `stop` in steps of `step`.""" + f = pandas.read_csv(datafile) + print("\n".join(f[column].values[start:stop:step])) + + +if __name__ == "__main__": + typer.run(main) diff --git a/workflow/example/util/template.py b/workflow/example/util/template.py new file mode 100644 index 00000000..9db1d174 --- /dev/null +++ b/workflow/example/util/template.py @@ -0,0 +1,54 @@ +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "pandas", +# "typer", +# ] +# /// + +import pathlib + +import pandas +import typer + + +def main(datafile: pathlib.Path, index_column: str, row_index: str): + """ + Get the cylc parameters for a preprocessing run from a CSV file. + """ + df = pandas.read_csv(datafile, index_col=index_column) + print(_template(df, row_index)) + + +def _template(df, row_index): + """ + Examples: + + >>> import io, pandas + >>> csv = '''id,location,left_x,right_x,lower_y,top_y,center_lat,center_lon,startdate,enddate + ... beaufort-sea-0,beaufort-sea,-2383879,-883879,-750000,750000,75.0,-135.0,2020-09-05,2020-09-08 + ... hudson-bay-0,hudson-bay,-2795941,-1295941,-3368686,-1868686,60.0,-83.0,2020-09-06,2020-09-09 + ... ''' + >>> df = pandas.read_csv(io.StringIO(csv), index_col="id") + + >>> print(_template(df, row_index="beaufort-sea-0")) + --set START="2020-09-06" --set END="2020-09-09" --set CENTROID_LAT="60.0" --set CENTROID_LON="-83.0" --set BBOX="-2795941,-3368686,-1295941,-1868686" --set LOCATION="hudson-bay" + + >>> print(_template(df, row_index="hudson-bay-0")) + --set START="2020-09-06" --set END="2020-09-09" --set BBOX="-2795941,-3368686,-1295941,-1868686" --set LOCATION="hudson-bay" + + """ + r = df.loc[row_index] + s = ( + f'--set START="{r.startdate}" ' + f'--set END="{r.enddate}" ' + f'--set CENTROID_LAT="{r.center_lat}" ' + f'--set CENTROID_LON="{r.center_lon}" ' + f'--set BBOX="{r.left_x},{r.lower_y},{r.right_x},{r.top_y}" ' + f'--set LOCATION="{r.location}"' + ) + return s + + +if __name__ == "__main__": + typer.run(main) diff --git a/workflow/meta/rose-meta.conf b/workflow/meta/rose-meta.conf index a37f14d8..23e11a50 100644 --- a/workflow/meta/rose-meta.conf +++ b/workflow/meta/rose-meta.conf @@ -1,4 +1,316 @@ [template variables] + +#-------------------------------------------------- +# Date, Time, Location, Satellites +#-------------------------------------------------- + +[template variables=START] +description=First day of data + +[template variables=END] +description=Last day of data + +[template variables=LOCATION] +description=Name of region, e.g. "Beaufort-Sea" +type=character + +[template variables=CENTROID_LAT] +description=Latitude of the center of the location, in WGS84 +type=real + +[template variables=CENTROID_LON] +description=Longitude of the center of the location, in WGS84 +type=real + +[template variables=CRS] +description=Coordinate Reference System of the BBOX parameter +value-hints="EPSG:3413" + +[template variables=BBOX] +description=Bounding box lower left and upper right corners, + in the Coordinate Reference System (CRS) specified by `CRS`, + in the form "x_lower_left,y_lower_left,x_upper_right,y_upper_right" +type=character + +[template variables=SCALE] +description=Size of image pixels to use, in units of the CRS. Must be greater than zero. +type=real +range=this >0 + +[template variables=SATELLITES] +description=Satellites to load data from +value-hints=aqua,terra +length=: + +#-------------------------------------------------- +# Satellite Overpass Identification Tool +#-------------------------------------------------- + +[template variables=PASS_TIME_INSTALL] +description=Install method for the satellite overpass identification tool. + "Source" – download and build the application from source on the fly, e.g. using pipx, using the version specified in `PASS_TIME_VERSION`. + "Inject" – use a specific command, specified in `PASS_TIME_COMMAND`. +values=Source,Inject + +[template variables=PASS_TIME_VERSION] +description=Python package version number to use when `PASS_TIME_INSTALL`="Source" + e.g. "v2.0.0", or "v2.1-beta.1" +type=character + +[template variables=PASS_TIME_COMMAND] +description=Specific command to use when `PASS_TIME_INSTALL` is "Inject" +type=character + +[template variables=SPACEUSER] +description=Username for Space-Track.org +type=character + +[template variables=SPACEPSWD] +description=Password for Space-Track.org +type=character + +#-------------------------------------------------- +# IFTPipeline.jl Command Line Interface +#-------------------------------------------------- + +[template variables=IFT_INSTALL] +description=Install method for the IFTPipeline.jl command line tool. + "Apptainer" - use apptainer to load an image from the docker registry on the fly using the version specified in `IFT_VERSION` + "Docker" - use docker to load an image from the docker registry on the fly using the version specified in `IFT_VERSION` + "Inject" – use a specific command, specified in `IFT_COMMAND`. +values=Apptainer,Docker,Inject + +[template variables=IFT_VERSION] +description=Docker version number to use when `IFT_INSTALL` is "Apptainer" or "Docker" +type=character + +[template variables=IFT_COMMAND] +description=Specific command to use when `IFT_INSTALL` is "Inject" +type=character + +#-------------------------------------------------- +# Buckley Floe Size Distribution Tool +#-------------------------------------------------- + +[template variables=FSDPROC_INSTALL] +description=Install method for the Buckley Floe Size Distribution tool. + "Source": download and build the application from source on the fly, e.g. using pipx, using the version specified in `FSDPROC_VERSION`. + "Inject": use a specific command, specified in `FSDPROC_COMMAND`. + +[template variables=FSDPROC_VERSION] +description=Python package version number of the tool to use when `FSDPROC_INSTALL` is "Source", + e.g. "v1.0.1" +type=character + +[template variables=FSDPROC_COMMAND] +description=Specific command to use when `FSDPROC_INSTALL` is "Inject" +type=character + +#-------------------------------------------------- +# Floe Colorizer +#-------------------------------------------------- + +[template variables=COLORIZE_INSTALL] +description=Install method for the segmented floe colorizer. + "Source": download and build the application from source on the fly, e.g. using pipx, using the version specified in `COLORIZE_VERSION`. + "Inject": use a specific command, specified in `COLORIZE_COMMAND`. + +[template variables=COLORIZE_VERSION] +description=Python package version number of the tool to use when `COLORIZE_INSTALL` is "Source", + e.g. "v1.0.1" +type=character + +[template variables=COLORIZE_COMMAND] +description=Specific command to use when `COLORIZE_INSTALL` is "Inject" +type=character + +#-------------------------------------------------- +# Preprocessing Options +#-------------------------------------------------- + [template variables=PREPROCESSING] -values="Lopez", "Buckley" -type='character' \ No newline at end of file +description=Choice of preprocessing algorithm. +values="Lopez", "LopezTiling", "Buckley" + +# Lopez Preprocessing Options +# for PREPROCESSING="Lopez" or "LopezTiling" +#-------------------------------------------------- + +# Histogram Equalization Preprocessing Options +# for PREPROCESSING="LopezTiling" +#-------------------------------------------------- + +[template variables=ICE_LABELS_PRELIM_THRESHOLD] +description=See IceFloeTracker.create_cloudmask, step 1 & 2 of IceFloeTracker.preprocess_tiling + +[template variables=ICE_LABELS_BAND_2_THRESHOLD] +description=See IceFloeTracker.create_cloudmask, step 1 & 2 of IceFloeTracker.preprocess_tiling + +[template variables=ICE_LABELS_BAND_7_THRESHOLD] +description=See IceFloeTracker.create_cloudmask, step 1 & 2 of IceFloeTracker.preprocess_tiling + +[template variables=ICE_LABELS_RATIO_LOWER] +description=See IceFloeTracker.create_cloudmask, step 1 & 2 of IceFloeTracker.preprocess_tiling + +[template variables=ICE_LABELS_RATIO_UPPER] +description=See IceFloeTracker.create_cloudmask, step 1 & 2 of IceFloeTracker.preprocess_tiling + +[template variables=TILE_CBLOCKS] +description=See IceFloeTracker.conditional_histeq, step 3 of IceFloeTracker.preprocess_tiling. Number of columns when tiling the image in the conditional histogram step + +[template variables=TILE_RBLOCKS] +description=See IceFloeTracker.conditional_histeq, step 3 of IceFloeTracker.preprocess_tiling. Number of rows when tiling the image in the conditional histogram step + +[template variables=ADAPTHISTEQ_ENTROPY_THRESHOLD] +description=See IceFloeTracker.conditional_histeq, step 3 of IceFloeTracker.preprocess_tiling. + +[template variables=ADAPTHISTEQ_WHITE_FRACTION_THRESHOLD] +description=See IceFloeTracker.conditional_histeq, step 3 of IceFloeTracker.preprocess_tiling. + +[template variables=ADAPTHISTEQ_WHITE_THRESHOLD] +description=See IceFloeTracker.conditional_histeq, step 3 of IceFloeTracker.preprocess_tiling. + +[template variables=UNSHARP_MASK_AMOUNT] +description=See step 5 of IceFloeTracker.preprocess_tiling + +[template variables=UNSHARP_MASK_FACTOR] +description=See step 5 of IceFloeTracker.preprocess_tiling + +[template variables=UNSHARP_MASK_RADIUS] +description=See step 5 of IceFloeTracker.preprocess_tiling + +[template variables=BRIGHTEN_FACTOR] +description=Brightening in step 7 of IceFloeTracker.preprocess_tiling + +[template variables=GAMMA] +description=See Gamma correction in step 8 of IceFloeTracker.preprocess_tiling + +[template variables=GAMMA_FACTOR] +description=See Gamma correction in step 8 of IceFloeTracker.preprocess_tiling + +[template variables=GAMMA_THRESHOLD] +description=See Gamma correction in step 8 of IceFloeTracker.preprocess_tiling + +[template variables=PRELIM_ICEMASK_AMOUNT] +description=See preliminary ice masking in step 12 of IceFloeTracker.preprocess_tiling + +[template variables=PRELIM_ICEMASK_FACTOR] +description=See preliminary ice masking in step 12 of IceFloeTracker.preprocess_tiling + +[template variables=PRELIM_ICEMASK_RADIUS] +description=See preliminary ice masking in step 12 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_BAND_1_THRESHOLD] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_BAND_1_THRESHOLD_RELAXED] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_BAND_2_THRESHOLD] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_BAND_7_THRESHOLD] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_BAND_7_THRESHOLD_RELAXED] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_N_CLUSTERS] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +[template variables=ICEMASK_POSSIBLE_ICE_THRESHOLD] +description=See final ice masking in step 13 of IceFloeTracker.preprocess_tiling + +# Buckley Preprocessing Options +# for PREPROCESSING="Buckley" +#-------------------------------------------------- + +[template variables=BUCKLEY_KERNEL_TYPE] +description=Type of kernel for erosion +values=diamond, ellipse + +[template variables=BUCKLEY_KERNEL_SIZE] +description=Size of kernel for erosion + +[template variables=BUCKLEY_ITMAX] +description=Maximum number of erosion iterations, in the first pass + +[template variables=BUCKLEY_STEP] +description=Number of steps to reduce erosion by, each pass + +[template variables=BUCKLEY_ITMIN] +description=Minimum number of erosion iterations, in the last pass + +#-------------------------------------------------- +# Feature Extraction +#-------------------------------------------------- + +[template variables=MAXFLOEAREA] +description=Maximum area of floes to extract + +[template variables=MINFLOEAREA] +description=Minimum area of floes to extract + +#-------------------------------------------------- +# Tracking +#-------------------------------------------------- + +[template variables=TRACK_AREA] +description=Area threshold to use for pairing floes +length=: + +[template variables=TRACK_DIST] +description=Distance threholds to use for pairing floes +length=: + +[template variables=TRACK_DT_THRESH] +description=Time thresholds to use for pairing floes +length=: + +[template variables=TRACK_SAREARATIO] +description=Area ratio threshold for small floes + +[template variables=TRACK_SMAJAXISRATIO] +description=Major axis ratio threshold for small floes + +[template variables=TRACK_SMINAXISRATIO] +description=Minor axis ratio threshold for small floes + +[template variables=TRACK_SCONVEXAREARATIO] +description=Convex area ratio threshold for small floes + +[template variables=TRACK_LAREARATIO] +description=Area ratio threshold for large floes + +[template variables=TRACK_LMAJAXISRATIO] +description=Major axis ratio threshold for large floes + +[template variables=TRACK_LMINAXISRATIO] +description=Minor axis ratio threshold for large floes + +[template variables=TRACK_LCONVEXAREARATIO] +description=Convex area ratio threshold for large floes + +[template variables=TRACK_MXROT] +description=Maximum rotation + +[template variables=TRACK_PSI] +description=Minimum psi-s correlation + +[template variables=TRACK_SZ] +description=Minimum side length of floe mask + +[template variables=TRACK_COMP] +description=Size comparability + +[template variables=TRACK_CORR] +description=Mininimun psi-s correlation + +[template variables=TRACK_MM] +description=Maximum registration mismatch + +[template variables=TRACK_AREA2] +description=Large floe area mismatch threshold + +[template variables=TRACK_AREA3] +description=Small floe area mismatch threshold diff --git a/workflow/rose-suite.conf b/workflow/rose-suite.conf index c8fedc9d..982acf47 100644 --- a/workflow/rose-suite.conf +++ b/workflow/rose-suite.conf @@ -1,66 +1,72 @@ +# See meta/rose-meta.conf for parameter descriptions + [template variables] +#-------------------------------------------------- +# Date, Time, Location, Satellites +#-------------------------------------------------- START="2019-03-20" END="2019-03-21" -SATELLITES="aqua", "terra" LOCATION="beaufort_sea" CRS="EPSG:3413" +# BBOX: "x_lower_left,y_lower_left,x_upper_right,y_upper_right" BBOX="-2112500.0,-262500.0,-2012500.0,-162500.0" SCALE=250 CENTROID_LAT=71.02795656503653 CENTROID_LON=-129.11755440990464 +SATELLITES="aqua", "terra" -PREPROCESSING="Lopez" # "Lopez" or "LopezTiling" or "Buckley" - - -# Install locations: -# - "Apptainer" - use apptainer to load an image from the docker registry on the fly -# - "Docker" - use docker to load an image from the docker registry on the fly -# - "Source" - download and build the application from source on the fly, e.g. using pipx -# - "Inject" - use a specific command +#-------------------------------------------------- +# Satellite Overpass Identification Tool +#-------------------------------------------------- +PASS_TIME_INSTALL="Source" +PASS_TIME_VERSION="v2.0.0" +PASS_TIME_COMMAND="" +# Username and password for Space-Track.org (don't commit!) +SPACEUSER="" +SPACEPSWD="" -# Lopez Ice Floe Tracker settings -# "Apptainer" or "Docker" or "Inject" +#-------------------------------------------------- +# IFTPipeline.jl Command Line Interface +#-------------------------------------------------- IFT_INSTALL="Docker" -# Version of the container image for "Apptainer" or "Docker" install mode -IFT_VERSION="v2.0.0" -# Command to run the IFT CLI if using "Inject" install mode +IFT_VERSION="v2.1-beta.1" IFT_COMMAND="julia --project=/path/to/IFTPipeline.jl /path/to/IFTPipeline.jl/src/cli.jl" -# Buckley Floe Size Distribution preprocessing settings - # "Source" or "Inject" +#-------------------------------------------------- +# Buckley Floe Size Distribution Tool +#-------------------------------------------------- FSDPROC_INSTALL="Source" -# Tag or branch for the source code FSDPROC_VERSION="v1.0.1" -# Command to run the FSDPROC CLI if using "Inject" install mode FSDPROC_COMMAND="" -# Satellite Overpass Identification Tool settings -# "Source" or "Inject" -PASS_TIME_INSTALL="Source" -# Tag or branch for the source code -PASS_TIME_VERSION="v2.0.0" -# Command to run the Pass Time CLI if using "Inject" install mode -PASS_TIME_COMMAND="" -# Username and password for Space-Track.org -SPACEUSER="" -SPACEPSWD="" - -# Floe colorizer settings -# "Source" or "Inject" +#-------------------------------------------------- +# Floe Colorizer +#-------------------------------------------------- COLORIZE_INSTALL="Source" -# Tag or branch for the source code COLORIZE_VERSION="v2.0.0" - # Command to run the Pass Time CLI if using "Inject" install mode COLORIZE_COMMAND="" -# Preprocessing Lopez with tiling parameters -TILE_RBLOCKS=8 -TILE_CBLOCKS=8 +#-------------------------------------------------- +# Preprocessing Options +#-------------------------------------------------- + +PREPROCESSING="Lopez" + +# Lopez Preprocessing Options +# for PREPROCESSING="Lopez" or "LopezTiling" +#-------------------------------------------------- + +# Histogram Equalization Preprocessing Options +# for PREPROCESSING="LopezTiling" +#-------------------------------------------------- + ICE_LABELS_PRELIM_THRESHOLD=110.0 ICE_LABELS_BAND_7_THRESHOLD=200.0 ICE_LABELS_BAND_2_THRESHOLD=190.0 ICE_LABELS_RATIO_LOWER=0.0 ICE_LABELS_RATIO_UPPER=0.75 +TILE_RBLOCKS=8 +TILE_CBLOCKS=8 ADAPTHISTEQ_WHITE_THRESHOLD=25.5 ADAPTHISTEQ_ENTROPY_THRESHOLD=4.0 ADAPTHISTEQ_WHITE_FRACTION_THRESHOLD=0.4 @@ -82,7 +88,9 @@ ICEMASK_BAND_1_THRESHOLD_RELAXED=190 ICEMASK_POSSIBLE_ICE_THRESHOLD=75 ICEMASK_N_CLUSTERS=3 -# Preprocessing Buckley parameters +# Buckley Preprocessing Options +# for PREPROCESSING="Buckley" +#-------------------------------------------------- BUCKLEY_ITMAX=8 BUCKLEY_ITMIN=3 BUCKLEY_STEP=-1 @@ -90,11 +98,15 @@ BUCKLEY_STEP=-1 BUCKLEY_KERNEL_TYPE="diamond" BUCKLEY_KERNEL_SIZE=1 -# Feature extraction parameters +#-------------------------------------------------- +# Feature Extraction +#-------------------------------------------------- MINFLOEAREA=350 MAXFLOEAREA=90000 -# Tracking parameters +#-------------------------------------------------- +# Tracking +#-------------------------------------------------- TRACK_AREA=1200 TRACK_DIST=15, 30, 120 TRACK_DT_THRESH=30, 100, 1300