diff --git a/auxdir/CFIS/tiles_202106/tiles_P1.txt b/auxdir/CFIS/tiles_202106/tiles_P1.txt new file mode 100644 index 000000000..fbf9a7f4b --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P1.txt @@ -0,0 +1,3527 @@ +110.299 +111.298 +111.299 +112.297 +112.298 +112.299 +113.296 +113.297 +113.298 +113.299 +114.296 +114.297 +114.298 +114.299 +115.295 +115.296 +115.297 +115.298 +115.299 +116.295 +116.296 +116.297 +116.298 +116.299 +117.294 +117.295 +117.296 +117.297 +117.298 +117.299 +118.293 +118.294 +118.295 +118.296 +118.297 +118.298 +118.299 +119.293 +119.294 +119.295 +119.296 +119.297 +119.298 +119.299 +120.292 +120.293 +120.294 +120.295 +120.296 +120.297 +120.298 +120.299 +121.292 +121.293 +121.294 +121.295 +121.296 +121.297 +121.298 +121.299 +122.291 +122.292 +122.293 +122.294 +122.295 +122.296 +122.297 +122.298 +122.299 +123.290 +123.291 +123.292 +123.293 +123.294 +123.295 +123.296 +123.297 +123.298 +123.299 +124.289 +124.290 +124.291 +124.292 +124.293 +124.294 +124.295 +124.296 +124.297 +124.298 +124.299 +125.289 +125.290 +125.291 +125.292 +125.293 +125.294 +125.295 +125.296 +125.297 +125.298 +125.299 +126.288 +126.289 +126.290 +126.291 +126.292 +126.293 +126.294 +126.295 +126.296 +126.297 +126.298 +126.299 +127.287 +127.288 +127.289 +127.290 +127.291 +127.292 +127.293 +127.294 +127.295 +127.296 +127.297 +127.298 +127.299 +128.287 +128.288 +128.289 +128.290 +128.291 +128.292 +128.293 +128.294 +128.295 +128.296 +128.297 +128.298 +129.286 +129.287 +129.288 +129.289 +129.290 +129.291 +129.292 +129.293 +129.294 +129.295 +129.296 +129.297 +129.298 +129.299 +130.285 +130.286 +130.287 +130.288 +130.289 +130.290 +130.291 +130.292 +130.293 +130.294 +130.295 +130.296 +130.297 +130.298 +130.299 +131.285 +131.286 +131.287 +131.288 +131.289 +131.290 +131.291 +131.292 +131.293 +131.294 +131.295 +131.296 +131.297 +131.298 +131.299 +132.285 +132.286 +132.287 +132.288 +132.289 +132.290 +132.291 +132.292 +132.293 +132.294 +132.295 +132.296 +132.297 +132.298 +132.299 +133.284 +133.285 +133.286 +133.287 +133.288 +133.289 +133.290 +133.291 +133.292 +133.293 +133.294 +133.295 +133.296 +133.297 +133.298 +133.299 +134.283 +134.284 +134.285 +134.286 +134.287 +134.288 +134.289 +134.290 +134.291 +134.292 +134.293 +134.294 +134.295 +134.296 +134.297 +134.298 +134.299 +135.283 +135.284 +135.285 +135.286 +135.287 +135.288 +135.289 +135.290 +135.291 +135.292 +135.293 +135.294 +135.295 +135.296 +135.297 +135.298 +135.299 +136.282 +136.283 +136.284 +136.285 +136.286 +136.287 +136.288 +136.289 +136.290 +136.291 +136.292 +136.293 +136.294 +136.295 +136.296 +136.297 +136.298 +136.299 +137.282 +137.283 +137.284 +137.285 +137.286 +137.287 +137.288 +137.289 +137.290 +137.291 +137.292 +137.293 +137.294 +137.295 +137.296 +137.297 +137.298 +137.299 +138.281 +138.282 +138.283 +138.284 +138.285 +138.286 +138.287 +138.288 +138.289 +138.290 +138.291 +138.292 +138.293 +138.294 +138.295 +138.296 +138.297 +138.298 +139.281 +139.282 +139.283 +139.284 +139.285 +139.286 +139.287 +139.288 +139.289 +139.290 +139.291 +139.292 +139.293 +139.294 +139.295 +139.296 +139.297 +139.298 +140.280 +140.281 +140.282 +140.283 +140.284 +140.285 +140.286 +140.287 +140.288 +140.289 +140.290 +140.291 +140.292 +140.293 +140.294 +140.295 +140.296 +140.297 +141.280 +141.281 +141.282 +141.283 +141.284 +141.285 +141.286 +141.287 +141.288 +141.289 +141.290 +141.291 +141.292 +141.293 +141.294 +141.295 +141.296 +141.297 +142.279 +142.280 +142.281 +142.282 +142.283 +142.284 +142.285 +142.286 +142.287 +142.288 +142.289 +142.290 +142.291 +142.292 +142.293 +142.294 +142.295 +142.296 +143.278 +143.279 +143.280 +143.281 +143.282 +143.283 +143.284 +143.285 +143.286 +143.287 +143.288 +143.289 +143.290 +143.291 +143.292 +143.293 +143.294 +143.295 +144.278 +144.279 +144.280 +144.281 +144.282 +144.283 +144.284 +144.285 +144.286 +144.287 +144.288 +144.289 +144.290 +144.291 +144.292 +144.293 +144.294 +144.295 +145.277 +145.278 +145.279 +145.280 +145.281 +145.282 +145.283 +145.284 +145.285 +145.286 +145.287 +145.288 +145.289 +145.290 +145.291 +145.292 +145.293 +145.294 +146.277 +146.278 +146.279 +146.280 +146.281 +146.282 +146.283 +146.284 +146.285 +146.286 +146.287 +146.288 +146.289 +146.290 +146.291 +146.292 +146.293 +147.276 +147.277 +147.278 +147.279 +147.280 +147.281 +147.282 +147.283 +147.284 +147.285 +147.286 +147.287 +147.288 +147.289 +147.290 +147.291 +147.292 +148.276 +148.277 +148.278 +148.279 +148.280 +148.281 +148.282 +148.283 +148.284 +148.285 +148.286 +148.287 +148.288 +148.289 +148.290 +148.291 +148.292 +149.276 +149.277 +149.278 +149.279 +149.280 +149.281 +149.282 +149.283 +149.284 +149.285 +149.286 +149.287 +149.288 +149.289 +149.290 +149.291 +149.292 +150.275 +150.276 +150.277 +150.278 +150.279 +150.280 +150.281 +150.282 +150.283 +150.284 +150.285 +150.286 +150.287 +150.288 +150.289 +150.290 +150.291 +151.274 +151.275 +151.276 +151.277 +151.278 +151.279 +151.280 +151.281 +151.282 +151.283 +151.284 +151.285 +151.286 +151.287 +151.288 +151.289 +151.290 +151.291 +152.273 +152.274 +152.275 +152.276 +152.277 +152.278 +152.279 +152.280 +152.281 +152.282 +152.283 +152.284 +152.285 +152.286 +152.287 +152.288 +152.289 +152.290 +153.273 +153.274 +153.275 +153.276 +153.277 +153.278 +153.279 +153.280 +153.281 +153.282 +153.283 +153.284 +153.285 +153.286 +153.287 +153.288 +153.289 +154.272 +154.273 +154.274 +154.275 +154.276 +154.277 +154.278 +154.279 +154.280 +154.281 +154.282 +154.283 +154.284 +154.285 +154.286 +154.287 +154.288 +155.271 +155.272 +155.273 +155.274 +155.275 +155.276 +155.277 +155.278 +155.279 +155.280 +155.281 +155.282 +155.283 +155.284 +155.285 +155.286 +155.287 +156.270 +156.271 +156.272 +156.273 +156.274 +156.275 +156.276 +156.277 +156.278 +156.279 +156.280 +156.281 +156.282 +156.283 +156.284 +156.285 +156.286 +156.287 +157.270 +157.271 +157.272 +157.273 +157.274 +157.275 +157.276 +157.277 +157.278 +157.279 +157.280 +157.281 +157.282 +157.283 +157.284 +157.285 +157.286 +157.287 +158.270 +158.271 +158.272 +158.273 +158.274 +158.275 +158.276 +158.277 +158.278 +158.279 +158.280 +158.281 +158.282 +158.283 +158.284 +158.285 +158.286 +159.269 +159.270 +159.271 +159.272 +159.273 +159.274 +159.275 +159.276 +159.277 +159.278 +159.279 +159.280 +159.281 +159.282 +159.283 +159.284 +159.285 +159.286 +160.268 +160.269 +160.270 +160.271 +160.272 +160.273 +160.274 +160.275 +160.276 +160.277 +160.278 +160.279 +160.280 +160.281 +160.282 +160.283 +160.284 +160.285 +161.267 +161.268 +161.269 +161.270 +161.271 +161.272 +161.273 +161.274 +161.275 +161.276 +161.277 +161.278 +161.279 +161.280 +161.281 +161.282 +161.283 +161.284 +161.285 +162.266 +162.267 +162.268 +162.269 +162.270 +162.271 +162.272 +162.273 +162.274 +162.275 +162.276 +162.277 +162.278 +162.279 +162.280 +162.281 +162.282 +162.283 +162.284 +163.266 +163.267 +163.268 +163.269 +163.270 +163.271 +163.272 +163.273 +163.274 +163.275 +163.276 +163.277 +163.278 +163.279 +163.280 +163.281 +163.282 +163.283 +164.266 +164.267 +164.268 +164.269 +164.270 +164.271 +164.272 +164.273 +164.274 +164.275 +164.276 +164.277 +164.278 +164.279 +164.280 +164.281 +164.282 +164.283 +165.265 +165.266 +165.267 +165.268 +165.269 +165.270 +165.271 +165.272 +165.273 +165.274 +165.275 +165.276 +165.277 +165.278 +165.279 +165.280 +165.281 +165.282 +166.264 +166.265 +166.266 +166.267 +166.268 +166.269 +166.270 +166.271 +166.272 +166.273 +166.274 +166.275 +166.276 +166.277 +166.278 +166.279 +166.280 +166.281 +166.282 +167.263 +167.264 +167.265 +167.266 +167.267 +167.268 +167.269 +167.270 +167.271 +167.272 +167.273 +167.274 +167.275 +167.276 +167.277 +167.278 +167.279 +167.280 +167.281 +168.263 +168.264 +168.265 +168.266 +168.267 +168.268 +168.269 +168.270 +168.271 +168.272 +168.273 +168.274 +168.275 +168.276 +168.277 +168.278 +168.279 +168.280 +168.281 +169.262 +169.263 +169.264 +169.265 +169.266 +169.267 +169.268 +169.269 +169.270 +169.271 +169.272 +169.273 +169.274 +169.275 +169.276 +169.277 +169.278 +169.279 +169.280 +170.262 +170.263 +170.264 +170.265 +170.266 +170.267 +170.268 +170.269 +170.270 +170.271 +170.272 +170.273 +170.274 +170.275 +170.276 +170.277 +170.278 +170.279 +171.261 +171.262 +171.263 +171.264 +171.265 +171.266 +171.267 +171.268 +171.269 +171.270 +171.271 +171.272 +171.273 +171.274 +171.275 +171.276 +171.277 +171.278 +171.279 +172.260 +172.261 +172.262 +172.263 +172.264 +172.265 +172.266 +172.267 +172.268 +172.269 +172.270 +172.271 +172.272 +172.273 +172.274 +172.275 +172.276 +172.277 +172.278 +172.279 +173.259 +173.260 +173.261 +173.262 +173.263 +173.264 +173.265 +173.266 +173.267 +173.268 +173.269 +173.270 +173.271 +173.272 +173.273 +173.274 +173.275 +173.276 +173.277 +173.278 +173.279 +174.259 +174.260 +174.261 +174.262 +174.263 +174.264 +174.265 +174.266 +174.267 +174.268 +174.269 +174.270 +174.271 +174.272 +174.273 +174.274 +174.275 +174.276 +174.277 +174.278 +174.279 +175.258 +175.259 +175.260 +175.261 +175.262 +175.263 +175.264 +175.265 +175.266 +175.267 +175.268 +175.269 +175.270 +175.271 +175.272 +175.273 +175.274 +175.275 +175.276 +175.277 +175.278 +175.279 +176.258 +176.259 +176.260 +176.261 +176.262 +176.263 +176.264 +176.265 +176.266 +176.267 +176.268 +176.269 +176.270 +176.271 +176.272 +176.273 +176.274 +176.275 +176.276 +176.277 +176.278 +176.279 +177.257 +177.258 +177.259 +177.260 +177.261 +177.262 +177.263 +177.264 +177.265 +177.266 +177.267 +177.268 +177.269 +177.270 +177.271 +177.272 +177.273 +177.274 +177.275 +177.276 +177.277 +177.278 +177.279 +178.257 +178.258 +178.259 +178.260 +178.261 +178.262 +178.263 +178.264 +178.265 +178.266 +178.267 +178.268 +178.269 +178.270 +178.271 +178.272 +178.273 +178.274 +178.275 +178.276 +178.277 +178.278 +178.279 +179.256 +179.257 +179.258 +179.259 +179.260 +179.261 +179.262 +179.263 +179.264 +179.265 +179.266 +179.267 +179.268 +179.269 +179.270 +179.271 +179.272 +179.273 +179.274 +179.275 +179.276 +179.277 +179.278 +179.279 +180.255 +180.256 +180.257 +180.258 +180.259 +180.260 +180.261 +180.262 +180.263 +180.264 +180.265 +180.266 +180.267 +180.268 +180.269 +180.270 +180.271 +180.272 +180.273 +180.274 +180.275 +180.276 +180.277 +180.278 +180.279 +181.254 +181.255 +181.256 +181.257 +181.258 +181.259 +181.260 +181.261 +181.262 +181.263 +181.264 +181.265 +181.266 +181.267 +181.268 +181.269 +181.270 +181.271 +181.272 +181.273 +181.274 +181.275 +181.276 +181.277 +181.278 +181.279 +182.253 +182.254 +182.255 +182.256 +182.257 +182.258 +182.259 +182.260 +182.261 +182.262 +182.263 +182.264 +182.265 +182.266 +182.267 +182.268 +182.269 +182.270 +182.271 +182.272 +182.273 +182.274 +182.275 +182.276 +182.277 +182.278 +182.279 +183.252 +183.253 +183.254 +183.255 +183.256 +183.257 +183.258 +183.259 +183.260 +183.261 +183.262 +183.263 +183.264 +183.265 +183.266 +183.267 +183.268 +183.269 +183.270 +183.271 +183.272 +183.273 +183.274 +183.275 +183.276 +183.277 +183.278 +183.279 +184.252 +184.253 +184.254 +184.255 +184.256 +184.257 +184.258 +184.259 +184.260 +184.261 +184.262 +184.263 +184.264 +184.265 +184.266 +184.267 +184.268 +184.269 +184.270 +184.271 +184.272 +184.273 +184.274 +184.275 +184.276 +184.277 +184.278 +184.279 +185.251 +185.252 +185.253 +185.254 +185.255 +185.256 +185.257 +185.258 +185.259 +185.260 +185.261 +185.262 +185.263 +185.264 +185.265 +185.266 +185.267 +185.268 +185.269 +185.270 +185.271 +185.272 +185.273 +185.274 +185.275 +185.276 +185.277 +185.278 +185.279 +186.251 +186.252 +186.253 +186.254 +186.255 +186.256 +186.257 +186.258 +186.259 +186.260 +186.261 +186.262 +186.263 +186.264 +186.265 +186.266 +186.267 +186.268 +186.269 +186.270 +186.271 +186.272 +186.273 +186.274 +186.275 +186.276 +186.277 +186.278 +186.279 +186.285 +187.250 +187.251 +187.252 +187.253 +187.254 +187.255 +187.256 +187.257 +187.258 +187.259 +187.260 +187.261 +187.262 +187.263 +187.264 +187.265 +187.266 +187.267 +187.268 +187.269 +187.270 +187.271 +187.272 +187.273 +187.274 +187.275 +187.276 +187.277 +187.278 +187.279 +187.284 +187.285 +188.250 +188.251 +188.252 +188.253 +188.254 +188.255 +188.256 +188.257 +188.258 +188.259 +188.260 +188.261 +188.262 +188.263 +188.264 +188.265 +188.266 +188.267 +188.268 +188.269 +188.270 +188.271 +188.272 +188.273 +188.274 +188.275 +188.276 +188.277 +188.278 +188.279 +188.284 +188.285 +189.250 +189.251 +189.252 +189.253 +189.254 +189.255 +189.256 +189.257 +189.258 +189.259 +189.260 +189.261 +189.262 +189.263 +189.264 +189.265 +189.266 +189.267 +189.268 +189.269 +189.270 +189.271 +189.272 +189.273 +189.274 +189.275 +189.276 +189.277 +189.278 +189.279 +189.283 +189.284 +189.285 +190.249 +190.250 +190.251 +190.252 +190.253 +190.254 +190.255 +190.256 +190.257 +190.258 +190.259 +190.260 +190.261 +190.262 +190.263 +190.264 +190.265 +190.266 +190.267 +190.268 +190.269 +190.270 +190.271 +190.272 +190.273 +190.274 +190.275 +190.276 +190.277 +190.278 +190.279 +190.283 +190.284 +190.285 +191.248 +191.249 +191.250 +191.251 +191.252 +191.253 +191.254 +191.255 +191.256 +191.257 +191.258 +191.259 +191.260 +191.261 +191.262 +191.263 +191.264 +191.265 +191.266 +191.267 +191.268 +191.269 +191.270 +191.271 +191.272 +191.273 +191.274 +191.275 +191.276 +191.277 +191.278 +191.279 +191.282 +191.283 +191.284 +191.285 +192.248 +192.249 +192.250 +192.251 +192.252 +192.253 +192.254 +192.255 +192.256 +192.257 +192.258 +192.259 +192.260 +192.261 +192.262 +192.263 +192.264 +192.265 +192.266 +192.267 +192.268 +192.269 +192.270 +192.271 +192.272 +192.273 +192.274 +192.275 +192.276 +192.277 +192.278 +192.279 +192.282 +192.283 +192.284 +193.247 +193.248 +193.249 +193.250 +193.251 +193.252 +193.253 +193.254 +193.255 +193.256 +193.257 +193.258 +193.259 +193.260 +193.261 +193.262 +193.263 +193.264 +193.265 +193.266 +193.267 +193.268 +193.269 +193.270 +193.271 +193.272 +193.273 +193.274 +193.275 +193.276 +193.277 +193.278 +193.279 +193.281 +193.282 +193.283 +193.284 +194.246 +194.247 +194.248 +194.249 +194.250 +194.251 +194.252 +194.253 +194.254 +194.255 +194.256 +194.257 +194.258 +194.259 +194.260 +194.261 +194.262 +194.263 +194.264 +194.265 +194.266 +194.267 +194.268 +194.269 +194.270 +194.271 +194.272 +194.273 +194.274 +194.275 +194.276 +194.277 +194.278 +194.279 +194.280 +194.281 +194.282 +194.283 +195.245 +195.246 +195.247 +195.248 +195.249 +195.250 +195.251 +195.252 +195.253 +195.254 +195.255 +195.256 +195.257 +195.258 +195.259 +195.260 +195.261 +195.262 +195.263 +195.264 +195.265 +195.266 +195.267 +195.268 +195.269 +195.270 +195.271 +195.272 +195.273 +195.274 +195.275 +195.276 +195.277 +195.278 +195.279 +195.280 +195.281 +195.282 +195.283 +196.244 +196.245 +196.246 +196.247 +196.248 +196.249 +196.250 +196.251 +196.252 +196.253 +196.254 +196.255 +196.256 +196.257 +196.258 +196.259 +196.260 +196.261 +196.262 +196.263 +196.264 +196.265 +196.266 +196.267 +196.268 +196.269 +196.270 +196.271 +196.272 +196.273 +196.274 +196.275 +196.276 +196.277 +196.278 +196.279 +196.280 +196.281 +196.282 +196.283 +197.243 +197.244 +197.245 +197.246 +197.247 +197.248 +197.249 +197.250 +197.251 +197.252 +197.253 +197.254 +197.255 +197.256 +197.257 +197.258 +197.259 +197.260 +197.261 +197.262 +197.263 +197.264 +197.265 +197.266 +197.267 +197.268 +197.269 +197.270 +197.271 +197.272 +197.273 +197.274 +197.275 +197.276 +197.277 +197.278 +197.279 +197.280 +197.281 +197.282 +198.242 +198.243 +198.244 +198.245 +198.246 +198.247 +198.248 +198.249 +198.250 +198.251 +198.252 +198.253 +198.254 +198.255 +198.256 +198.257 +198.258 +198.259 +198.260 +198.261 +198.262 +198.263 +198.264 +198.265 +198.266 +198.267 +198.268 +198.269 +198.270 +198.271 +198.272 +198.273 +198.274 +198.275 +198.276 +198.277 +198.278 +198.279 +198.280 +198.281 +198.282 +199.242 +199.243 +199.244 +199.245 +199.246 +199.247 +199.248 +199.249 +199.250 +199.251 +199.252 +199.253 +199.254 +199.255 +199.256 +199.257 +199.258 +199.259 +199.260 +199.261 +199.262 +199.263 +199.264 +199.265 +199.266 +199.267 +199.268 +199.269 +199.270 +199.271 +199.272 +199.273 +199.274 +199.275 +199.276 +199.277 +199.278 +199.279 +199.280 +199.281 +200.241 +200.242 +200.243 +200.244 +200.245 +200.246 +200.247 +200.248 +200.249 +200.250 +200.251 +200.252 +200.253 +200.254 +200.255 +200.256 +200.257 +200.258 +200.259 +200.260 +200.261 +200.262 +200.263 +200.264 +200.265 +200.266 +200.267 +200.268 +200.269 +200.270 +200.271 +200.272 +200.273 +200.274 +200.275 +200.276 +200.277 +200.278 +200.279 +200.280 +200.281 +201.240 +201.241 +201.242 +201.243 +201.244 +201.245 +201.246 +201.247 +201.248 +201.249 +201.250 +201.251 +201.252 +201.253 +201.254 +201.255 +201.256 +201.257 +201.258 +201.259 +201.260 +201.261 +201.262 +201.263 +201.264 +201.265 +201.266 +201.267 +201.268 +201.269 +201.270 +201.271 +201.272 +201.273 +201.274 +201.275 +201.276 +201.277 +201.278 +201.279 +201.280 +202.239 +202.240 +202.241 +202.242 +202.243 +202.244 +202.245 +202.246 +202.247 +202.248 +202.249 +202.250 +202.251 +202.252 +202.253 +202.254 +202.255 +202.256 +202.257 +202.258 +202.259 +202.260 +202.261 +202.262 +202.263 +202.264 +202.265 +202.266 +202.267 +202.268 +202.269 +202.270 +202.271 +202.272 +202.273 +202.274 +202.275 +202.276 +202.277 +202.278 +202.279 +202.280 +203.239 +203.240 +203.241 +203.242 +203.243 +203.244 +203.245 +203.246 +203.247 +203.248 +203.249 +203.250 +203.251 +203.252 +203.253 +203.254 +203.255 +203.256 +203.257 +203.258 +203.259 +203.260 +203.261 +203.262 +203.263 +203.264 +203.265 +203.266 +203.267 +203.268 +203.269 +203.270 +203.271 +203.272 +203.273 +203.274 +203.275 +203.276 +203.277 +203.278 +203.279 +204.238 +204.239 +204.240 +204.241 +204.242 +204.243 +204.244 +204.245 +204.246 +204.247 +204.248 +204.249 +204.250 +204.251 +204.252 +204.253 +204.254 +204.255 +204.256 +204.257 +204.258 +204.259 +204.260 +204.261 +204.262 +204.263 +204.264 +204.265 +204.266 +204.267 +204.268 +204.269 +204.270 +204.271 +204.272 +204.273 +204.274 +204.275 +204.276 +204.277 +204.278 +204.279 +205.238 +205.239 +205.240 +205.241 +205.242 +205.243 +205.244 +205.245 +205.246 +205.247 +205.248 +205.249 +205.250 +205.251 +205.252 +205.253 +205.254 +205.255 +205.256 +205.257 +205.258 +205.259 +205.260 +205.261 +205.262 +205.263 +205.264 +205.265 +205.266 +205.267 +205.268 +205.269 +205.270 +205.271 +205.272 +205.273 +205.274 +205.275 +205.276 +205.277 +205.278 +206.238 +206.239 +206.240 +206.241 +206.242 +206.243 +206.244 +206.245 +206.246 +206.247 +206.248 +206.249 +206.250 +206.251 +206.252 +206.253 +206.254 +206.255 +206.256 +206.257 +206.258 +206.259 +206.260 +206.261 +206.262 +206.263 +206.264 +206.265 +206.266 +206.267 +206.268 +206.269 +206.270 +206.271 +206.272 +206.273 +206.274 +206.275 +206.276 +206.277 +206.278 +207.238 +207.239 +207.240 +207.241 +207.242 +207.243 +207.244 +207.245 +207.246 +207.247 +207.248 +207.249 +207.250 +207.251 +207.252 +207.253 +207.254 +207.255 +207.256 +207.257 +207.258 +207.259 +207.260 +207.261 +207.262 +207.263 +207.264 +207.265 +207.266 +207.267 +207.268 +207.269 +207.270 +207.271 +207.272 +207.273 +207.274 +207.275 +207.276 +207.277 +208.238 +208.239 +208.240 +208.241 +208.242 +208.243 +208.244 +208.245 +208.246 +208.247 +208.248 +208.249 +208.250 +208.251 +208.252 +208.253 +208.254 +208.255 +208.256 +208.257 +208.258 +208.259 +208.260 +208.261 +208.262 +208.263 +208.264 +208.265 +208.266 +208.267 +208.268 +208.269 +208.270 +208.271 +208.272 +208.273 +208.274 +208.275 +208.276 +208.277 +209.238 +209.239 +209.240 +209.241 +209.242 +209.243 +209.244 +209.245 +209.246 +209.247 +209.248 +209.249 +209.250 +209.251 +209.252 +209.253 +209.254 +209.255 +209.256 +209.257 +209.258 +209.259 +209.260 +209.261 +209.262 +209.263 +209.264 +209.265 +209.266 +209.267 +209.268 +209.269 +209.270 +209.271 +209.272 +209.273 +209.274 +209.275 +209.276 +210.238 +210.239 +210.240 +210.241 +210.242 +210.243 +210.244 +210.245 +210.246 +210.247 +210.248 +210.249 +210.250 +210.251 +210.252 +210.253 +210.254 +210.255 +210.256 +210.257 +210.258 +210.259 +210.260 +210.261 +210.262 +210.263 +210.264 +210.265 +210.266 +210.267 +210.268 +210.269 +210.270 +210.271 +210.272 +210.273 +210.274 +210.275 +210.276 +211.238 +211.239 +211.240 +211.241 +211.242 +211.243 +211.244 +211.245 +211.246 +211.247 +211.248 +211.249 +211.250 +211.251 +211.252 +211.253 +211.254 +211.255 +211.256 +211.257 +211.258 +211.259 +211.260 +211.261 +211.262 +211.263 +211.264 +211.265 +211.266 +211.267 +211.268 +211.269 +211.270 +211.271 +211.272 +211.273 +211.274 +211.275 +212.238 +212.239 +212.240 +212.241 +212.242 +212.243 +212.244 +212.245 +212.246 +212.247 +212.248 +212.249 +212.250 +212.251 +212.252 +212.253 +212.254 +212.255 +212.256 +212.257 +212.258 +212.259 +212.260 +212.261 +212.262 +212.263 +212.264 +212.265 +212.266 +212.267 +212.268 +212.269 +212.270 +212.271 +212.272 +212.273 +212.274 +212.275 +213.238 +213.239 +213.240 +213.241 +213.242 +213.243 +213.244 +213.245 +213.246 +213.247 +213.248 +213.249 +213.250 +213.251 +213.252 +213.253 +213.254 +213.255 +213.256 +213.257 +213.258 +213.259 +213.260 +213.261 +213.262 +213.263 +213.264 +213.265 +213.266 +213.267 +213.268 +213.269 +213.270 +213.271 +213.272 +213.273 +213.274 +214.238 +214.239 +214.240 +214.241 +214.242 +214.243 +214.244 +214.245 +214.246 +214.247 +214.248 +214.249 +214.250 +214.251 +214.252 +214.253 +214.254 +214.255 +214.256 +214.257 +214.258 +214.259 +214.260 +214.261 +214.262 +214.263 +214.264 +214.265 +214.266 +214.267 +214.268 +214.269 +214.270 +214.271 +214.272 +214.273 +214.274 +215.238 +215.239 +215.240 +215.241 +215.242 +215.243 +215.244 +215.245 +215.246 +215.247 +215.248 +215.249 +215.250 +215.251 +215.252 +215.253 +215.254 +215.255 +215.256 +215.257 +215.258 +215.259 +215.260 +215.261 +215.262 +215.263 +215.264 +215.265 +215.266 +215.267 +215.268 +215.269 +215.270 +215.271 +215.272 +215.273 +216.238 +216.239 +216.240 +216.241 +216.242 +216.243 +216.244 +216.245 +216.246 +216.247 +216.248 +216.249 +216.250 +216.251 +216.252 +216.253 +216.254 +216.255 +216.256 +216.257 +216.258 +216.259 +216.260 +216.261 +216.262 +216.263 +216.264 +216.265 +216.266 +216.267 +216.268 +216.269 +216.270 +216.271 +216.272 +216.273 +217.238 +217.239 +217.240 +217.241 +217.242 +217.243 +217.244 +217.245 +217.246 +217.247 +217.248 +217.249 +217.250 +217.251 +217.252 +217.253 +217.254 +217.255 +217.256 +217.257 +217.258 +217.259 +217.260 +217.261 +217.262 +217.263 +217.264 +217.265 +217.266 +217.267 +217.268 +217.269 +217.270 +217.271 +217.272 +218.238 +218.239 +218.240 +218.241 +218.242 +218.243 +218.244 +218.245 +218.246 +218.247 +218.248 +218.249 +218.250 +218.251 +218.252 +218.253 +218.254 +218.255 +218.256 +218.257 +218.258 +218.259 +218.260 +218.261 +218.262 +218.263 +218.264 +218.265 +218.266 +218.267 +218.268 +218.269 +218.270 +218.271 +218.272 +219.238 +219.239 +219.240 +219.241 +219.242 +219.243 +219.244 +219.245 +219.246 +219.247 +219.248 +219.249 +219.250 +219.251 +219.252 +219.253 +219.254 +219.255 +219.256 +219.257 +219.258 +219.259 +219.260 +219.261 +219.262 +219.263 +219.264 +219.265 +219.266 +219.267 +219.268 +219.269 +219.270 +219.271 +220.238 +220.239 +220.240 +220.241 +220.242 +220.243 +220.244 +220.245 +220.246 +220.247 +220.248 +220.249 +220.250 +220.251 +220.252 +220.253 +220.254 +220.255 +220.256 +220.257 +220.258 +220.259 +220.260 +220.261 +220.262 +220.263 +220.264 +220.265 +220.266 +220.267 +220.268 +220.269 +220.270 +220.271 +221.238 +221.239 +221.240 +221.241 +221.242 +221.243 +221.244 +221.245 +221.246 +221.247 +221.248 +221.249 +221.250 +221.251 +221.252 +221.253 +221.254 +221.255 +221.256 +221.257 +221.258 +221.259 +221.260 +221.261 +221.262 +221.263 +221.264 +221.265 +221.266 +221.267 +221.268 +221.269 +221.270 +222.238 +222.239 +222.240 +222.241 +222.242 +222.243 +222.244 +222.245 +222.246 +222.247 +222.248 +222.249 +222.250 +222.251 +222.252 +222.253 +222.254 +222.255 +222.256 +222.257 +222.258 +222.259 +222.260 +222.261 +222.262 +222.263 +222.264 +222.265 +222.266 +222.267 +222.268 +222.269 +222.270 +223.238 +223.239 +223.240 +223.241 +223.242 +223.243 +223.244 +223.245 +223.246 +223.247 +223.248 +223.249 +223.250 +223.251 +223.252 +223.253 +223.254 +223.255 +223.256 +223.257 +223.258 +223.259 +223.260 +223.261 +223.262 +223.263 +223.264 +223.265 +223.266 +223.267 +223.268 +223.269 +224.238 +224.239 +224.240 +224.241 +224.242 +224.243 +224.244 +224.245 +224.246 +224.247 +224.248 +224.249 +224.250 +224.251 +224.252 +224.253 +224.254 +224.255 +224.256 +224.257 +224.258 +224.259 +224.260 +224.261 +224.262 +224.263 +224.264 +224.265 +224.266 +224.267 +224.268 +224.269 +225.238 +225.239 +225.240 +225.241 +225.242 +225.243 +225.244 +225.245 +225.246 +225.247 +225.248 +225.249 +225.250 +225.251 +225.252 +225.253 +225.254 +225.255 +225.256 +225.257 +225.258 +225.259 +225.260 +225.261 +225.262 +225.263 +225.264 +225.265 +225.266 +225.267 +225.268 +226.238 +226.239 +226.240 +226.241 +226.242 +226.243 +226.244 +226.245 +226.246 +226.247 +226.248 +226.249 +226.250 +226.251 +226.252 +226.253 +226.254 +226.255 +226.256 +226.257 +226.258 +226.259 +226.260 +226.261 +226.262 +226.263 +226.264 +226.265 +226.266 +226.267 +226.268 +227.238 +227.239 +227.240 +227.241 +227.242 +227.243 +227.244 +227.245 +227.246 +227.247 +227.248 +227.249 +227.250 +227.251 +227.252 +227.253 +227.254 +227.255 +227.256 +227.257 +227.258 +227.259 +227.260 +227.261 +227.262 +227.263 +227.264 +227.265 +227.266 +227.267 +228.238 +228.239 +228.240 +228.241 +228.242 +228.243 +228.244 +228.245 +228.246 +228.247 +228.248 +228.249 +228.250 +228.251 +228.252 +228.253 +228.254 +228.255 +228.256 +228.257 +228.258 +228.259 +228.260 +228.261 +228.262 +228.263 +228.264 +228.265 +228.266 +228.267 +229.238 +229.239 +229.240 +229.241 +229.242 +229.243 +229.244 +229.245 +229.246 +229.247 +229.248 +229.249 +229.250 +229.251 +229.252 +229.253 +229.254 +229.255 +229.256 +229.257 +229.258 +229.259 +229.260 +229.261 +229.262 +229.263 +229.264 +229.265 +229.266 +230.238 +230.239 +230.240 +230.241 +230.242 +230.243 +230.244 +230.245 +230.246 +230.247 +230.248 +230.249 +230.250 +230.251 +230.252 +230.253 +230.254 +230.255 +230.256 +230.257 +230.258 +230.259 +230.260 +230.261 +230.262 +230.263 +230.264 +230.265 +230.266 +231.238 +231.239 +231.240 +231.241 +231.242 +231.243 +231.244 +231.245 +231.246 +231.247 +231.248 +231.249 +231.250 +231.251 +231.252 +231.253 +231.254 +231.255 +231.256 +231.257 +231.258 +231.259 +231.260 +231.261 +231.262 +231.263 +231.264 +231.265 +232.238 +232.239 +232.240 +232.241 +232.242 +232.243 +232.244 +232.245 +232.246 +232.247 +232.248 +232.249 +232.250 +232.251 +232.252 +232.253 +232.254 +232.255 +232.256 +232.257 +232.258 +232.259 +232.260 +232.261 +232.262 +232.263 +232.264 +232.265 +233.238 +233.239 +233.240 +233.241 +233.242 +233.243 +233.244 +233.245 +233.246 +233.247 +233.248 +233.249 +233.250 +233.251 +233.252 +233.253 +233.254 +233.255 +233.256 +233.257 +233.258 +233.259 +233.260 +233.261 +233.262 +233.263 +233.264 +234.238 +234.239 +234.240 +234.241 +234.242 +234.243 +234.244 +234.245 +234.246 +234.247 +234.248 +234.249 +234.250 +234.251 +234.252 +234.253 +234.254 +234.255 +234.256 +234.257 +234.258 +234.259 +234.260 +234.261 +234.262 +234.263 +234.264 +235.238 +235.239 +235.240 +235.241 +235.242 +235.243 +235.244 +235.245 +235.246 +235.247 +235.248 +235.249 +235.250 +235.251 +235.252 +235.253 +235.254 +235.255 +235.256 +235.257 +235.258 +235.259 +235.260 +235.261 +235.262 +235.263 +236.238 +236.239 +236.240 +236.241 +236.242 +236.243 +236.244 +236.245 +236.246 +236.247 +236.248 +236.249 +236.250 +236.251 +236.252 +236.253 +236.254 +236.255 +236.256 +236.257 +236.258 +236.259 +236.260 +236.261 +236.262 +237.238 +237.239 +237.240 +237.241 +237.242 +237.243 +237.244 +237.245 +237.246 +237.247 +237.248 +237.249 +237.250 +237.251 +237.252 +237.253 +237.254 +237.255 +237.256 +237.257 +237.258 +237.259 +237.260 +237.261 +237.262 +238.238 +238.239 +238.240 +238.241 +238.242 +238.243 +238.244 +238.245 +238.246 +238.247 +238.248 +238.249 +238.250 +238.251 +238.252 +238.253 +238.254 +238.255 +238.256 +238.257 +238.258 +238.259 +238.260 +238.261 +239.238 +239.239 +239.240 +239.241 +239.242 +239.243 +239.244 +239.245 +239.246 +239.247 +239.248 +239.249 +239.250 +239.251 +239.252 +239.253 +239.254 +239.255 +239.256 +239.257 +239.258 +239.259 +239.260 +239.261 +240.238 +240.239 +240.240 +240.241 +240.242 +240.243 +240.244 +240.245 +240.246 +240.247 +240.248 +240.249 +240.250 +240.251 +240.252 +240.253 +240.254 +240.255 +240.256 +240.257 +240.258 +240.259 +240.260 +241.238 +241.239 +241.240 +241.241 +241.242 +241.243 +241.244 +241.245 +241.246 +241.247 +241.248 +241.249 +241.250 +241.251 +241.252 +241.253 +241.254 +241.255 +241.256 +241.257 +241.258 +241.259 +241.260 +242.238 +242.239 +242.240 +242.241 +242.242 +242.243 +242.244 +242.245 +242.246 +242.247 +242.248 +242.249 +242.250 +242.251 +242.252 +242.253 +242.254 +242.255 +242.256 +242.257 +242.258 +242.259 +243.238 +243.239 +243.240 +243.241 +243.242 +243.243 +243.244 +243.245 +243.246 +243.247 +243.248 +243.249 +243.250 +243.251 +243.252 +243.253 +243.254 +243.255 +243.256 +243.257 +243.258 +243.259 +244.238 +244.239 +244.240 +244.241 +244.242 +244.243 +244.244 +244.245 +244.246 +244.247 +244.248 +244.249 +244.250 +244.251 +244.252 +244.253 +244.254 +244.255 +244.256 +244.257 +244.258 +245.238 +245.239 +245.240 +245.241 +245.242 +245.243 +245.244 +245.245 +245.246 +245.247 +245.248 +245.249 +245.250 +245.251 +245.252 +245.253 +245.254 +245.255 +245.256 +245.257 +246.239 +246.240 +246.241 +246.242 +246.243 +246.244 +246.245 +246.246 +246.247 +246.248 +246.249 +246.250 +246.251 +246.252 +246.253 +246.254 +246.255 +246.256 +246.257 +247.239 +247.240 +247.241 +247.242 +247.243 +247.244 +247.245 +247.246 +247.247 +247.248 +247.249 +247.250 +247.251 +247.252 +247.253 +247.254 +247.255 +247.256 +248.239 +248.240 +248.241 +248.242 +248.243 +248.244 +248.245 +248.246 +248.247 +248.248 +248.249 +248.250 +248.251 +248.252 +248.253 +248.254 +248.255 +248.256 +249.238 +249.239 +249.240 +249.241 +249.242 +249.243 +249.244 +249.245 +249.246 +249.247 +249.248 +249.249 +249.250 +249.251 +249.252 +249.253 +249.254 +249.255 +250.238 +250.239 +250.240 +250.241 +250.242 +250.243 +250.244 +250.245 +250.246 +250.247 +250.248 +250.249 +250.250 +250.251 +250.252 +250.253 +250.254 +251.238 +251.239 +251.240 +251.241 +251.242 +251.243 +251.244 +251.245 +251.246 +251.247 +251.248 +251.249 +251.250 +251.251 +251.252 +251.253 +252.238 +252.239 +252.240 +252.241 +252.242 +252.243 +252.244 +252.245 +252.246 +252.247 +252.248 +252.249 +252.250 +252.251 +252.252 +252.253 +253.238 +253.239 +253.240 +253.241 +253.242 +253.243 +253.244 +253.245 +253.246 +253.247 +253.248 +253.249 +253.250 +253.251 +253.252 +254.238 +254.239 +254.240 +254.241 +254.242 +254.243 +254.244 +254.245 +254.246 +254.247 +254.248 +254.249 +254.250 +254.251 +255.238 +255.239 +255.240 +255.241 +255.242 +255.243 +255.244 +255.245 +255.246 +255.247 +255.248 +255.249 +255.250 +255.251 +256.238 +256.239 +256.240 +256.241 +256.242 +256.243 +256.244 +256.245 +256.246 +256.247 +256.248 +256.249 +256.250 +256.251 +257.238 +257.239 +257.240 +257.241 +257.242 +257.243 +257.244 +257.245 +257.246 +257.247 +257.248 +257.249 +257.250 +258.238 +258.239 +258.240 +258.241 +258.242 +258.243 +258.244 +258.245 +258.246 +258.247 +258.248 +258.249 +258.250 +259.238 +259.239 +259.240 +259.241 +259.242 +259.243 +259.244 +259.245 +259.246 +259.247 +259.248 +259.249 +260.238 +260.239 +260.240 +260.241 +260.242 +260.243 +260.244 +260.245 +260.246 +260.247 +260.248 +261.238 +261.239 +261.240 +261.241 +261.242 +261.243 +261.244 +261.245 +261.246 +261.247 +261.248 +262.238 +262.239 +262.240 +262.241 +262.242 +262.243 +262.244 +262.245 +262.246 +262.247 +263.238 +263.239 +263.240 +263.241 +263.242 +263.243 +263.244 +263.245 +263.246 +264.238 +264.239 +264.240 +264.241 +264.242 +264.243 +264.244 +264.245 +265.238 +265.239 +265.240 +265.241 +265.242 +265.243 +265.244 +266.238 +266.239 +266.240 +266.241 +266.242 +266.243 +266.244 +267.238 +267.239 +267.240 +267.241 +267.242 +267.243 +268.238 +268.239 +268.240 +268.241 +268.242 +268.243 +269.238 +269.239 +269.240 +269.241 +269.242 +270.238 +270.239 +270.240 +270.241 +271.238 +271.239 +271.240 +272.238 +272.239 diff --git a/auxdir/CFIS/tiles_202106/tiles_P2.txt b/auxdir/CFIS/tiles_202106/tiles_P2.txt new file mode 100644 index 000000000..564121a79 --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P2.txt @@ -0,0 +1,1514 @@ +000.238 +000.239 +000.240 +000.241 +000.242 +000.243 +000.244 +000.245 +000.246 +000.247 +000.248 +000.249 +000.250 +000.251 +000.252 +000.253 +000.254 +000.255 +001.238 +001.239 +001.240 +001.241 +001.242 +001.243 +001.244 +001.245 +001.246 +001.247 +001.248 +001.249 +001.250 +001.251 +001.252 +001.253 +001.254 +001.255 +002.238 +002.239 +002.240 +002.241 +002.242 +002.243 +002.244 +002.245 +002.246 +002.247 +002.248 +002.249 +002.250 +002.251 +002.252 +002.253 +002.254 +002.255 +003.238 +003.239 +003.240 +003.241 +003.242 +003.243 +003.244 +003.245 +003.246 +003.247 +003.248 +003.249 +003.250 +003.251 +003.252 +003.253 +003.254 +003.255 +004.238 +004.239 +004.240 +004.241 +004.242 +004.243 +004.244 +004.245 +004.246 +004.247 +004.248 +004.249 +004.250 +004.251 +004.252 +004.253 +004.254 +004.255 +005.238 +005.239 +005.240 +005.241 +005.242 +005.243 +005.244 +005.245 +005.246 +005.247 +005.248 +005.249 +005.250 +005.251 +005.252 +005.253 +005.254 +005.255 +006.238 +006.239 +006.240 +006.241 +006.242 +006.243 +006.244 +006.245 +006.246 +006.247 +006.248 +006.249 +006.250 +006.251 +006.252 +006.253 +006.254 +006.255 +007.238 +007.239 +007.240 +007.241 +007.242 +007.243 +007.244 +007.245 +007.246 +007.247 +007.248 +007.249 +007.250 +007.251 +007.252 +007.253 +007.254 +007.255 +008.238 +008.239 +008.240 +008.241 +008.242 +008.243 +008.244 +008.245 +008.246 +008.247 +008.248 +008.249 +008.250 +008.251 +008.252 +008.253 +008.254 +008.255 +009.238 +009.239 +009.240 +009.241 +009.242 +009.243 +009.244 +009.245 +009.246 +009.247 +009.248 +009.249 +009.250 +009.251 +009.252 +009.253 +009.254 +009.255 +010.238 +010.239 +010.240 +010.241 +010.242 +010.243 +010.244 +010.245 +010.246 +010.247 +010.248 +010.249 +010.250 +010.251 +010.252 +010.253 +010.254 +010.255 +011.238 +011.239 +011.240 +011.241 +011.242 +011.243 +011.244 +011.245 +011.246 +011.247 +011.248 +011.249 +011.250 +011.251 +011.252 +011.253 +011.254 +011.255 +012.238 +012.239 +012.240 +012.241 +012.242 +012.243 +012.244 +012.245 +012.246 +012.247 +012.248 +012.249 +012.250 +012.251 +012.252 +012.253 +012.254 +012.255 +013.238 +013.239 +013.240 +013.241 +013.242 +013.243 +013.244 +013.245 +013.246 +013.247 +013.248 +013.249 +013.250 +013.251 +013.252 +013.253 +013.254 +013.255 +014.238 +014.239 +014.240 +014.241 +014.242 +014.243 +014.244 +014.245 +014.246 +014.247 +014.248 +014.249 +014.250 +014.251 +014.252 +014.253 +014.254 +014.255 +015.238 +015.239 +015.240 +015.241 +015.242 +015.243 +015.244 +015.245 +015.246 +015.247 +015.248 +015.249 +015.250 +015.251 +015.252 +015.253 +015.254 +015.255 +016.238 +016.239 +016.240 +016.241 +016.242 +016.243 +016.244 +016.245 +016.246 +016.247 +016.248 +016.249 +016.250 +016.251 +016.252 +016.253 +016.254 +016.255 +017.238 +017.239 +017.240 +017.241 +017.242 +017.243 +017.244 +017.245 +017.246 +017.247 +017.248 +017.249 +017.250 +017.251 +017.252 +017.253 +017.254 +017.255 +018.238 +018.239 +018.240 +018.241 +018.242 +018.243 +018.244 +018.245 +018.246 +018.247 +018.248 +018.249 +018.250 +018.251 +018.252 +018.253 +018.254 +018.255 +019.238 +019.239 +019.240 +019.241 +019.242 +019.243 +019.244 +019.245 +019.246 +019.247 +019.248 +019.249 +019.250 +019.251 +019.252 +019.253 +019.254 +019.255 +020.238 +020.239 +020.240 +020.241 +020.242 +020.243 +020.244 +020.245 +020.246 +020.247 +020.248 +020.249 +020.250 +020.251 +020.252 +020.253 +020.254 +020.255 +021.238 +021.239 +021.240 +021.241 +021.242 +021.243 +021.244 +021.245 +021.246 +021.247 +021.248 +021.249 +021.250 +021.251 +021.252 +021.253 +021.254 +021.255 +022.238 +022.239 +022.240 +022.241 +022.242 +022.243 +022.244 +022.245 +022.246 +022.247 +022.248 +022.249 +022.250 +022.251 +022.252 +022.253 +022.254 +022.255 +023.238 +023.239 +023.240 +023.241 +023.242 +023.243 +023.244 +023.245 +023.246 +023.247 +023.248 +023.249 +023.250 +023.251 +023.252 +023.253 +023.254 +023.255 +024.238 +024.239 +024.240 +024.241 +024.242 +024.243 +024.244 +024.245 +024.246 +024.247 +024.248 +024.249 +024.250 +024.251 +024.252 +024.253 +024.254 +024.255 +025.238 +025.239 +025.240 +025.241 +025.242 +025.243 +025.244 +025.245 +025.246 +025.247 +025.248 +025.249 +025.250 +025.251 +025.252 +025.253 +025.254 +025.255 +026.238 +026.239 +026.240 +026.241 +026.242 +026.243 +026.244 +026.245 +026.246 +026.247 +026.248 +026.249 +026.250 +026.251 +026.252 +026.253 +026.254 +026.255 +027.238 +027.239 +027.240 +027.241 +027.242 +027.243 +027.244 +027.245 +027.246 +027.247 +027.248 +027.249 +027.250 +027.251 +027.252 +027.253 +027.254 +027.255 +028.238 +028.239 +028.240 +028.241 +028.242 +028.243 +028.244 +028.245 +028.246 +028.247 +028.248 +028.249 +028.250 +028.251 +028.252 +028.253 +028.254 +028.255 +029.238 +029.239 +029.240 +029.241 +029.242 +029.243 +029.244 +029.245 +029.246 +029.247 +029.248 +029.249 +029.250 +029.251 +029.252 +029.253 +029.254 +029.255 +030.238 +030.239 +030.240 +030.241 +030.242 +030.243 +030.244 +030.245 +030.246 +030.247 +030.248 +030.249 +030.250 +030.251 +030.252 +030.253 +030.254 +030.255 +031.238 +031.239 +031.240 +031.241 +031.242 +031.243 +031.244 +031.245 +031.246 +031.247 +031.248 +031.249 +031.250 +031.251 +031.252 +031.253 +031.254 +031.255 +032.238 +032.239 +032.240 +032.241 +032.242 +032.243 +032.244 +032.245 +032.246 +032.247 +032.248 +032.249 +032.250 +032.251 +032.252 +032.253 +032.254 +032.255 +033.238 +033.239 +033.240 +033.241 +033.242 +033.243 +033.244 +033.245 +033.246 +033.247 +033.248 +033.249 +033.250 +033.251 +033.252 +033.253 +033.254 +033.255 +034.238 +034.239 +034.240 +034.241 +034.242 +034.243 +034.244 +034.245 +034.246 +034.247 +034.248 +034.249 +034.250 +034.251 +034.252 +034.253 +034.254 +034.255 +035.238 +035.239 +035.240 +035.241 +035.242 +035.243 +035.244 +035.245 +035.246 +035.247 +035.248 +035.249 +035.250 +035.251 +035.252 +035.253 +035.254 +035.255 +036.238 +036.239 +036.240 +036.241 +036.242 +036.243 +036.244 +036.245 +036.246 +036.247 +036.248 +036.249 +036.250 +036.251 +036.252 +036.253 +037.238 +037.239 +037.240 +037.241 +037.242 +037.243 +037.244 +037.245 +037.246 +037.247 +037.248 +037.249 +037.250 +037.251 +037.252 +037.253 +038.238 +038.239 +038.240 +038.241 +038.242 +038.243 +038.244 +038.245 +038.246 +038.247 +038.248 +038.249 +038.250 +038.251 +038.252 +038.253 +039.238 +039.239 +039.240 +039.241 +039.242 +039.243 +039.244 +039.245 +039.246 +039.247 +039.248 +039.249 +039.250 +039.251 +039.252 +039.253 +040.238 +040.239 +040.240 +040.241 +040.242 +040.243 +040.244 +040.245 +040.246 +040.247 +040.248 +040.249 +040.250 +040.251 +040.252 +040.253 +041.238 +041.239 +041.240 +041.241 +041.242 +041.243 +041.244 +041.245 +041.246 +041.247 +041.248 +041.249 +041.250 +041.251 +041.252 +041.253 +042.238 +042.239 +042.240 +042.241 +042.242 +042.243 +042.244 +042.245 +042.246 +042.247 +042.248 +042.249 +042.250 +042.251 +042.252 +042.253 +043.238 +043.239 +043.240 +043.241 +043.242 +043.243 +043.244 +043.245 +043.246 +043.247 +043.248 +043.249 +043.250 +043.251 +043.252 +043.253 +044.238 +044.239 +044.240 +044.241 +044.242 +044.243 +044.244 +044.245 +044.246 +044.247 +044.248 +044.249 +044.250 +044.251 +044.252 +044.253 +045.238 +045.239 +045.240 +045.241 +045.242 +045.243 +045.244 +045.245 +045.246 +045.247 +045.248 +045.249 +045.250 +045.251 +045.252 +045.253 +046.238 +046.239 +046.240 +046.241 +046.242 +046.243 +046.244 +046.245 +046.246 +046.247 +046.248 +046.249 +046.250 +046.251 +046.252 +046.253 +047.238 +047.239 +047.240 +047.241 +047.242 +047.243 +047.244 +047.245 +047.246 +047.247 +047.248 +047.249 +047.250 +047.251 +047.252 +047.253 +048.238 +048.239 +048.240 +048.241 +048.242 +048.243 +048.244 +048.245 +048.246 +048.247 +048.248 +048.249 +048.250 +048.251 +048.252 +048.253 +049.238 +049.239 +049.240 +049.241 +049.242 +049.243 +049.244 +049.245 +049.246 +049.247 +049.248 +049.249 +049.250 +049.251 +050.238 +050.239 +050.240 +050.241 +050.242 +050.243 +050.244 +050.245 +050.246 +050.247 +050.248 +050.249 +050.250 +050.251 +051.238 +051.239 +051.240 +051.241 +051.242 +051.243 +051.244 +051.245 +051.246 +051.247 +051.248 +051.249 +051.250 +051.251 +052.238 +052.239 +052.240 +052.241 +052.242 +052.243 +052.244 +052.245 +052.246 +052.247 +052.248 +052.249 +052.250 +052.251 +053.238 +053.239 +053.240 +053.241 +053.242 +053.243 +053.244 +053.245 +053.246 +053.247 +053.248 +053.249 +053.250 +053.251 +054.238 +054.239 +054.240 +054.241 +054.242 +054.243 +054.244 +054.245 +054.246 +054.247 +054.248 +054.249 +054.250 +054.251 +055.238 +055.239 +055.240 +055.241 +055.242 +055.243 +055.244 +055.245 +055.246 +055.247 +055.248 +055.249 +055.250 +055.251 +056.238 +056.239 +056.240 +056.241 +056.242 +056.243 +056.244 +056.245 +056.246 +056.247 +056.248 +056.249 +056.250 +056.251 +057.238 +057.239 +057.240 +057.241 +057.242 +057.243 +057.244 +057.245 +057.246 +057.247 +057.248 +057.249 +057.250 +058.238 +058.239 +058.240 +058.241 +058.242 +058.243 +058.244 +058.245 +058.246 +058.247 +058.248 +058.249 +058.250 +059.238 +059.239 +059.240 +059.241 +059.242 +059.243 +059.244 +059.245 +059.246 +059.247 +059.248 +059.249 +059.250 +060.238 +060.239 +060.240 +060.241 +060.242 +060.243 +060.244 +060.245 +060.246 +060.247 +060.248 +060.249 +060.250 +061.238 +061.239 +061.240 +061.241 +061.242 +061.243 +061.244 +061.245 +061.246 +061.247 +061.248 +062.238 +062.239 +062.240 +062.241 +062.242 +062.243 +062.244 +062.245 +062.246 +062.247 +062.248 +063.238 +063.239 +063.240 +063.241 +063.242 +063.243 +063.244 +063.245 +063.246 +063.247 +064.238 +064.239 +064.240 +064.241 +064.242 +065.240 +065.241 +567.255 +568.253 +568.255 +569.253 +569.255 +570.251 +570.253 +570.254 +570.255 +571.250 +571.251 +571.252 +571.253 +571.254 +571.255 +572.250 +572.251 +572.252 +572.253 +572.254 +572.255 +573.248 +573.250 +573.251 +573.252 +573.253 +573.254 +574.248 +574.249 +574.250 +574.251 +574.252 +574.253 +574.254 +575.248 +575.249 +575.250 +575.251 +575.252 +575.253 +575.254 +576.246 +576.247 +576.248 +576.249 +576.250 +576.251 +576.252 +576.253 +576.254 +577.246 +577.247 +577.248 +577.249 +577.250 +577.251 +577.252 +577.253 +578.246 +578.247 +578.248 +578.249 +578.250 +578.251 +578.252 +578.253 +579.244 +579.245 +579.246 +579.247 +579.248 +579.249 +579.250 +579.251 +579.252 +579.253 +580.244 +580.245 +580.246 +580.247 +580.248 +580.249 +580.250 +580.251 +580.252 +580.253 +581.244 +581.245 +581.246 +581.247 +581.248 +581.249 +581.250 +581.251 +581.252 +582.243 +582.244 +582.245 +582.246 +582.247 +582.248 +582.249 +582.250 +582.251 +582.252 +583.243 +583.244 +583.245 +583.246 +583.247 +583.248 +583.249 +583.250 +583.251 +583.252 +584.242 +584.243 +584.244 +584.245 +584.246 +584.247 +584.248 +584.249 +584.250 +584.251 +584.252 +585.242 +585.243 +585.244 +585.245 +585.246 +585.247 +585.248 +585.249 +585.250 +585.251 +586.242 +586.243 +586.244 +586.245 +586.246 +586.247 +586.248 +586.249 +586.250 +586.251 +587.241 +587.242 +587.243 +587.244 +587.245 +587.246 +587.247 +587.248 +587.249 +587.250 +587.251 +588.241 +588.242 +588.243 +588.244 +588.245 +588.246 +588.247 +588.248 +588.249 +588.250 +589.241 +589.242 +589.243 +589.244 +589.245 +589.246 +589.247 +589.248 +589.249 +589.250 +590.240 +590.241 +590.242 +590.243 +590.244 +590.245 +590.246 +590.247 +590.248 +590.249 +590.250 +591.240 +591.241 +591.242 +591.243 +591.244 +591.245 +591.246 +591.247 +591.248 +591.249 +591.250 +592.240 +592.241 +592.242 +592.243 +592.244 +592.245 +592.246 +592.247 +592.248 +592.249 +593.239 +593.240 +593.241 +593.242 +593.243 +593.244 +593.245 +593.246 +593.247 +593.248 +593.249 +594.239 +594.240 +594.241 +594.242 +594.243 +594.244 +594.245 +594.246 +594.247 +594.248 +594.249 +595.239 +595.240 +595.241 +595.242 +595.243 +595.244 +595.245 +595.246 +595.247 +595.248 +596.238 +596.239 +596.240 +596.241 +596.242 +596.243 +596.244 +596.245 +596.246 +596.247 +596.248 +597.238 +597.239 +597.240 +597.241 +597.242 +597.243 +597.244 +597.245 +597.246 +597.247 +597.248 +598.238 +598.239 +598.240 +598.241 +598.242 +598.243 +598.244 +598.245 +598.246 +598.247 +598.248 +599.238 +599.239 +599.240 +599.241 +599.242 +599.243 +599.244 +599.245 +599.246 +599.247 +600.238 +600.239 +600.240 +600.241 +600.242 +600.243 +600.244 +600.245 +600.246 +600.247 +601.238 +601.239 +601.240 +601.241 +601.242 +601.243 +601.244 +601.245 +601.246 +601.247 +602.238 +602.239 +602.240 +602.241 +602.242 +602.243 +602.244 +602.245 +602.246 +603.238 +603.239 +603.240 +603.241 +603.242 +603.243 +603.244 +603.245 +603.246 +604.238 +604.239 +604.240 +604.241 +604.242 +604.243 +604.244 +604.245 +604.246 +605.238 +605.239 +605.240 +605.241 +605.242 +605.243 +605.244 +605.245 +606.238 +606.239 +606.240 +606.241 +606.242 +606.243 +606.244 +606.245 +607.238 +607.239 +607.240 +607.241 +607.242 +607.243 +607.244 +607.245 +608.238 +608.239 +608.240 +608.241 +608.242 +608.243 +608.244 +608.245 +609.238 +609.239 +609.240 +609.241 +609.242 +609.243 +609.244 +610.238 +610.239 +610.240 +610.241 +610.242 +610.243 +610.244 +611.238 +611.239 +611.240 +611.241 +611.242 +611.243 +611.244 +612.238 +612.239 +612.240 +612.241 +612.242 +612.243 +613.238 +613.239 +613.240 +613.241 +613.242 +613.243 +614.238 +614.239 +614.240 +614.241 +614.242 +614.243 +615.238 +615.239 +615.240 +615.241 +615.242 +615.243 +616.238 +616.239 +616.240 +616.241 +616.242 +617.238 +617.239 +617.240 +617.241 +617.242 +618.238 +618.239 +618.240 +618.241 +618.242 +619.238 +619.239 +619.240 +619.241 +620.238 +620.239 +620.240 +620.241 +621.238 +621.239 +621.240 +621.241 +622.238 +622.239 +622.240 +622.241 +623.238 +623.239 +623.240 +624.238 +624.239 +624.240 +625.238 +625.239 +625.240 +626.238 +626.239 +627.238 +627.239 +628.238 +629.238 +630.238 diff --git a/auxdir/CFIS/tiles_202106/tiles_P3.txt b/auxdir/CFIS/tiles_202106/tiles_P3.txt new file mode 100644 index 000000000..8be695dd5 --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P3.txt @@ -0,0 +1,1268 @@ +181.308 +182.308 +183.307 +183.308 +183.312 +184.307 +184.308 +184.312 +185.307 +185.308 +185.312 +186.306 +186.307 +186.308 +186.312 +187.306 +187.307 +187.308 +187.311 +187.312 +188.306 +188.307 +188.308 +188.310 +188.311 +189.305 +189.306 +189.307 +189.308 +189.310 +189.311 +190.305 +190.306 +190.307 +190.308 +190.310 +190.311 +191.305 +191.306 +191.307 +191.308 +191.310 +192.305 +192.306 +192.307 +192.308 +192.309 +192.310 +193.305 +193.306 +193.307 +193.308 +193.309 +193.310 +194.305 +194.306 +194.307 +194.308 +194.309 +194.310 +195.302 +195.305 +195.306 +195.307 +195.308 +195.309 +196.302 +196.305 +196.306 +196.307 +196.308 +196.309 +197.301 +197.302 +197.305 +197.306 +197.307 +197.308 +197.309 +198.301 +198.302 +198.305 +198.306 +198.307 +198.308 +198.309 +199.300 +199.301 +199.302 +199.305 +199.306 +199.307 +199.308 +200.300 +200.301 +200.302 +200.305 +200.306 +200.307 +200.308 +201.300 +201.301 +201.302 +201.305 +201.306 +201.307 +201.308 +202.299 +202.300 +202.301 +202.302 +202.305 +202.306 +202.307 +203.299 +203.300 +203.301 +203.302 +203.304 +203.305 +203.306 +203.307 +204.298 +204.299 +204.300 +204.301 +204.302 +204.304 +204.305 +204.306 +204.307 +205.298 +205.299 +205.300 +205.301 +205.302 +205.303 +205.304 +205.305 +205.306 +205.307 +206.298 +206.299 +206.300 +206.301 +206.302 +206.303 +206.304 +206.305 +206.306 +207.297 +207.298 +207.299 +207.300 +207.301 +207.302 +207.303 +207.304 +207.305 +207.306 +208.297 +208.298 +208.299 +208.300 +208.301 +208.302 +208.303 +208.304 +208.305 +208.306 +209.296 +209.297 +209.298 +209.299 +209.300 +209.301 +209.302 +209.303 +209.304 +209.305 +210.296 +210.297 +210.298 +210.299 +210.300 +210.301 +210.302 +210.303 +210.304 +210.305 +211.295 +211.296 +211.297 +211.298 +211.299 +211.300 +211.301 +211.302 +211.303 +211.304 +211.305 +212.295 +212.296 +212.297 +212.298 +212.299 +212.300 +212.301 +212.302 +212.303 +212.304 +212.305 +213.295 +213.296 +213.297 +213.298 +213.299 +213.300 +213.301 +213.302 +213.303 +213.304 +214.294 +214.295 +214.296 +214.297 +214.298 +214.299 +214.300 +214.301 +214.302 +214.303 +214.304 +215.294 +215.295 +215.296 +215.297 +215.298 +215.299 +215.300 +215.301 +215.302 +215.303 +215.304 +216.293 +216.294 +216.295 +216.296 +216.297 +216.298 +216.299 +216.300 +216.301 +216.302 +216.303 +217.293 +217.294 +217.295 +217.296 +217.297 +217.298 +217.299 +217.300 +217.301 +217.302 +217.303 +218.292 +218.293 +218.294 +218.295 +218.296 +218.297 +218.298 +218.299 +218.300 +218.301 +218.302 +218.303 +219.292 +219.293 +219.294 +219.295 +219.296 +219.297 +219.298 +219.299 +219.300 +219.301 +219.302 +219.303 +220.292 +220.293 +220.294 +220.295 +220.296 +220.297 +220.298 +220.299 +220.300 +220.301 +220.302 +221.291 +221.292 +221.293 +221.294 +221.295 +221.296 +221.297 +221.298 +221.299 +221.300 +221.301 +221.302 +222.291 +222.292 +222.293 +222.294 +222.295 +222.296 +222.297 +222.298 +222.299 +222.300 +222.301 +222.302 +223.290 +223.291 +223.292 +223.293 +223.294 +223.295 +223.296 +223.297 +223.298 +223.299 +223.300 +223.301 +223.302 +224.290 +224.291 +224.292 +224.293 +224.294 +224.295 +224.296 +224.297 +224.298 +224.299 +224.300 +224.301 +225.290 +225.291 +225.292 +225.293 +225.294 +225.295 +225.296 +225.297 +225.298 +225.299 +225.300 +225.301 +226.289 +226.290 +226.291 +226.292 +226.293 +226.294 +226.295 +226.296 +226.297 +226.298 +226.299 +226.300 +226.301 +227.289 +227.290 +227.291 +227.292 +227.293 +227.294 +227.295 +227.296 +227.297 +227.298 +227.299 +227.300 +228.288 +228.289 +228.290 +228.291 +228.292 +228.293 +228.294 +228.295 +228.296 +228.297 +228.298 +228.299 +228.300 +229.288 +229.289 +229.290 +229.291 +229.292 +229.293 +229.294 +229.295 +229.296 +229.297 +229.298 +229.299 +229.300 +230.287 +230.288 +230.289 +230.290 +230.291 +230.292 +230.293 +230.294 +230.295 +230.296 +230.297 +230.298 +230.299 +231.287 +231.288 +231.289 +231.290 +231.291 +231.292 +231.293 +231.294 +231.295 +231.296 +231.297 +231.298 +231.299 +232.286 +232.287 +232.288 +232.289 +232.290 +232.291 +232.292 +232.293 +232.294 +232.295 +232.296 +232.297 +232.298 +232.299 +233.286 +233.287 +233.288 +233.289 +233.290 +233.291 +233.292 +233.293 +233.294 +233.295 +233.296 +233.297 +233.298 +233.299 +234.286 +234.287 +234.288 +234.289 +234.290 +234.291 +234.292 +234.293 +234.294 +234.295 +234.296 +234.297 +234.298 +235.285 +235.286 +235.287 +235.288 +235.289 +235.290 +235.291 +235.292 +235.293 +235.294 +235.295 +235.296 +235.297 +235.298 +236.285 +236.286 +236.287 +236.288 +236.289 +236.290 +236.291 +236.292 +236.293 +236.294 +236.295 +236.296 +236.297 +236.298 +237.284 +237.285 +237.286 +237.287 +237.288 +237.289 +237.290 +237.291 +237.292 +237.293 +237.294 +237.295 +237.296 +237.297 +238.284 +238.285 +238.286 +238.287 +238.288 +238.289 +238.290 +238.291 +238.292 +238.293 +238.294 +238.295 +238.296 +238.297 +239.284 +239.285 +239.286 +239.287 +239.288 +239.289 +239.290 +239.291 +239.292 +239.293 +239.294 +239.295 +239.296 +239.297 +240.283 +240.284 +240.285 +240.286 +240.287 +240.288 +240.289 +240.290 +240.291 +240.292 +240.293 +240.294 +240.295 +240.296 +240.297 +241.283 +241.284 +241.285 +241.286 +241.287 +241.288 +241.289 +241.290 +241.291 +241.292 +241.293 +241.294 +241.295 +241.296 +242.283 +242.284 +242.285 +242.286 +242.287 +242.288 +242.289 +242.290 +242.291 +242.292 +242.293 +242.294 +242.295 +242.296 +243.282 +243.283 +243.284 +243.285 +243.286 +243.287 +243.288 +243.289 +243.290 +243.291 +243.292 +243.293 +243.294 +243.295 +243.296 +244.281 +244.282 +244.283 +244.284 +244.285 +244.286 +244.287 +244.288 +244.289 +244.290 +244.291 +244.292 +244.293 +244.294 +244.295 +245.281 +245.282 +245.283 +245.284 +245.285 +245.286 +245.287 +245.288 +245.289 +245.290 +245.291 +245.292 +245.293 +245.294 +245.295 +246.280 +246.281 +246.282 +246.283 +246.284 +246.285 +246.286 +246.287 +246.288 +246.289 +246.290 +246.291 +246.292 +246.293 +246.294 +246.295 +247.280 +247.281 +247.282 +247.283 +247.284 +247.285 +247.286 +247.287 +247.288 +247.289 +247.290 +247.291 +247.292 +247.293 +247.294 +247.295 +248.279 +248.280 +248.281 +248.282 +248.283 +248.284 +248.285 +248.286 +248.287 +248.288 +248.289 +248.290 +248.291 +248.292 +248.293 +248.294 +249.279 +249.280 +249.281 +249.282 +249.283 +249.284 +249.285 +249.286 +249.287 +249.288 +249.289 +249.290 +249.291 +249.292 +249.293 +249.294 +250.278 +250.279 +250.280 +250.281 +250.282 +250.283 +250.284 +250.285 +250.286 +250.287 +250.288 +250.289 +250.290 +250.291 +250.292 +250.293 +250.294 +251.278 +251.279 +251.280 +251.281 +251.282 +251.283 +251.284 +251.285 +251.286 +251.287 +251.288 +251.289 +251.290 +251.291 +251.292 +251.293 +252.277 +252.278 +252.279 +252.280 +252.281 +252.282 +252.283 +252.284 +252.285 +252.286 +252.287 +252.288 +252.289 +252.290 +252.291 +252.292 +252.293 +253.277 +253.278 +253.279 +253.280 +253.281 +253.282 +253.283 +253.284 +253.285 +253.286 +253.287 +253.288 +253.289 +253.290 +253.291 +253.292 +253.293 +254.277 +254.278 +254.279 +254.280 +254.281 +254.282 +254.283 +254.284 +254.285 +254.286 +254.287 +254.288 +254.289 +254.290 +254.291 +254.292 +255.276 +255.277 +255.278 +255.279 +255.280 +255.281 +255.282 +255.283 +255.284 +255.285 +255.286 +255.287 +255.288 +255.289 +255.290 +255.291 +255.292 +256.276 +256.277 +256.278 +256.279 +256.280 +256.281 +256.282 +256.283 +256.284 +256.285 +256.286 +256.287 +256.288 +256.289 +256.290 +256.291 +256.292 +257.276 +257.277 +257.278 +257.279 +257.280 +257.281 +257.282 +257.283 +257.284 +257.285 +257.286 +257.287 +257.288 +257.289 +257.290 +257.291 +257.292 +258.276 +258.277 +258.278 +258.279 +258.280 +258.281 +258.282 +258.283 +258.284 +258.285 +258.286 +258.287 +258.288 +258.289 +258.290 +258.291 +259.276 +259.277 +259.278 +259.279 +259.280 +259.281 +259.282 +259.283 +259.284 +259.285 +259.286 +259.287 +259.288 +259.289 +259.290 +259.291 +260.276 +260.277 +260.278 +260.279 +260.280 +260.281 +260.282 +260.283 +260.284 +260.285 +260.286 +260.287 +260.288 +260.289 +260.290 +260.291 +261.276 +261.277 +261.278 +261.279 +261.280 +261.281 +261.282 +261.283 +261.284 +261.285 +261.286 +261.287 +261.288 +261.289 +261.290 +262.276 +262.277 +262.278 +262.279 +262.280 +262.281 +262.282 +262.283 +262.284 +262.285 +262.286 +262.287 +262.288 +262.289 +262.290 +263.276 +263.277 +263.278 +263.279 +263.280 +263.281 +263.282 +263.283 +263.284 +263.285 +263.286 +263.287 +263.288 +263.289 +263.290 +264.276 +264.277 +264.278 +264.279 +264.280 +264.281 +264.282 +264.283 +264.284 +264.285 +264.286 +264.287 +264.288 +264.289 +265.276 +265.277 +265.278 +265.279 +265.280 +265.281 +265.282 +265.283 +265.284 +265.285 +265.286 +265.287 +265.288 +265.289 +266.276 +266.277 +266.278 +266.279 +266.280 +266.281 +266.282 +266.283 +266.284 +266.285 +266.286 +266.287 +266.288 +266.289 +267.276 +267.277 +267.278 +267.279 +267.280 +267.281 +267.282 +267.283 +267.284 +267.285 +267.286 +267.287 +267.288 +267.289 +268.276 +268.277 +268.278 +268.279 +268.280 +268.281 +268.282 +268.283 +268.284 +268.285 +268.286 +268.287 +268.288 +269.276 +269.277 +269.278 +269.279 +269.280 +269.281 +269.282 +269.283 +269.284 +269.285 +269.286 +269.287 +269.288 +270.276 +270.277 +270.278 +270.279 +270.280 +270.281 +270.282 +270.283 +270.284 +270.285 +270.286 +270.287 +270.288 +271.276 +271.277 +271.278 +271.279 +271.280 +271.281 +271.282 +271.283 +271.284 +271.285 +271.286 +271.287 +272.276 +272.277 +272.278 +272.279 +272.280 +272.281 +272.282 +272.283 +272.284 +272.285 +272.286 +272.287 +273.276 +273.277 +273.278 +273.279 +273.280 +273.281 +273.282 +273.283 +273.284 +273.285 +273.286 +273.287 +274.276 +274.277 +274.278 +274.279 +274.280 +274.281 +274.282 +274.283 +274.284 +274.285 +274.286 +275.276 +275.277 +275.278 +275.279 +275.280 +275.281 +275.282 +275.283 +275.284 +275.285 +275.286 +276.276 +276.277 +276.278 +276.279 +276.280 +276.281 +276.282 +276.283 +276.284 +276.285 +276.286 +277.276 +277.277 +277.278 +277.279 +277.280 +277.281 +277.282 +277.283 +277.284 +277.285 +278.276 +278.277 +278.278 +278.279 +278.280 +278.281 +278.282 +278.283 +278.284 +278.285 +279.276 +279.277 +279.278 +279.279 +279.280 +279.281 +279.282 +279.283 +279.284 +279.285 +280.276 +280.277 +280.278 +280.279 +280.280 +280.281 +280.282 +280.283 +280.284 +280.285 +281.276 +281.277 +281.278 +281.279 +281.280 +281.281 +281.282 +281.283 +281.284 +282.276 +282.277 +282.278 +282.279 +282.280 +282.281 +282.282 +282.283 +282.284 +283.276 +283.277 +283.278 +283.279 +283.280 +283.281 +283.282 +283.283 +283.284 +284.276 +284.277 +284.278 +284.279 +284.280 +284.281 +284.282 +284.283 +285.276 +285.277 +285.278 +285.279 +285.280 +285.281 +285.282 +285.283 +286.276 +286.277 +286.278 +286.279 +286.280 +286.281 +286.282 +286.283 +287.276 +287.277 +287.278 +287.279 +287.280 +287.281 +287.282 +288.276 +288.277 +288.278 +288.279 +288.280 +288.281 +288.282 +289.276 +289.277 +289.278 +289.279 +289.280 +289.281 +289.282 +290.276 +290.277 +290.278 +290.279 +290.280 +290.281 +291.276 +291.277 +291.278 +291.279 +291.280 +291.281 +292.276 +292.277 +292.278 +292.279 +292.280 +292.281 +293.276 +293.277 +293.278 +293.279 +293.280 +294.276 +294.277 +294.278 +294.279 +294.280 +295.276 +295.277 +295.278 +295.279 +295.280 +296.276 +296.277 +296.278 +296.279 +297.276 +297.277 +297.278 +297.279 +298.276 +298.277 +298.278 +298.279 +299.276 +299.277 +299.278 +300.276 +300.277 +300.278 +301.276 +301.277 +301.278 +302.276 +302.277 +303.276 +303.277 +304.276 +304.277 +305.276 +306.276 +307.276 diff --git a/auxdir/CFIS/tiles_202106/tiles_P3_wo_W3.txt b/auxdir/CFIS/tiles_202106/tiles_P3_wo_W3.txt new file mode 100644 index 000000000..6f33c26f2 --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P3_wo_W3.txt @@ -0,0 +1,1054 @@ +181.308 +182.308 +183.307 +183.308 +183.312 +184.307 +184.308 +184.312 +185.307 +185.308 +185.312 +186.306 +186.307 +186.308 +186.312 +187.306 +187.307 +187.308 +187.311 +187.312 +188.306 +188.307 +188.308 +188.310 +188.311 +189.305 +189.306 +189.307 +189.308 +189.310 +189.311 +190.305 +190.306 +190.307 +190.308 +190.310 +190.311 +191.305 +191.306 +191.307 +191.308 +191.310 +192.305 +192.306 +192.307 +192.308 +192.309 +192.310 +193.305 +193.306 +193.307 +193.308 +193.309 +193.310 +194.305 +194.306 +194.307 +194.308 +194.309 +194.310 +195.302 +195.305 +195.306 +195.307 +195.308 +195.309 +196.302 +196.305 +196.306 +196.307 +196.308 +196.309 +197.301 +197.302 +197.305 +197.306 +197.307 +197.308 +197.309 +198.301 +198.302 +198.305 +198.306 +198.307 +198.308 +198.309 +199.300 +199.301 +199.302 +199.305 +199.306 +199.307 +199.308 +200.300 +200.301 +200.302 +200.305 +200.306 +200.307 +200.308 +201.300 +201.301 +201.302 +201.305 +201.306 +201.307 +201.308 +202.299 +202.300 +202.301 +202.302 +202.305 +202.306 +202.307 +203.299 +203.300 +203.301 +203.302 +203.304 +203.305 +203.306 +203.307 +204.298 +204.299 +204.300 +204.301 +204.302 +204.304 +204.305 +204.306 +204.307 +205.298 +205.299 +205.300 +205.301 +205.302 +205.303 +205.304 +205.305 +205.306 +205.307 +206.298 +206.299 +206.300 +206.301 +206.302 +206.303 +206.304 +206.305 +206.306 +207.297 +207.298 +207.299 +207.300 +207.301 +207.302 +207.303 +207.304 +207.305 +207.306 +208.297 +208.298 +208.299 +208.300 +208.301 +208.302 +208.303 +208.304 +208.305 +208.306 +209.296 +209.297 +209.298 +209.299 +209.300 +209.301 +209.302 +209.303 +209.304 +209.305 +210.296 +210.297 +210.298 +210.299 +210.300 +210.301 +210.302 +210.303 +210.304 +210.305 +211.295 +211.296 +211.297 +211.298 +211.299 +211.300 +211.301 +211.302 +211.303 +211.304 +211.305 +212.295 +212.296 +212.297 +212.298 +212.299 +212.300 +212.301 +212.302 +212.303 +212.304 +212.305 +213.295 +213.296 +213.297 +213.298 +213.299 +213.300 +213.301 +213.302 +213.303 +213.304 +214.294 +214.295 +214.296 +214.297 +214.298 +214.299 +214.300 +214.301 +214.302 +214.303 +214.304 +215.294 +215.295 +215.296 +215.297 +215.298 +215.299 +215.300 +215.301 +215.302 +215.303 +215.304 +216.293 +216.294 +216.295 +216.296 +216.297 +216.298 +216.299 +216.300 +216.301 +216.302 +216.303 +217.293 +217.294 +217.295 +217.296 +217.297 +217.298 +217.299 +217.300 +217.301 +217.302 +217.303 +218.292 +218.293 +218.294 +218.295 +218.296 +218.297 +218.298 +218.299 +218.300 +218.301 +218.302 +218.303 +219.292 +219.293 +219.294 +219.295 +219.296 +219.297 +219.298 +219.299 +219.300 +219.301 +219.302 +219.303 +220.292 +220.293 +220.294 +220.295 +220.296 +220.297 +220.298 +220.299 +220.300 +220.301 +220.302 +221.291 +221.292 +221.293 +221.294 +221.295 +221.296 +221.297 +221.298 +221.299 +221.300 +221.301 +221.302 +222.291 +222.292 +222.293 +222.294 +222.295 +222.296 +222.297 +222.298 +222.299 +222.300 +222.301 +222.302 +223.290 +223.291 +223.292 +223.293 +223.294 +223.295 +223.296 +223.297 +223.298 +223.299 +223.300 +223.301 +223.302 +224.290 +224.291 +224.292 +224.293 +224.294 +224.296 +224.297 +224.298 +224.299 +224.300 +224.301 +225.290 +225.291 +225.292 +225.293 +225.294 +225.296 +225.297 +225.298 +225.299 +225.300 +225.301 +226.289 +226.290 +226.291 +226.292 +226.293 +226.294 +226.296 +226.297 +226.298 +226.299 +226.300 +226.301 +227.289 +227.290 +227.291 +227.292 +227.293 +227.296 +227.297 +227.298 +227.299 +227.300 +228.288 +228.289 +228.290 +228.291 +228.292 +228.293 +228.296 +228.297 +228.298 +228.299 +228.300 +229.288 +229.289 +229.290 +229.291 +229.292 +229.293 +229.296 +229.297 +229.298 +229.299 +229.300 +230.287 +230.288 +230.289 +230.290 +230.291 +230.292 +230.296 +230.297 +230.298 +230.299 +231.287 +231.288 +231.289 +231.290 +231.291 +231.292 +231.296 +231.297 +231.298 +231.299 +232.286 +232.287 +232.288 +232.289 +232.290 +232.291 +232.292 +232.296 +232.297 +232.298 +232.299 +233.286 +233.287 +233.288 +233.289 +233.290 +233.291 +233.296 +233.297 +233.298 +233.299 +234.286 +234.287 +234.288 +234.289 +234.290 +234.291 +234.296 +234.297 +234.298 +235.285 +235.286 +235.287 +235.288 +235.289 +235.290 +235.291 +235.296 +235.297 +235.298 +236.285 +236.286 +236.287 +236.288 +236.289 +236.290 +236.296 +236.297 +236.298 +237.284 +237.285 +237.286 +237.287 +237.288 +237.289 +237.290 +237.296 +237.297 +238.284 +238.285 +238.286 +238.287 +238.288 +238.289 +238.290 +238.295 +238.296 +238.297 +239.284 +239.285 +239.286 +239.287 +239.288 +239.289 +239.295 +239.296 +239.297 +240.283 +240.284 +240.285 +240.286 +240.287 +240.288 +240.289 +240.295 +240.296 +240.297 +241.283 +241.284 +241.285 +241.286 +241.287 +241.288 +241.289 +241.294 +241.295 +241.296 +242.283 +242.284 +242.285 +242.286 +242.287 +242.288 +242.294 +242.295 +242.296 +243.282 +243.283 +243.284 +243.285 +243.286 +243.287 +243.288 +243.294 +243.295 +243.296 +244.281 +244.282 +244.283 +244.284 +244.285 +244.286 +244.287 +244.288 +244.293 +244.294 +244.295 +245.281 +245.282 +245.283 +245.284 +245.285 +245.286 +245.287 +245.293 +245.294 +245.295 +246.280 +246.281 +246.282 +246.283 +246.284 +246.285 +246.286 +246.287 +246.293 +246.294 +246.295 +247.280 +247.281 +247.282 +247.283 +247.284 +247.285 +247.286 +247.287 +247.293 +247.294 +247.295 +248.279 +248.280 +248.281 +248.282 +248.283 +248.284 +248.285 +248.286 +248.292 +248.293 +248.294 +249.279 +249.280 +249.281 +249.282 +249.283 +249.284 +249.285 +249.286 +249.292 +249.293 +249.294 +250.278 +250.279 +250.280 +250.281 +250.282 +250.283 +250.284 +250.285 +250.286 +250.292 +250.293 +250.294 +251.278 +251.279 +251.280 +251.281 +251.282 +251.283 +251.284 +251.285 +251.291 +251.292 +251.293 +252.277 +252.278 +252.279 +252.280 +252.281 +252.282 +252.283 +252.284 +252.285 +252.291 +252.292 +252.293 +253.277 +253.278 +253.279 +253.280 +253.281 +253.282 +253.283 +253.284 +253.285 +253.291 +253.292 +253.293 +254.277 +254.278 +254.279 +254.280 +254.281 +254.282 +254.283 +254.284 +254.290 +254.291 +254.292 +255.276 +255.277 +255.278 +255.279 +255.280 +255.281 +255.282 +255.283 +255.284 +255.290 +255.291 +255.292 +256.276 +256.277 +256.278 +256.279 +256.280 +256.281 +256.282 +256.283 +256.284 +256.290 +256.291 +256.292 +257.276 +257.277 +257.278 +257.279 +257.280 +257.281 +257.282 +257.283 +257.289 +257.290 +257.291 +257.292 +258.276 +258.277 +258.278 +258.279 +258.280 +258.281 +258.282 +258.283 +258.289 +258.290 +258.291 +259.276 +259.277 +259.278 +259.279 +259.280 +259.281 +259.282 +259.289 +259.290 +259.291 +260.276 +260.277 +260.278 +260.279 +260.280 +260.281 +260.282 +260.288 +260.289 +260.290 +260.291 +261.276 +261.277 +261.278 +261.279 +261.280 +261.281 +261.282 +261.288 +261.289 +261.290 +262.276 +262.277 +262.278 +262.279 +262.280 +262.281 +262.288 +262.289 +262.290 +263.276 +263.277 +263.278 +263.279 +263.280 +263.281 +263.287 +263.288 +263.289 +263.290 +264.276 +264.277 +264.278 +264.279 +264.280 +264.281 +264.287 +264.288 +264.289 +265.276 +265.277 +265.278 +265.279 +265.280 +265.281 +265.287 +265.288 +265.289 +266.276 +266.277 +266.278 +266.279 +266.280 +266.281 +266.287 +266.288 +266.289 +267.276 +267.277 +267.278 +267.279 +267.280 +267.281 +267.286 +267.287 +267.288 +267.289 +268.276 +268.277 +268.278 +268.279 +268.280 +268.281 +268.286 +268.287 +268.288 +269.276 +269.277 +269.278 +269.279 +269.280 +269.281 +269.286 +269.287 +269.288 +270.276 +270.277 +270.278 +270.279 +270.280 +270.281 +270.285 +270.286 +270.287 +270.288 +271.276 +271.277 +271.278 +271.279 +271.280 +271.281 +271.285 +271.286 +271.287 +272.276 +272.277 +272.278 +272.279 +272.280 +272.281 +272.285 +272.286 +272.287 +273.276 +273.277 +273.278 +273.279 +273.280 +273.281 +273.284 +273.285 +273.286 +273.287 +274.276 +274.277 +274.278 +274.279 +274.280 +274.281 +274.284 +274.285 +274.286 +275.276 +275.277 +275.278 +275.279 +275.280 +275.281 +275.284 +275.285 +275.286 +276.276 +276.277 +276.278 +276.279 +276.280 +276.281 +276.283 +276.284 +276.285 +276.286 +277.276 +277.277 +277.278 +277.279 +277.280 +277.281 +277.283 +277.284 +277.285 +278.276 +278.277 +278.278 +278.279 +278.280 +278.281 +278.283 +278.284 +278.285 +279.276 +279.277 +279.278 +279.279 +279.280 +279.281 +279.282 +279.283 +279.284 +279.285 +280.276 +280.277 +280.278 +280.279 +280.280 +280.281 +280.282 +280.283 +280.284 +280.285 +281.276 +281.277 +281.278 +281.279 +281.280 +281.281 +281.282 +281.283 +281.284 +282.276 +282.277 +282.278 +282.279 +282.280 +282.281 +282.282 +282.283 +282.284 +283.276 +283.277 +283.278 +283.279 +283.280 +283.281 +283.282 +283.283 +283.284 +284.276 +284.277 +284.278 +284.279 +284.280 +284.281 +284.282 +284.283 +285.276 +285.277 +285.278 +285.279 +285.280 +285.281 +285.282 +285.283 +286.276 +286.277 +286.278 +286.279 +286.280 +286.281 +286.282 +286.283 +287.276 +287.277 +287.278 +287.279 +287.280 +287.281 +287.282 +288.276 +288.277 +288.278 +288.279 +288.280 +288.281 +288.282 +289.276 +289.277 +289.278 +289.279 +289.280 +289.281 +289.282 +290.276 +290.277 +290.278 +290.279 +290.280 +290.281 +291.276 +291.277 +291.278 +291.279 +291.280 +291.281 +292.276 +292.277 +292.278 +292.279 +292.280 +292.281 +293.276 +293.277 +293.278 +293.279 +293.280 +294.276 +294.277 +294.278 +294.279 +294.280 +295.276 +295.277 +295.278 +295.279 +295.280 +296.276 +296.277 +296.278 +296.279 +297.276 +297.277 +297.278 +297.279 +298.276 +298.277 +298.278 +298.279 +299.276 +299.277 +299.278 +300.276 +300.277 +300.278 +301.276 +301.277 +301.278 +302.276 +302.277 +303.276 +303.277 +304.276 +304.277 +305.276 +306.276 +307.276 diff --git a/auxdir/CFIS/tiles_202106/tiles_P4.txt b/auxdir/CFIS/tiles_202106/tiles_P4.txt new file mode 100644 index 000000000..88f570ea0 --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P4.txt @@ -0,0 +1,3196 @@ +174.294 +175.294 +176.293 +176.294 +177.293 +177.294 +178.292 +178.293 +178.294 +179.292 +179.293 +179.294 +180.291 +180.292 +180.293 +180.294 +181.291 +181.292 +181.293 +181.294 +182.291 +182.292 +182.293 +182.294 +183.290 +183.291 +183.292 +183.293 +183.294 +184.290 +184.292 +184.293 +184.294 +185.289 +185.290 +185.292 +185.293 +185.294 +186.289 +186.290 +186.292 +186.293 +186.294 +187.288 +187.289 +187.290 +187.292 +187.293 +187.294 +188.288 +188.289 +188.290 +188.292 +188.293 +189.288 +189.289 +189.290 +189.292 +189.293 +190.287 +190.288 +190.289 +190.290 +190.292 +190.293 +191.287 +191.288 +191.289 +191.290 +191.292 +192.285 +192.286 +192.287 +192.288 +192.289 +192.290 +192.292 +193.285 +193.286 +193.287 +193.288 +193.289 +193.290 +194.284 +194.285 +194.286 +194.287 +194.288 +194.289 +194.290 +195.284 +195.285 +195.286 +195.287 +195.288 +195.289 +195.290 +196.284 +196.285 +196.286 +196.287 +196.288 +196.289 +196.290 +197.283 +197.284 +197.285 +197.286 +197.287 +197.288 +197.289 +197.290 +198.283 +198.284 +198.285 +198.286 +198.287 +198.288 +198.289 +199.282 +199.283 +199.284 +199.285 +199.286 +199.287 +199.288 +199.289 +200.282 +200.283 +200.284 +200.285 +200.286 +200.287 +200.288 +200.289 +201.281 +201.282 +201.283 +201.284 +201.285 +201.286 +201.287 +201.288 +202.281 +202.282 +202.283 +202.284 +202.285 +202.286 +202.287 +202.288 +203.280 +203.281 +203.282 +203.283 +203.284 +203.285 +203.286 +203.287 +204.280 +204.281 +204.282 +204.283 +204.284 +204.285 +204.286 +204.287 +205.279 +205.280 +205.281 +205.282 +205.283 +205.284 +205.285 +205.286 +205.287 +206.279 +206.280 +206.281 +206.282 +206.283 +206.284 +206.285 +206.286 +207.278 +207.279 +207.280 +207.281 +207.282 +207.283 +207.284 +207.285 +207.286 +208.278 +208.279 +208.280 +208.281 +208.282 +208.283 +208.284 +208.285 +209.277 +209.278 +209.279 +209.280 +209.281 +209.282 +209.283 +209.284 +209.285 +210.277 +210.278 +210.279 +210.280 +210.281 +210.282 +210.283 +210.284 +211.276 +211.277 +211.278 +211.279 +211.280 +211.281 +211.282 +211.283 +211.284 +212.276 +212.277 +212.278 +212.279 +212.280 +212.281 +212.282 +212.283 +212.284 +213.275 +213.276 +213.277 +213.278 +213.279 +213.280 +213.281 +213.282 +213.283 +214.275 +214.276 +214.277 +214.278 +214.279 +214.280 +214.281 +214.282 +214.283 +215.274 +215.275 +215.276 +215.277 +215.278 +215.279 +215.280 +215.281 +215.282 +216.274 +216.275 +216.276 +216.277 +216.278 +216.279 +216.280 +216.281 +216.282 +217.273 +217.274 +217.275 +217.276 +217.277 +217.278 +217.279 +217.280 +217.281 +218.273 +218.274 +218.275 +218.276 +218.277 +218.278 +218.279 +218.280 +218.281 +219.272 +219.273 +219.274 +219.275 +219.276 +219.277 +219.278 +219.279 +219.280 +220.272 +220.273 +220.274 +220.275 +220.276 +220.277 +220.278 +220.279 +220.280 +221.271 +221.272 +221.273 +221.274 +221.275 +221.276 +221.277 +221.278 +221.279 +222.271 +222.272 +222.273 +222.274 +222.275 +222.276 +222.277 +222.278 +222.279 +223.270 +223.271 +223.272 +223.273 +223.274 +223.275 +223.276 +223.277 +223.278 +224.270 +224.271 +224.272 +224.273 +224.274 +224.275 +224.276 +224.277 +224.278 +225.269 +225.270 +225.271 +225.272 +225.273 +225.274 +225.275 +225.276 +225.277 +226.269 +226.270 +226.271 +226.272 +226.273 +226.274 +226.275 +226.276 +226.277 +227.268 +227.269 +227.270 +227.271 +227.272 +227.273 +227.274 +227.275 +227.276 +227.277 +228.268 +228.269 +228.270 +228.271 +228.272 +228.273 +228.274 +228.275 +228.276 +229.267 +229.268 +229.269 +229.270 +229.271 +229.272 +229.273 +229.274 +229.275 +229.276 +230.267 +230.268 +230.269 +230.270 +230.271 +230.272 +230.273 +230.274 +230.275 +231.266 +231.267 +231.268 +231.269 +231.270 +231.271 +231.272 +231.273 +231.274 +231.275 +232.266 +232.267 +232.268 +232.269 +232.270 +232.271 +232.272 +232.273 +232.274 +233.265 +233.266 +233.267 +233.268 +233.269 +233.270 +233.271 +233.272 +233.273 +234.265 +234.266 +234.267 +234.268 +234.269 +234.270 +234.271 +234.272 +234.273 +235.264 +235.265 +235.266 +235.267 +235.268 +235.269 +235.270 +235.271 +235.272 +236.263 +236.264 +236.265 +236.266 +236.267 +236.268 +236.269 +236.270 +236.271 +236.272 +237.263 +237.264 +237.265 +237.266 +237.267 +237.268 +237.269 +237.270 +237.271 +237.278 +238.262 +238.263 +238.264 +238.265 +238.266 +238.267 +238.268 +238.269 +238.270 +238.271 +238.278 +239.262 +239.263 +239.264 +239.265 +239.266 +239.267 +239.268 +239.269 +239.270 +239.277 +239.278 +240.261 +240.263 +240.264 +240.265 +240.266 +240.267 +240.268 +240.269 +240.270 +240.277 +240.278 +241.261 +241.262 +241.263 +241.264 +241.265 +241.266 +241.267 +241.268 +241.269 +241.270 +241.276 +241.277 +241.278 +242.260 +242.262 +242.263 +242.264 +242.265 +242.266 +242.267 +242.268 +242.269 +242.276 +242.277 +242.278 +243.261 +243.262 +243.263 +243.264 +243.265 +243.266 +243.267 +243.268 +243.269 +243.275 +243.276 +243.277 +243.278 +244.259 +244.260 +244.261 +244.262 +244.263 +244.264 +244.265 +244.266 +244.267 +244.268 +244.269 +244.274 +244.275 +244.276 +244.277 +244.278 +245.258 +245.259 +245.260 +245.261 +245.262 +245.263 +245.264 +245.265 +245.266 +245.267 +245.268 +245.269 +245.274 +245.275 +245.276 +245.277 +245.278 +246.258 +246.259 +246.260 +246.261 +246.262 +246.263 +246.264 +246.265 +246.266 +246.267 +246.268 +246.269 +246.273 +246.274 +246.275 +246.276 +246.277 +246.278 +247.257 +247.258 +247.259 +247.260 +247.261 +247.262 +247.263 +247.264 +247.265 +247.266 +247.267 +247.268 +247.269 +247.273 +247.274 +247.275 +247.276 +247.277 +247.278 +248.258 +248.259 +248.260 +248.261 +248.262 +248.263 +248.264 +248.265 +248.266 +248.267 +248.268 +248.269 +248.272 +248.273 +248.274 +248.275 +248.276 +248.277 +248.278 +249.257 +249.258 +249.259 +249.260 +249.261 +249.262 +249.263 +249.264 +249.265 +249.266 +249.267 +249.268 +249.269 +249.272 +249.273 +249.274 +249.275 +249.276 +249.277 +249.278 +250.257 +250.258 +250.259 +250.260 +250.261 +250.262 +250.263 +250.264 +250.265 +250.266 +250.267 +250.268 +250.269 +250.271 +250.272 +250.273 +250.274 +250.275 +250.276 +250.277 +251.256 +251.257 +251.258 +251.259 +251.260 +251.261 +251.262 +251.263 +251.264 +251.265 +251.266 +251.267 +251.268 +251.269 +251.271 +251.272 +251.273 +251.274 +251.275 +251.276 +251.277 +252.256 +252.257 +252.258 +252.259 +252.260 +252.261 +252.262 +252.263 +252.264 +252.265 +252.266 +252.267 +252.268 +252.269 +252.271 +252.272 +252.273 +252.274 +252.275 +252.276 +253.255 +253.256 +253.257 +253.258 +253.259 +253.260 +253.261 +253.262 +253.263 +253.264 +253.265 +253.266 +253.267 +253.268 +253.269 +253.270 +253.271 +253.272 +253.273 +253.274 +253.275 +253.276 +254.254 +254.255 +254.256 +254.257 +254.258 +254.259 +254.260 +254.261 +254.262 +254.263 +254.264 +254.265 +254.266 +254.267 +254.268 +254.269 +254.270 +254.271 +254.272 +254.273 +254.274 +254.275 +254.276 +255.254 +255.255 +255.256 +255.257 +255.258 +255.259 +255.260 +255.261 +255.262 +255.263 +255.264 +255.265 +255.266 +255.267 +255.268 +255.269 +255.270 +255.271 +255.272 +255.273 +255.274 +255.275 +256.253 +256.254 +256.255 +256.256 +256.257 +256.258 +256.259 +256.260 +256.261 +256.262 +256.263 +256.264 +256.265 +256.266 +256.267 +256.268 +256.269 +256.270 +256.271 +256.272 +256.273 +256.274 +256.275 +257.252 +257.253 +257.254 +257.255 +257.256 +257.257 +257.258 +257.259 +257.260 +257.261 +257.262 +257.263 +257.264 +257.265 +257.266 +257.267 +257.268 +257.269 +257.270 +257.271 +257.272 +257.273 +257.274 +257.275 +258.252 +258.253 +258.254 +258.255 +258.256 +258.257 +258.258 +258.259 +258.260 +258.261 +258.262 +258.263 +258.264 +258.265 +258.266 +258.267 +258.268 +258.269 +258.270 +258.271 +258.272 +258.273 +258.274 +258.275 +259.251 +259.252 +259.253 +259.254 +259.255 +259.256 +259.257 +259.258 +259.259 +259.260 +259.261 +259.262 +259.263 +259.264 +259.265 +259.266 +259.267 +259.268 +259.269 +259.270 +259.271 +259.272 +259.273 +259.274 +259.275 +260.249 +260.251 +260.252 +260.253 +260.254 +260.255 +260.256 +260.257 +260.258 +260.259 +260.260 +260.261 +260.262 +260.263 +260.264 +260.265 +260.266 +260.267 +260.268 +260.269 +260.270 +260.271 +260.272 +260.273 +260.274 +260.275 +261.250 +261.251 +261.252 +261.253 +261.254 +261.255 +261.256 +261.257 +261.258 +261.259 +261.260 +261.261 +261.262 +261.263 +261.264 +261.265 +261.266 +261.267 +261.268 +261.269 +261.270 +261.271 +261.272 +261.273 +261.274 +261.275 +262.250 +262.251 +262.252 +262.253 +262.254 +262.255 +262.256 +262.257 +262.258 +262.259 +262.260 +262.261 +262.262 +262.263 +262.264 +262.265 +262.266 +262.267 +262.268 +262.269 +262.270 +262.271 +262.272 +262.273 +262.274 +262.275 +263.249 +263.250 +263.251 +263.252 +263.253 +263.254 +263.255 +263.256 +263.257 +263.258 +263.259 +263.260 +263.261 +263.262 +263.263 +263.264 +263.265 +263.266 +263.267 +263.268 +263.269 +263.270 +263.271 +263.272 +263.273 +263.274 +263.275 +264.249 +264.250 +264.251 +264.252 +264.253 +264.254 +264.255 +264.256 +264.257 +264.258 +264.259 +264.260 +264.261 +264.262 +264.263 +264.264 +264.265 +264.266 +264.267 +264.268 +264.269 +264.270 +264.271 +264.272 +264.273 +264.274 +264.275 +265.248 +265.249 +265.250 +265.251 +265.252 +265.253 +265.254 +265.255 +265.256 +265.257 +265.258 +265.259 +265.260 +265.261 +265.262 +265.263 +265.264 +265.265 +265.266 +265.267 +265.268 +265.269 +265.270 +265.271 +265.272 +265.273 +265.274 +265.275 +266.247 +266.248 +266.249 +266.250 +266.251 +266.252 +266.253 +266.254 +266.255 +266.256 +266.257 +266.258 +266.259 +266.260 +266.261 +266.262 +266.263 +266.264 +266.265 +266.266 +266.267 +266.268 +266.269 +266.270 +266.271 +266.272 +266.273 +266.274 +266.275 +267.246 +267.247 +267.248 +267.249 +267.250 +267.251 +267.252 +267.253 +267.254 +267.255 +267.256 +267.257 +267.258 +267.259 +267.260 +267.261 +267.262 +267.263 +267.264 +267.265 +267.266 +267.267 +267.268 +267.269 +267.270 +267.271 +267.272 +267.273 +267.274 +267.275 +268.246 +268.247 +268.248 +268.249 +268.250 +268.251 +268.252 +268.253 +268.254 +268.255 +268.256 +268.257 +268.258 +268.259 +268.260 +268.261 +268.262 +268.263 +268.264 +268.265 +268.266 +268.267 +268.268 +268.269 +268.270 +268.271 +268.272 +268.273 +268.274 +268.275 +269.245 +269.246 +269.247 +269.248 +269.249 +269.250 +269.251 +269.252 +269.253 +269.254 +269.255 +269.256 +269.257 +269.258 +269.259 +269.260 +269.261 +269.262 +269.263 +269.264 +269.265 +269.266 +269.267 +269.268 +269.269 +269.270 +269.271 +269.272 +269.273 +269.274 +269.275 +270.244 +270.245 +270.246 +270.247 +270.248 +270.249 +270.250 +270.251 +270.252 +270.253 +270.254 +270.255 +270.256 +270.257 +270.258 +270.259 +270.260 +270.261 +270.262 +270.263 +270.264 +270.265 +270.266 +270.267 +270.268 +270.269 +270.270 +270.271 +270.272 +270.273 +270.274 +270.275 +271.244 +271.245 +271.246 +271.247 +271.248 +271.249 +271.250 +271.251 +271.252 +271.253 +271.254 +271.255 +271.256 +271.257 +271.258 +271.259 +271.260 +271.261 +271.262 +271.263 +271.264 +271.265 +271.266 +271.267 +271.268 +271.269 +271.270 +271.271 +271.272 +271.273 +271.274 +271.275 +272.243 +272.244 +272.245 +272.246 +272.247 +272.248 +272.249 +272.250 +272.251 +272.252 +272.253 +272.254 +272.255 +272.256 +272.257 +272.258 +272.259 +272.260 +272.261 +272.262 +272.263 +272.264 +272.265 +272.266 +272.267 +272.268 +272.269 +272.270 +272.271 +272.272 +272.273 +272.274 +272.275 +273.242 +273.243 +273.244 +273.245 +273.246 +273.247 +273.248 +273.249 +273.250 +273.251 +273.252 +273.253 +273.254 +273.255 +273.256 +273.257 +273.258 +273.259 +273.260 +273.261 +273.262 +273.263 +273.264 +273.265 +273.266 +273.267 +273.268 +273.269 +273.270 +273.271 +273.272 +273.273 +273.274 +274.241 +274.242 +274.243 +274.244 +274.245 +274.246 +274.247 +274.248 +274.249 +274.250 +274.251 +274.252 +274.253 +274.254 +274.255 +274.256 +274.257 +274.258 +274.259 +274.260 +274.261 +274.262 +274.263 +274.264 +274.265 +274.266 +274.267 +274.268 +274.269 +274.270 +274.271 +274.272 +274.273 +275.241 +275.242 +275.243 +275.244 +275.245 +275.246 +275.247 +275.248 +275.249 +275.250 +275.251 +275.252 +275.253 +275.254 +275.255 +275.256 +275.257 +275.258 +275.259 +275.260 +275.261 +275.262 +275.263 +275.264 +275.265 +275.266 +275.267 +275.268 +275.269 +275.270 +275.271 +275.272 +276.240 +276.241 +276.242 +276.243 +276.244 +276.245 +276.246 +276.247 +276.248 +276.249 +276.250 +276.251 +276.252 +276.253 +276.254 +276.255 +276.256 +276.257 +276.258 +276.259 +276.260 +276.261 +276.262 +276.263 +276.264 +276.265 +276.266 +276.267 +276.268 +276.269 +276.270 +276.271 +276.272 +277.240 +277.241 +277.242 +277.243 +277.244 +277.245 +277.246 +277.247 +277.248 +277.249 +277.250 +277.251 +277.252 +277.253 +277.254 +277.255 +277.256 +277.257 +277.258 +277.259 +277.260 +277.261 +277.262 +277.263 +277.264 +277.265 +277.266 +277.267 +277.268 +277.269 +277.270 +277.271 +278.239 +278.240 +278.241 +278.242 +278.243 +278.244 +278.245 +278.246 +278.247 +278.248 +278.249 +278.250 +278.251 +278.252 +278.253 +278.254 +278.255 +278.256 +278.257 +278.258 +278.259 +278.260 +278.261 +278.262 +278.263 +278.264 +278.265 +278.266 +278.267 +278.268 +278.269 +278.270 +278.271 +279.239 +279.240 +279.241 +279.242 +279.243 +279.244 +279.245 +279.246 +279.247 +279.248 +279.249 +279.250 +279.251 +279.252 +279.253 +279.254 +279.255 +279.256 +279.257 +279.258 +279.259 +279.260 +279.261 +279.262 +279.263 +279.264 +279.265 +279.266 +279.267 +279.268 +279.269 +279.270 +280.238 +280.239 +280.240 +280.241 +280.242 +280.243 +280.244 +280.245 +280.246 +280.247 +280.248 +280.249 +280.250 +280.251 +280.252 +280.253 +280.254 +280.255 +280.256 +280.257 +280.258 +280.259 +280.260 +280.261 +280.262 +280.263 +280.264 +280.265 +280.266 +280.267 +280.268 +280.269 +280.270 +281.238 +281.239 +281.240 +281.241 +281.242 +281.243 +281.244 +281.245 +281.246 +281.247 +281.248 +281.249 +281.250 +281.251 +281.252 +281.253 +281.254 +281.255 +281.256 +281.257 +281.258 +281.259 +281.260 +281.261 +281.262 +281.263 +281.264 +281.265 +281.266 +281.267 +281.268 +281.269 +281.270 +282.238 +282.239 +282.240 +282.241 +282.242 +282.243 +282.244 +282.245 +282.246 +282.247 +282.248 +282.249 +282.250 +282.251 +282.252 +282.253 +282.254 +282.255 +282.256 +282.257 +282.258 +282.259 +282.260 +282.261 +282.262 +282.263 +282.264 +282.265 +282.266 +282.267 +282.268 +282.269 +282.270 +283.238 +283.239 +283.240 +283.241 +283.242 +283.243 +283.244 +283.245 +283.246 +283.247 +283.248 +283.249 +283.250 +283.251 +283.252 +283.253 +283.254 +283.255 +283.256 +283.257 +283.258 +283.259 +283.260 +283.261 +283.262 +283.263 +283.264 +283.265 +283.266 +283.267 +283.268 +283.269 +283.270 +284.238 +284.239 +284.240 +284.241 +284.242 +284.243 +284.244 +284.245 +284.246 +284.247 +284.248 +284.249 +284.250 +284.251 +284.252 +284.253 +284.254 +284.255 +284.256 +284.257 +284.258 +284.259 +284.260 +284.261 +284.262 +284.263 +284.264 +284.265 +284.266 +284.267 +284.268 +284.269 +284.270 +285.238 +285.239 +285.240 +285.241 +285.242 +285.243 +285.244 +285.245 +285.246 +285.247 +285.248 +285.249 +285.250 +285.251 +285.252 +285.253 +285.254 +285.255 +285.256 +285.257 +285.258 +285.259 +285.260 +285.261 +285.262 +285.263 +285.264 +285.265 +285.266 +285.267 +285.268 +285.269 +285.270 +286.238 +286.239 +286.240 +286.241 +286.242 +286.243 +286.244 +286.245 +286.246 +286.247 +286.248 +286.249 +286.250 +286.251 +286.252 +286.253 +286.254 +286.255 +286.256 +286.257 +286.258 +286.259 +286.260 +286.261 +286.262 +286.263 +286.264 +286.265 +286.266 +286.267 +286.268 +286.269 +286.270 +287.238 +287.239 +287.240 +287.241 +287.242 +287.243 +287.244 +287.245 +287.246 +287.247 +287.248 +287.249 +287.250 +287.251 +287.252 +287.253 +287.254 +287.255 +287.256 +287.257 +287.258 +287.259 +287.260 +287.261 +287.262 +287.263 +287.264 +287.265 +287.266 +287.267 +287.268 +287.269 +287.270 +288.238 +288.239 +288.240 +288.241 +288.242 +288.243 +288.244 +288.245 +288.246 +288.247 +288.248 +288.249 +288.250 +288.251 +288.252 +288.253 +288.254 +288.255 +288.256 +288.257 +288.258 +288.259 +288.260 +288.261 +288.262 +288.263 +288.264 +288.265 +288.266 +288.267 +288.268 +288.269 +288.270 +289.238 +289.239 +289.240 +289.241 +289.242 +289.243 +289.244 +289.245 +289.246 +289.247 +289.248 +289.249 +289.250 +289.251 +289.252 +289.253 +289.254 +289.255 +289.256 +289.257 +289.258 +289.259 +289.260 +289.261 +289.262 +289.263 +289.264 +289.265 +289.266 +289.267 +289.268 +289.269 +289.270 +290.238 +290.239 +290.240 +290.241 +290.242 +290.243 +290.244 +290.245 +290.246 +290.247 +290.248 +290.249 +290.250 +290.251 +290.252 +290.253 +290.254 +290.255 +290.256 +290.257 +290.258 +290.259 +290.260 +290.261 +290.262 +290.263 +290.264 +290.265 +290.266 +290.267 +290.268 +290.269 +290.270 +290.271 +291.238 +291.239 +291.240 +291.241 +291.242 +291.243 +291.244 +291.245 +291.246 +291.247 +291.248 +291.249 +291.250 +291.251 +291.252 +291.253 +291.254 +291.255 +291.256 +291.257 +291.258 +291.259 +291.260 +291.261 +291.262 +291.263 +291.264 +291.265 +291.266 +291.267 +291.268 +291.269 +291.270 +292.238 +292.239 +292.240 +292.241 +292.242 +292.243 +292.244 +292.245 +292.246 +292.247 +292.248 +292.249 +292.250 +292.251 +292.252 +292.253 +292.254 +292.255 +292.256 +292.257 +292.258 +292.259 +292.260 +292.261 +292.262 +292.263 +292.264 +292.265 +292.266 +292.267 +292.268 +292.269 +292.270 +293.238 +293.239 +293.240 +293.241 +293.242 +293.243 +293.244 +293.245 +293.246 +293.247 +293.248 +293.249 +293.250 +293.251 +293.252 +293.253 +293.254 +293.255 +293.256 +293.257 +293.258 +293.259 +293.260 +293.261 +293.262 +293.263 +293.264 +293.265 +293.266 +293.267 +293.268 +293.269 +294.238 +294.239 +294.240 +294.241 +294.242 +294.243 +294.244 +294.245 +294.246 +294.247 +294.248 +294.249 +294.250 +294.251 +294.252 +294.253 +294.254 +294.255 +294.256 +294.257 +294.258 +294.259 +294.260 +294.261 +294.262 +294.263 +294.264 +294.265 +294.266 +294.267 +294.268 +294.269 +295.238 +295.239 +295.240 +295.241 +295.242 +295.243 +295.244 +295.245 +295.246 +295.247 +295.248 +295.249 +295.250 +295.251 +295.252 +295.253 +295.254 +295.255 +295.256 +295.257 +295.258 +295.259 +295.260 +295.261 +295.262 +295.263 +295.264 +295.265 +295.266 +295.267 +295.268 +295.269 +296.238 +296.239 +296.240 +296.241 +296.242 +296.243 +296.244 +296.245 +296.246 +296.247 +296.248 +296.249 +296.250 +296.251 +296.252 +296.253 +296.254 +296.255 +296.256 +296.257 +296.258 +296.259 +296.260 +296.261 +296.262 +296.263 +296.264 +296.265 +296.266 +296.267 +296.268 +297.238 +297.239 +297.240 +297.241 +297.242 +297.243 +297.244 +297.245 +297.246 +297.247 +297.248 +297.249 +297.250 +297.251 +297.252 +297.253 +297.254 +297.255 +297.256 +297.257 +297.258 +297.259 +297.260 +297.261 +297.262 +297.263 +297.264 +297.265 +297.266 +297.267 +297.268 +298.238 +298.239 +298.240 +298.241 +298.242 +298.243 +298.244 +298.245 +298.246 +298.247 +298.248 +298.249 +298.250 +298.251 +298.252 +298.253 +298.254 +298.255 +298.256 +298.257 +298.258 +298.259 +298.260 +298.261 +298.262 +298.263 +298.264 +298.265 +298.266 +298.267 +299.238 +299.239 +299.240 +299.241 +299.242 +299.243 +299.244 +299.245 +299.246 +299.247 +299.248 +299.249 +299.250 +299.251 +299.252 +299.253 +299.254 +299.255 +299.256 +299.257 +299.258 +299.259 +299.260 +299.261 +299.262 +299.263 +299.264 +299.265 +299.266 +299.267 +300.238 +300.239 +300.240 +300.241 +300.242 +300.243 +300.244 +300.245 +300.246 +300.247 +300.248 +300.249 +300.250 +300.251 +300.252 +300.253 +300.254 +300.255 +300.256 +300.257 +300.258 +300.259 +300.260 +300.261 +300.262 +300.263 +300.264 +300.265 +300.266 +300.267 +301.238 +301.239 +301.240 +301.241 +301.242 +301.243 +301.244 +301.245 +301.246 +301.247 +301.248 +301.249 +301.250 +301.251 +301.252 +301.253 +301.254 +301.255 +301.256 +301.257 +301.258 +301.259 +301.260 +301.261 +301.262 +301.263 +301.264 +301.265 +301.266 +302.238 +302.239 +302.240 +302.241 +302.242 +302.243 +302.244 +302.245 +302.246 +302.247 +302.248 +302.249 +302.250 +302.251 +302.252 +302.253 +302.254 +302.255 +302.256 +302.257 +302.258 +302.259 +302.260 +302.261 +302.262 +302.263 +302.264 +302.265 +302.266 +303.238 +303.239 +303.240 +303.241 +303.242 +303.243 +303.244 +303.245 +303.246 +303.247 +303.248 +303.249 +303.250 +303.251 +303.252 +303.253 +303.254 +303.255 +303.256 +303.257 +303.258 +303.259 +303.260 +303.261 +303.262 +303.263 +303.264 +303.265 +304.238 +304.239 +304.240 +304.241 +304.242 +304.243 +304.244 +304.245 +304.246 +304.247 +304.248 +304.249 +304.250 +304.251 +304.252 +304.253 +304.254 +304.255 +304.256 +304.257 +304.258 +304.259 +304.260 +304.261 +304.262 +304.263 +304.264 +304.265 +305.238 +305.239 +305.240 +305.241 +305.242 +305.243 +305.244 +305.245 +305.246 +305.247 +305.248 +305.249 +305.250 +305.251 +305.252 +305.253 +305.254 +305.255 +305.256 +305.257 +305.258 +305.259 +305.260 +305.261 +305.262 +305.263 +305.264 +306.238 +306.239 +306.240 +306.241 +306.242 +306.243 +306.244 +306.245 +306.246 +306.247 +306.248 +306.249 +306.250 +306.251 +306.252 +306.253 +306.254 +306.255 +306.256 +306.257 +306.258 +306.259 +306.260 +306.261 +306.262 +306.263 +306.264 +307.238 +307.239 +307.240 +307.241 +307.242 +307.243 +307.244 +307.245 +307.246 +307.247 +307.248 +307.249 +307.250 +307.251 +307.252 +307.253 +307.254 +307.255 +307.256 +307.257 +307.258 +307.259 +307.260 +307.261 +307.262 +307.263 +308.238 +308.239 +308.240 +308.241 +308.242 +308.243 +308.244 +308.245 +308.246 +308.247 +308.248 +308.249 +308.250 +308.251 +308.252 +308.253 +308.254 +308.255 +308.257 +308.258 +308.259 +308.260 +308.261 +308.262 +308.263 +309.238 +309.239 +309.240 +309.241 +309.242 +309.243 +309.244 +309.245 +309.246 +309.247 +309.248 +309.249 +309.250 +309.251 +309.252 +309.253 +309.254 +309.255 +309.257 +309.258 +309.259 +309.260 +309.261 +309.262 +309.263 +310.238 +310.239 +310.240 +310.241 +310.242 +310.243 +310.244 +310.245 +310.246 +310.247 +310.248 +310.249 +310.250 +310.251 +310.252 +310.253 +310.254 +310.255 +310.257 +310.258 +310.259 +310.260 +310.261 +310.262 +311.238 +311.239 +311.240 +311.241 +311.242 +311.243 +311.244 +311.245 +311.246 +311.247 +311.248 +311.249 +311.250 +311.251 +311.252 +311.253 +311.254 +311.255 +311.257 +311.258 +311.259 +311.260 +311.261 +312.238 +312.239 +312.240 +312.241 +312.242 +312.243 +312.244 +312.245 +312.246 +312.247 +312.248 +312.249 +312.250 +312.251 +312.252 +312.253 +312.254 +312.255 +312.257 +312.258 +312.259 +312.260 +312.261 +313.238 +313.239 +313.240 +313.241 +313.242 +313.243 +313.244 +313.245 +313.246 +313.247 +313.248 +313.249 +313.250 +313.251 +313.252 +313.253 +313.254 +313.255 +313.257 +313.258 +313.259 +314.238 +314.239 +314.240 +314.241 +314.242 +314.243 +314.244 +314.245 +314.246 +314.247 +314.248 +314.249 +314.250 +314.251 +314.252 +314.253 +314.254 +314.255 +314.257 +314.258 +314.259 +315.238 +315.239 +315.240 +315.241 +315.242 +315.243 +315.244 +315.245 +315.246 +315.247 +315.248 +315.249 +315.250 +315.251 +315.252 +315.253 +315.254 +315.255 +315.257 +315.258 +315.259 +316.238 +316.239 +316.240 +316.241 +316.242 +316.243 +316.244 +316.245 +316.246 +316.247 +316.248 +316.249 +316.250 +316.251 +316.252 +316.253 +316.254 +316.255 +316.257 +316.258 +317.238 +317.239 +317.240 +317.241 +317.242 +317.243 +317.244 +317.245 +317.246 +317.247 +317.248 +317.249 +317.250 +317.251 +317.252 +317.253 +317.254 +317.255 +317.257 +318.238 +318.239 +318.240 +318.241 +318.242 +318.243 +318.244 +318.245 +318.246 +318.247 +318.248 +318.249 +318.250 +318.251 +318.252 +318.253 +318.254 +318.255 +318.257 +319.238 +319.239 +319.240 +319.241 +319.242 +319.243 +319.244 +319.245 +319.246 +319.247 +319.248 +319.249 +319.250 +319.251 +319.252 +319.253 +319.254 +319.255 +320.238 +320.239 +320.240 +320.241 +320.242 +320.243 +320.244 +320.245 +320.246 +320.247 +320.248 +320.249 +320.250 +320.251 +320.252 +320.253 +320.254 +320.255 +321.238 +321.239 +321.240 +321.241 +321.242 +321.243 +321.244 +321.245 +321.246 +321.247 +321.248 +321.249 +321.250 +321.251 +321.252 +321.253 +321.254 +321.255 +322.238 +322.239 +322.240 +322.241 +322.242 +322.243 +322.244 +322.245 +322.246 +322.247 +322.248 +322.249 +322.250 +322.251 +322.252 +322.253 +322.254 +323.238 +323.239 +323.240 +323.241 +323.242 +323.243 +323.244 +323.245 +323.246 +323.247 +323.248 +323.249 +323.250 +323.251 +323.252 +323.253 +323.254 +324.238 +324.239 +324.240 +324.241 +324.242 +324.243 +324.244 +324.245 +324.246 +324.247 +324.248 +324.249 +324.250 +324.251 +324.252 +324.253 +325.238 +325.239 +325.240 +325.241 +325.242 +325.243 +325.244 +325.245 +325.246 +325.247 +325.248 +325.249 +325.250 +325.251 +325.252 +325.253 +326.238 +326.239 +326.240 +326.241 +326.242 +326.243 +326.244 +326.245 +326.246 +326.247 +326.248 +326.249 +326.250 +326.251 +326.252 +327.238 +327.239 +327.240 +327.241 +327.242 +327.243 +327.244 +327.245 +327.246 +327.247 +327.248 +327.249 +327.250 +327.251 +327.252 +328.238 +328.239 +328.240 +328.241 +328.242 +328.243 +328.244 +328.245 +328.246 +328.247 +328.248 +328.249 +328.250 +328.251 +329.238 +329.239 +329.240 +329.241 +329.242 +329.243 +329.244 +329.245 +329.246 +329.247 +329.248 +329.249 +329.250 +329.251 +330.238 +330.239 +330.240 +330.241 +330.242 +330.243 +330.244 +330.245 +330.246 +330.247 +330.248 +330.249 +330.250 +331.238 +331.239 +331.240 +331.241 +331.242 +331.243 +331.244 +331.245 +331.246 +331.247 +331.248 +331.249 +331.250 +332.238 +332.239 +332.240 +332.241 +332.242 +332.243 +332.244 +332.245 +332.246 +332.247 +332.248 +332.249 +333.238 +333.239 +333.240 +333.241 +333.242 +333.243 +333.244 +333.245 +333.246 +333.247 +333.248 +333.249 +334.238 +334.239 +334.240 +334.241 +334.242 +334.243 +334.244 +334.245 +334.246 +334.247 +334.248 +335.238 +335.239 +335.240 +335.241 +335.242 +335.243 +335.244 +335.245 +335.246 +335.247 +336.238 +336.239 +336.240 +336.241 +336.242 +336.243 +336.244 +336.245 +336.246 +336.247 +337.238 +337.239 +337.240 +337.241 +337.242 +337.243 +337.244 +337.245 +337.246 +338.238 +338.239 +338.240 +338.241 +338.242 +338.243 +338.244 +338.245 +339.238 +339.239 +339.240 +339.241 +339.242 +339.243 +339.244 +339.245 +340.238 +340.239 +340.240 +340.241 +340.242 +340.243 +340.244 +340.245 +341.238 +341.239 +341.240 +341.241 +341.242 +341.243 +341.244 +341.245 +342.238 +342.239 +342.240 +342.241 +342.242 +342.243 +342.244 +342.245 +343.238 +343.239 +343.240 +343.241 +343.242 +343.243 +343.244 +343.245 +343.250 +344.238 +344.239 +344.240 +344.241 +344.242 +344.243 +344.244 +344.245 +344.250 +345.238 +345.239 +345.240 +345.241 +345.242 +345.243 +345.244 +345.245 +345.249 +345.250 +346.238 +346.239 +346.240 +346.241 +346.242 +346.243 +346.244 +346.245 +346.248 +346.249 +346.250 +347.238 +347.239 +347.240 +347.241 +347.242 +347.243 +347.244 +347.245 +347.247 +347.248 +347.249 +347.250 +348.239 +348.240 +348.241 +348.242 +348.243 +348.244 +348.245 +348.246 +348.247 +348.248 +348.249 +348.250 +349.239 +349.240 +349.241 +349.242 +349.243 +349.244 +349.245 +349.246 +349.247 +349.248 +349.249 +349.250 +350.239 +350.240 +350.241 +350.242 +350.243 +350.244 +350.245 +350.246 +350.247 +350.248 +350.249 +350.250 +351.239 +351.240 +351.241 +351.242 +351.243 +351.244 +351.245 +351.246 +351.247 +351.248 +351.249 +351.250 +352.239 +352.240 +352.241 +352.242 +352.243 +352.244 +352.245 +352.246 +352.247 +352.248 +352.249 +352.250 +353.239 +353.240 +353.241 +353.242 +353.243 +353.244 +353.245 +353.246 +353.247 +353.248 +353.249 +353.250 +354.239 +354.240 +354.241 +354.242 +354.243 +354.244 +354.245 +354.246 +354.247 +354.248 +354.249 +354.250 +355.239 +355.240 +355.241 +355.242 +355.243 +355.244 +355.245 +355.246 +355.247 +355.248 +355.249 +355.250 +356.239 +356.240 +356.241 +356.242 +356.243 +356.244 +356.245 +356.246 +356.247 +356.248 +356.249 +356.250 +357.239 +357.240 +357.241 +357.242 +357.243 +357.244 +357.245 +357.246 +357.247 +357.248 +357.249 +357.250 +358.239 +358.240 +358.241 +358.242 +358.243 +358.244 +358.245 +358.246 +358.247 +358.248 +358.249 +359.239 +359.240 +359.241 +359.242 +359.243 +359.244 +359.245 +359.246 +359.247 +359.248 +359.249 +360.239 +360.240 +360.241 +360.242 +360.243 +360.244 +360.245 +360.246 +360.247 +360.248 +361.239 +361.240 +361.241 +361.242 +361.243 +361.244 +361.245 +361.246 +361.247 +361.248 +362.238 +362.239 +362.240 +362.241 +362.242 +362.243 +362.244 +362.245 +362.246 +362.247 +363.238 +363.239 +363.240 +363.241 +363.242 +363.243 +363.244 +363.245 +363.246 +363.247 +364.238 +364.239 +364.240 +364.241 +364.242 +364.243 +364.244 +364.245 +364.246 +365.238 +365.239 +365.240 +365.241 +365.242 +365.243 +365.244 +365.245 +366.238 +366.239 +366.240 +366.241 +366.242 +366.243 +366.244 +366.245 +367.238 +367.239 +367.240 +367.241 +367.242 +367.243 +367.244 +368.238 +368.239 +368.240 +368.241 +368.242 +368.243 +368.244 +369.238 +369.239 +369.240 +369.241 +369.242 +369.243 +370.238 +370.239 +370.240 +370.241 +370.242 +371.238 +371.239 +371.240 +371.241 +372.238 +372.239 +372.240 +372.241 +373.238 +373.239 +373.240 +374.238 +374.239 +374.240 +375.238 +375.239 +376.238 diff --git a/auxdir/CFIS/tiles_202106/tiles_P5.txt b/auxdir/CFIS/tiles_202106/tiles_P5.txt new file mode 100644 index 000000000..644c04dbe --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P5.txt @@ -0,0 +1,3087 @@ +283.275 +284.274 +284.275 +285.274 +285.275 +286.273 +286.274 +286.275 +287.273 +287.274 +287.275 +288.272 +288.273 +288.274 +288.275 +289.272 +289.273 +289.274 +289.275 +290.272 +290.273 +290.274 +290.275 +291.271 +291.272 +291.273 +291.274 +291.275 +292.271 +292.272 +292.273 +292.274 +292.275 +293.270 +293.271 +293.272 +293.273 +293.274 +293.275 +294.270 +294.271 +294.272 +294.273 +294.274 +294.275 +295.270 +295.271 +295.272 +295.273 +295.274 +295.275 +296.269 +296.270 +296.271 +296.272 +296.273 +296.274 +296.275 +297.269 +297.270 +297.271 +297.272 +297.273 +297.274 +297.275 +298.268 +298.269 +298.270 +298.271 +298.272 +298.273 +298.274 +298.275 +299.268 +299.269 +299.270 +299.271 +299.272 +299.273 +299.274 +299.275 +300.268 +300.269 +300.270 +300.271 +300.272 +300.273 +300.274 +300.275 +301.268 +301.269 +301.270 +301.271 +301.272 +301.273 +301.274 +301.275 +302.268 +302.269 +302.270 +302.271 +302.272 +302.273 +302.274 +302.275 +303.268 +303.269 +303.270 +303.271 +303.272 +303.273 +303.274 +303.275 +304.268 +304.269 +304.270 +304.271 +304.272 +304.273 +304.274 +304.275 +305.268 +305.269 +305.270 +305.271 +305.272 +305.273 +305.274 +305.275 +306.268 +306.269 +306.270 +306.271 +306.272 +306.273 +306.274 +306.275 +307.268 +307.269 +307.270 +307.271 +307.272 +307.273 +307.274 +307.275 +308.268 +308.269 +308.270 +308.271 +308.272 +308.273 +308.274 +308.275 +309.268 +309.269 +309.270 +309.271 +309.272 +309.273 +309.274 +309.275 +310.268 +310.269 +310.270 +310.271 +310.272 +310.273 +310.274 +310.275 +311.268 +311.269 +311.270 +311.271 +311.272 +311.273 +311.274 +311.275 +312.267 +312.268 +312.269 +312.270 +312.271 +312.272 +312.273 +312.274 +312.275 +313.267 +313.268 +313.269 +313.270 +313.271 +313.272 +313.273 +313.274 +313.275 +314.266 +314.267 +314.268 +314.269 +314.270 +314.271 +314.272 +314.273 +314.274 +314.275 +315.266 +315.267 +315.268 +315.269 +315.270 +315.271 +315.272 +315.273 +315.274 +315.275 +316.266 +316.267 +316.268 +316.269 +316.270 +316.271 +316.272 +316.273 +316.274 +316.275 +317.265 +317.266 +317.267 +317.268 +317.269 +317.270 +317.271 +317.272 +317.273 +317.274 +317.275 +318.265 +318.266 +318.267 +318.268 +318.269 +318.270 +318.271 +318.272 +318.273 +318.274 +318.275 +319.264 +319.265 +319.266 +319.267 +319.268 +319.269 +319.270 +319.271 +319.272 +319.273 +319.274 +319.275 +320.264 +320.265 +320.266 +320.267 +320.268 +320.269 +320.270 +320.271 +320.272 +320.273 +320.274 +320.275 +321.263 +321.264 +321.265 +321.266 +321.267 +321.268 +321.269 +321.270 +321.271 +321.272 +321.273 +321.274 +321.275 +322.263 +322.264 +322.265 +322.266 +322.267 +322.268 +322.269 +322.270 +322.271 +322.272 +322.273 +322.274 +322.275 +323.261 +323.262 +323.263 +323.264 +323.265 +323.266 +323.267 +323.268 +323.269 +323.270 +323.271 +323.272 +323.273 +323.274 +323.275 +324.261 +324.262 +324.263 +324.264 +324.265 +324.266 +324.267 +324.268 +324.269 +324.270 +324.271 +324.272 +324.273 +324.274 +324.275 +325.260 +325.261 +325.262 +325.263 +325.264 +325.265 +325.266 +325.267 +325.268 +325.269 +325.270 +325.271 +325.272 +325.273 +325.274 +325.275 +326.260 +326.261 +326.262 +326.263 +326.264 +326.265 +326.266 +326.267 +326.268 +326.269 +326.270 +326.271 +326.272 +326.273 +326.274 +326.275 +327.259 +327.260 +327.261 +327.262 +327.263 +327.264 +327.265 +327.266 +327.267 +327.268 +327.269 +327.270 +327.271 +327.272 +327.273 +327.274 +327.275 +328.259 +328.260 +328.261 +328.262 +328.263 +328.264 +328.265 +328.266 +328.267 +328.268 +328.269 +328.270 +328.271 +328.272 +328.273 +328.274 +328.275 +329.258 +329.259 +329.260 +329.261 +329.262 +329.263 +329.264 +329.265 +329.266 +329.267 +329.268 +329.269 +329.270 +329.271 +329.272 +329.273 +329.274 +329.275 +330.258 +330.259 +330.260 +330.261 +330.262 +330.263 +330.264 +330.265 +330.266 +330.267 +330.268 +330.269 +330.270 +330.271 +330.272 +330.273 +330.274 +330.275 +331.258 +331.259 +331.260 +331.261 +331.262 +331.263 +331.264 +331.265 +331.266 +331.267 +331.268 +331.269 +331.270 +331.271 +331.272 +331.273 +331.274 +331.275 +332.258 +332.259 +332.260 +332.261 +332.262 +332.263 +332.264 +332.265 +332.266 +332.267 +332.268 +332.269 +332.270 +332.271 +332.272 +332.273 +332.274 +332.275 +333.258 +333.259 +333.260 +333.261 +333.262 +333.263 +333.264 +333.265 +333.266 +333.267 +333.268 +333.269 +333.270 +333.271 +333.272 +333.273 +333.274 +333.275 +334.258 +334.259 +334.260 +334.261 +334.262 +334.263 +334.264 +334.265 +334.266 +334.267 +334.268 +334.269 +334.270 +334.271 +334.272 +334.273 +334.274 +334.275 +335.258 +335.259 +335.260 +335.261 +335.262 +335.263 +335.264 +335.265 +335.266 +335.267 +335.268 +335.269 +335.270 +335.271 +335.272 +335.273 +335.274 +335.275 +336.258 +336.259 +336.260 +336.261 +336.262 +336.263 +336.264 +336.265 +336.266 +336.267 +336.268 +336.269 +336.270 +336.271 +336.272 +336.273 +336.274 +336.275 +337.258 +337.259 +337.260 +337.261 +337.262 +337.263 +337.264 +337.265 +337.266 +337.267 +337.268 +337.269 +337.270 +337.271 +337.272 +337.273 +337.274 +337.275 +338.258 +338.259 +338.260 +338.261 +338.262 +338.263 +338.264 +338.265 +338.266 +338.267 +338.268 +338.269 +338.270 +338.271 +338.272 +338.273 +338.274 +338.275 +339.258 +339.259 +339.260 +339.261 +339.262 +339.263 +339.264 +339.265 +339.266 +339.267 +339.268 +339.269 +339.270 +339.271 +339.272 +339.273 +339.274 +339.275 +340.258 +340.259 +340.260 +340.261 +340.262 +340.263 +340.264 +340.265 +340.266 +340.267 +340.268 +340.269 +340.270 +340.271 +340.272 +340.273 +340.274 +340.275 +341.258 +341.259 +341.260 +341.261 +341.262 +341.263 +341.264 +341.265 +341.266 +341.267 +341.268 +341.269 +341.270 +341.271 +341.272 +341.273 +341.274 +341.275 +342.258 +342.259 +342.260 +342.261 +342.262 +342.263 +342.264 +342.265 +342.266 +342.267 +342.268 +342.269 +342.270 +342.271 +342.272 +342.273 +342.274 +342.275 +343.258 +343.259 +343.260 +343.261 +343.262 +343.263 +343.264 +343.265 +343.266 +343.267 +343.268 +343.269 +343.270 +343.271 +343.272 +343.273 +343.274 +343.275 +344.258 +344.259 +344.260 +344.261 +344.262 +344.263 +344.264 +344.265 +344.266 +344.267 +344.268 +344.269 +344.270 +344.271 +344.272 +344.273 +344.274 +344.275 +345.258 +345.259 +345.260 +345.261 +345.262 +345.263 +345.264 +345.265 +345.266 +345.267 +345.268 +345.269 +345.270 +345.271 +345.272 +345.273 +345.274 +345.275 +346.258 +346.259 +346.260 +346.261 +346.262 +346.263 +346.264 +346.265 +346.266 +346.267 +346.268 +346.269 +346.270 +346.271 +346.272 +346.273 +346.274 +346.275 +347.258 +347.259 +347.260 +347.261 +347.262 +347.263 +347.264 +347.265 +347.266 +347.267 +347.268 +347.269 +347.270 +347.271 +347.272 +347.273 +347.274 +347.275 +348.258 +348.259 +348.260 +348.261 +348.262 +348.263 +348.264 +348.265 +348.266 +348.267 +348.268 +348.269 +348.270 +348.271 +348.272 +348.273 +348.274 +348.275 +349.258 +349.259 +349.260 +349.261 +349.262 +349.263 +349.264 +349.265 +349.266 +349.267 +349.268 +349.269 +349.270 +349.271 +349.272 +349.273 +349.274 +349.275 +350.258 +350.259 +350.260 +350.261 +350.262 +350.263 +350.264 +350.265 +350.266 +350.267 +350.268 +350.269 +350.270 +350.271 +350.272 +350.273 +350.274 +350.275 +351.258 +351.259 +351.260 +351.261 +351.262 +351.263 +351.264 +351.265 +351.266 +351.267 +351.268 +351.269 +351.270 +351.271 +351.272 +351.273 +351.274 +351.275 +352.258 +352.259 +352.260 +352.261 +352.262 +352.263 +352.264 +352.265 +352.266 +352.267 +352.268 +352.269 +352.270 +352.271 +352.272 +352.273 +352.274 +352.275 +353.258 +353.259 +353.260 +353.261 +353.262 +353.263 +353.264 +353.265 +353.266 +353.267 +353.268 +353.269 +353.270 +353.271 +353.272 +353.273 +353.274 +353.275 +354.258 +354.259 +354.260 +354.261 +354.262 +354.263 +354.264 +354.265 +354.266 +354.267 +354.268 +354.269 +354.270 +354.271 +354.272 +354.273 +354.274 +354.275 +355.258 +355.259 +355.260 +355.261 +355.262 +355.263 +355.264 +355.265 +355.266 +355.267 +355.268 +355.269 +355.270 +355.271 +355.272 +355.273 +355.274 +355.275 +356.258 +356.259 +356.260 +356.261 +356.262 +356.263 +356.264 +356.265 +356.266 +356.267 +356.268 +356.269 +356.270 +356.271 +356.272 +356.273 +356.274 +356.275 +357.258 +357.259 +357.260 +357.261 +357.262 +357.263 +357.264 +357.265 +357.266 +357.267 +357.268 +357.269 +357.270 +357.271 +357.272 +357.273 +357.274 +357.275 +358.257 +358.258 +358.259 +358.260 +358.261 +358.262 +358.263 +358.264 +358.265 +358.266 +358.267 +358.268 +358.269 +358.270 +358.271 +358.272 +358.273 +358.274 +358.275 +359.256 +359.257 +359.258 +359.259 +359.260 +359.261 +359.262 +359.263 +359.264 +359.265 +359.266 +359.267 +359.268 +359.269 +359.270 +359.271 +359.272 +359.273 +359.274 +359.275 +360.256 +360.257 +360.258 +360.259 +360.260 +360.261 +360.262 +360.263 +360.264 +360.265 +360.266 +360.267 +360.268 +360.269 +360.270 +360.271 +360.272 +360.273 +360.274 +360.275 +361.255 +361.256 +361.257 +361.258 +361.259 +361.260 +361.261 +361.262 +361.263 +361.264 +361.265 +361.266 +361.267 +361.268 +361.269 +361.270 +361.271 +361.272 +361.273 +361.274 +361.275 +362.254 +362.255 +362.256 +362.257 +362.258 +362.259 +362.260 +362.261 +362.262 +362.263 +362.264 +362.265 +362.266 +362.267 +362.268 +362.269 +362.270 +362.271 +362.272 +362.273 +362.274 +362.275 +363.254 +363.255 +363.256 +363.257 +363.258 +363.259 +363.260 +363.261 +363.262 +363.263 +363.264 +363.265 +363.266 +363.267 +363.268 +363.269 +363.270 +363.271 +363.272 +363.273 +363.274 +363.275 +364.253 +364.254 +364.255 +364.256 +364.257 +364.258 +364.259 +364.260 +364.261 +364.262 +364.263 +364.264 +364.265 +364.266 +364.267 +364.268 +364.269 +364.270 +364.271 +364.272 +364.273 +364.274 +364.275 +365.252 +365.253 +365.254 +365.255 +365.256 +365.257 +365.258 +365.259 +365.260 +365.261 +365.262 +365.263 +365.264 +365.265 +365.266 +365.267 +365.268 +365.269 +365.270 +365.271 +365.272 +365.273 +365.274 +365.275 +366.252 +366.253 +366.254 +366.255 +366.256 +366.257 +366.258 +366.259 +366.260 +366.261 +366.262 +366.263 +366.264 +366.265 +366.266 +366.267 +366.268 +366.269 +366.270 +366.271 +366.272 +366.273 +366.274 +366.275 +367.252 +367.253 +367.254 +367.255 +367.256 +367.257 +367.258 +367.259 +367.260 +367.261 +367.262 +367.263 +367.264 +367.265 +367.266 +367.267 +367.268 +367.269 +367.270 +367.271 +367.272 +367.273 +367.274 +367.275 +368.251 +368.252 +368.253 +368.254 +368.255 +368.256 +368.257 +368.258 +368.259 +368.260 +368.261 +368.262 +368.263 +368.264 +368.265 +368.266 +368.267 +368.268 +368.269 +368.270 +368.271 +368.272 +368.273 +368.274 +368.275 +369.251 +369.252 +369.253 +369.254 +369.255 +369.256 +369.257 +369.258 +369.259 +369.260 +369.261 +369.262 +369.263 +369.264 +369.265 +369.266 +369.267 +369.268 +369.269 +369.270 +369.271 +369.272 +369.273 +369.274 +369.275 +370.250 +370.251 +370.252 +370.253 +370.254 +370.255 +370.256 +370.257 +370.258 +370.259 +370.260 +370.261 +370.262 +370.263 +370.264 +370.265 +370.266 +370.267 +370.268 +370.269 +370.270 +370.271 +370.272 +370.273 +370.274 +370.275 +371.250 +371.251 +371.252 +371.253 +371.254 +371.255 +371.256 +371.257 +371.258 +371.259 +371.260 +371.261 +371.262 +371.263 +371.264 +371.265 +371.266 +371.267 +371.268 +371.269 +371.270 +371.271 +371.272 +371.273 +371.274 +371.275 +372.249 +372.250 +372.251 +372.252 +372.253 +372.254 +372.255 +372.256 +372.257 +372.258 +372.259 +372.260 +372.261 +372.262 +372.263 +372.264 +372.265 +372.266 +372.267 +372.268 +372.269 +372.270 +372.271 +372.272 +372.273 +372.274 +372.275 +373.249 +373.250 +373.251 +373.252 +373.253 +373.254 +373.255 +373.256 +373.257 +373.258 +373.259 +373.260 +373.261 +373.262 +373.263 +373.264 +373.265 +373.266 +373.267 +373.268 +373.269 +373.270 +373.271 +373.272 +373.273 +373.274 +374.249 +374.250 +374.251 +374.252 +374.253 +374.254 +374.255 +374.256 +374.257 +374.258 +374.259 +374.260 +374.261 +374.262 +374.263 +374.264 +374.265 +374.266 +374.267 +374.268 +374.269 +374.270 +374.271 +374.272 +374.273 +374.274 +375.248 +375.249 +375.250 +375.251 +375.252 +375.253 +375.254 +375.255 +375.256 +375.257 +375.258 +375.259 +375.260 +375.261 +375.262 +375.263 +375.264 +375.265 +375.266 +375.267 +375.268 +375.269 +375.270 +375.271 +375.272 +375.273 +375.274 +376.248 +376.249 +376.250 +376.251 +376.252 +376.253 +376.254 +376.255 +376.256 +376.257 +376.258 +376.259 +376.260 +376.261 +376.262 +376.263 +376.264 +376.265 +376.266 +376.267 +376.268 +376.269 +376.270 +376.271 +376.272 +376.273 +376.274 +377.248 +377.249 +377.250 +377.251 +377.252 +377.253 +377.254 +377.255 +377.256 +377.257 +377.258 +377.259 +377.260 +377.261 +377.262 +377.263 +377.264 +377.265 +377.266 +377.267 +377.268 +377.269 +377.270 +377.271 +377.272 +377.273 +378.248 +378.249 +378.250 +378.251 +378.252 +378.253 +378.254 +378.255 +378.256 +378.257 +378.258 +378.259 +378.260 +378.261 +378.262 +378.263 +378.264 +378.265 +378.266 +378.267 +378.268 +378.269 +378.270 +378.271 +378.272 +378.273 +379.248 +379.249 +379.250 +379.251 +379.252 +379.253 +379.254 +379.255 +379.256 +379.257 +379.258 +379.259 +379.260 +379.261 +379.262 +379.263 +379.264 +379.265 +379.266 +379.267 +379.268 +379.269 +379.270 +379.271 +379.272 +379.273 +380.248 +380.249 +380.250 +380.251 +380.252 +380.253 +380.254 +380.255 +380.256 +380.257 +380.258 +380.259 +380.260 +380.261 +380.262 +380.263 +380.264 +380.265 +380.266 +380.267 +380.268 +380.269 +380.270 +380.271 +380.272 +380.273 +381.248 +381.249 +381.250 +381.251 +381.252 +381.253 +381.254 +381.255 +381.256 +381.257 +381.258 +381.259 +381.260 +381.261 +381.262 +381.263 +381.264 +381.265 +381.266 +381.267 +381.268 +381.269 +381.270 +381.271 +381.272 +382.248 +382.249 +382.250 +382.251 +382.252 +382.253 +382.254 +382.255 +382.256 +382.257 +382.258 +382.259 +382.260 +382.261 +382.262 +382.263 +382.264 +382.265 +382.266 +382.267 +382.268 +382.269 +382.270 +382.271 +382.272 +383.248 +383.249 +383.250 +383.251 +383.252 +383.253 +383.254 +383.255 +383.256 +383.257 +383.258 +383.259 +383.260 +383.261 +383.262 +383.263 +383.264 +383.265 +383.266 +383.267 +383.268 +383.269 +383.270 +383.271 +383.272 +384.248 +384.249 +384.250 +384.251 +384.252 +384.253 +384.254 +384.255 +384.256 +384.257 +384.258 +384.259 +384.260 +384.261 +384.262 +384.263 +384.264 +384.265 +384.266 +384.267 +384.268 +384.269 +384.270 +384.271 +385.248 +385.249 +385.250 +385.251 +385.252 +385.253 +385.254 +385.255 +385.256 +385.257 +385.258 +385.259 +385.260 +385.261 +385.262 +385.263 +385.264 +385.265 +385.266 +385.267 +385.268 +385.269 +385.270 +385.271 +386.248 +386.249 +386.250 +386.251 +386.252 +386.253 +386.254 +386.255 +386.256 +386.257 +386.258 +386.259 +386.260 +386.261 +386.262 +386.263 +386.264 +386.265 +386.266 +386.267 +386.268 +386.269 +386.270 +386.271 +387.247 +387.248 +387.249 +387.250 +387.251 +387.252 +387.253 +387.254 +387.255 +387.256 +387.257 +387.258 +387.259 +387.260 +387.261 +387.262 +387.263 +387.264 +387.265 +387.266 +387.267 +387.268 +387.269 +387.270 +387.271 +388.247 +388.248 +388.249 +388.250 +388.251 +388.252 +388.253 +388.254 +388.255 +388.256 +388.257 +388.258 +388.259 +388.260 +388.261 +388.262 +388.263 +388.264 +388.265 +388.266 +388.267 +388.268 +388.269 +388.270 +389.246 +389.247 +389.248 +389.249 +389.250 +389.251 +389.252 +389.253 +389.254 +389.255 +389.256 +389.257 +389.258 +389.259 +389.260 +389.261 +389.262 +389.263 +389.264 +389.265 +389.266 +389.267 +389.268 +389.269 +389.270 +390.246 +390.247 +390.248 +390.249 +390.250 +390.251 +390.252 +390.253 +390.254 +390.255 +390.256 +390.257 +390.258 +390.259 +390.260 +390.261 +390.262 +390.263 +390.264 +390.265 +390.266 +390.267 +390.268 +390.269 +391.245 +391.246 +391.247 +391.248 +391.249 +391.250 +391.251 +391.252 +391.253 +391.254 +391.255 +391.256 +391.257 +391.258 +391.259 +391.260 +391.261 +391.262 +391.263 +391.264 +391.265 +391.266 +391.267 +391.268 +391.269 +392.244 +392.245 +392.246 +392.247 +392.248 +392.249 +392.250 +392.251 +392.252 +392.253 +392.254 +392.255 +392.256 +392.257 +392.258 +392.259 +392.260 +392.261 +392.262 +392.263 +392.264 +392.265 +392.266 +392.267 +392.268 +392.269 +393.244 +393.245 +393.246 +393.247 +393.248 +393.249 +393.250 +393.251 +393.252 +393.253 +393.254 +393.255 +393.256 +393.257 +393.258 +393.259 +393.260 +393.261 +393.262 +393.263 +393.264 +393.265 +393.266 +393.267 +393.268 +394.243 +394.244 +394.245 +394.246 +394.247 +394.248 +394.249 +394.250 +394.251 +394.252 +394.253 +394.254 +394.255 +394.256 +394.257 +394.258 +394.259 +394.260 +394.261 +394.262 +394.263 +394.264 +394.265 +394.266 +394.267 +394.268 +395.242 +395.243 +395.244 +395.245 +395.246 +395.247 +395.248 +395.249 +395.250 +395.251 +395.252 +395.253 +395.254 +395.255 +395.256 +395.257 +395.258 +395.259 +395.260 +395.261 +395.262 +395.263 +395.264 +395.265 +395.266 +395.267 +396.242 +396.243 +396.244 +396.245 +396.246 +396.247 +396.248 +396.249 +396.250 +396.251 +396.252 +396.253 +396.254 +396.255 +396.256 +396.257 +396.258 +396.259 +396.260 +396.261 +396.262 +396.263 +396.264 +396.265 +396.266 +396.267 +397.241 +397.242 +397.243 +397.244 +397.245 +397.246 +397.247 +397.248 +397.249 +397.250 +397.251 +397.252 +397.253 +397.254 +397.255 +397.256 +397.257 +397.258 +397.259 +397.260 +397.261 +397.262 +397.263 +397.264 +397.265 +397.266 +397.267 +398.241 +398.242 +398.243 +398.244 +398.245 +398.246 +398.247 +398.248 +398.249 +398.250 +398.251 +398.252 +398.253 +398.254 +398.255 +398.256 +398.257 +398.258 +398.259 +398.260 +398.261 +398.262 +398.263 +398.264 +398.265 +398.266 +398.267 +399.240 +399.241 +399.242 +399.243 +399.244 +399.245 +399.246 +399.247 +399.248 +399.249 +399.250 +399.251 +399.252 +399.253 +399.254 +399.255 +399.256 +399.257 +399.258 +399.259 +399.260 +399.261 +399.262 +399.263 +399.264 +399.265 +399.266 +400.240 +400.241 +400.242 +400.243 +400.244 +400.245 +400.246 +400.247 +400.248 +400.249 +400.250 +400.251 +400.252 +400.253 +400.254 +400.255 +400.256 +400.257 +400.258 +400.259 +400.260 +400.261 +400.262 +400.263 +400.264 +400.265 +400.266 +401.239 +401.240 +401.241 +401.242 +401.243 +401.244 +401.245 +401.246 +401.247 +401.248 +401.249 +401.250 +401.251 +401.252 +401.253 +401.254 +401.255 +401.256 +401.257 +401.258 +401.259 +401.260 +401.261 +401.262 +401.263 +401.264 +401.265 +401.266 +402.239 +402.240 +402.241 +402.242 +402.243 +402.244 +402.245 +402.246 +402.247 +402.248 +402.249 +402.250 +402.251 +402.252 +402.253 +402.254 +402.255 +402.256 +402.257 +402.258 +402.259 +402.260 +402.261 +402.262 +402.263 +402.264 +402.265 +403.238 +403.239 +403.240 +403.241 +403.242 +403.243 +403.244 +403.245 +403.246 +403.247 +403.248 +403.249 +403.250 +403.251 +403.252 +403.253 +403.254 +403.255 +403.256 +403.257 +403.258 +403.259 +403.260 +403.261 +403.262 +403.263 +403.264 +403.265 +404.238 +404.239 +404.240 +404.241 +404.242 +404.243 +404.244 +404.245 +404.246 +404.247 +404.248 +404.249 +404.250 +404.251 +404.252 +404.253 +404.254 +404.255 +404.256 +404.257 +404.258 +404.259 +404.260 +404.261 +404.262 +404.263 +404.264 +404.265 +405.238 +405.239 +405.240 +405.241 +405.242 +405.243 +405.244 +405.245 +405.246 +405.247 +405.248 +405.249 +405.250 +405.251 +405.252 +405.253 +405.254 +405.255 +405.256 +405.257 +405.258 +405.259 +405.260 +405.261 +405.262 +405.263 +405.264 +406.238 +406.239 +406.240 +406.241 +406.242 +406.243 +406.244 +406.245 +406.246 +406.247 +406.248 +406.249 +406.250 +406.251 +406.252 +406.253 +406.254 +406.255 +406.256 +406.257 +406.258 +406.259 +406.260 +406.261 +406.262 +406.263 +406.264 +407.238 +407.239 +407.240 +407.241 +407.242 +407.243 +407.244 +407.245 +407.246 +407.247 +407.248 +407.249 +407.250 +407.251 +407.252 +407.253 +407.254 +407.255 +407.256 +407.257 +407.258 +407.259 +407.260 +407.261 +407.262 +407.263 +407.264 +408.238 +408.239 +408.240 +408.241 +408.242 +408.243 +408.244 +408.245 +408.246 +408.247 +408.248 +408.249 +408.250 +408.251 +408.252 +408.253 +408.254 +408.255 +408.256 +408.257 +408.258 +408.259 +408.260 +408.261 +408.262 +408.263 +408.264 +409.238 +409.239 +409.240 +409.241 +409.242 +409.243 +409.244 +409.245 +409.246 +409.247 +409.248 +409.249 +409.250 +409.251 +409.252 +409.253 +409.254 +409.255 +409.256 +409.257 +409.258 +409.259 +409.260 +409.261 +409.262 +409.263 +410.238 +410.239 +410.240 +410.241 +410.242 +410.243 +410.244 +410.245 +410.246 +410.247 +410.248 +410.249 +410.250 +410.251 +410.252 +410.253 +410.254 +410.255 +410.256 +410.257 +410.258 +410.259 +410.260 +410.261 +410.262 +410.263 +411.238 +411.239 +411.240 +411.241 +411.242 +411.243 +411.244 +411.245 +411.246 +411.247 +411.248 +411.249 +411.250 +411.251 +411.252 +411.253 +411.254 +411.255 +411.256 +411.257 +411.258 +411.259 +411.260 +411.261 +411.262 +412.238 +412.239 +412.240 +412.241 +412.242 +412.243 +412.244 +412.245 +412.246 +412.247 +412.248 +412.249 +412.250 +412.251 +412.252 +412.253 +412.254 +412.255 +412.256 +412.257 +412.258 +412.259 +412.260 +412.261 +412.262 +413.238 +413.239 +413.240 +413.241 +413.242 +413.243 +413.244 +413.245 +413.246 +413.247 +413.248 +413.249 +413.250 +413.251 +413.252 +413.253 +413.254 +413.255 +413.256 +413.257 +413.258 +413.259 +413.260 +413.261 +413.262 +414.238 +414.239 +414.240 +414.241 +414.242 +414.243 +414.244 +414.245 +414.246 +414.247 +414.248 +414.249 +414.250 +414.251 +414.252 +414.253 +414.254 +414.255 +414.256 +414.257 +414.258 +414.259 +414.260 +414.261 +415.238 +415.239 +415.240 +415.241 +415.242 +415.243 +415.244 +415.245 +415.246 +415.247 +415.248 +415.249 +415.250 +415.251 +415.252 +415.253 +415.254 +415.255 +415.256 +415.257 +415.258 +415.259 +415.260 +415.261 +416.238 +416.239 +416.240 +416.241 +416.242 +416.243 +416.244 +416.245 +416.246 +416.247 +416.248 +416.249 +416.250 +416.251 +416.252 +416.253 +416.254 +416.255 +416.256 +416.257 +416.258 +416.259 +416.260 +416.261 +417.238 +417.239 +417.240 +417.241 +417.242 +417.243 +417.244 +417.245 +417.246 +417.247 +417.248 +417.249 +417.250 +417.251 +417.252 +417.253 +417.254 +417.255 +417.256 +417.257 +417.258 +417.259 +417.260 +418.238 +418.239 +418.240 +418.241 +418.242 +418.243 +418.244 +418.245 +418.246 +418.247 +418.248 +418.249 +418.250 +418.251 +418.252 +418.253 +418.254 +418.255 +418.256 +418.257 +418.258 +418.259 +418.260 +419.238 +419.239 +419.240 +419.241 +419.242 +419.243 +419.244 +419.245 +419.246 +419.247 +419.248 +419.249 +419.250 +419.251 +419.252 +419.253 +419.254 +419.255 +419.256 +419.257 +419.258 +419.259 +420.238 +420.239 +420.240 +420.241 +420.242 +420.243 +420.244 +420.245 +420.246 +420.247 +420.248 +420.249 +420.250 +420.251 +420.252 +420.253 +420.254 +420.255 +420.256 +420.257 +420.258 +420.259 +421.238 +421.239 +421.240 +421.241 +421.242 +421.243 +421.244 +421.245 +421.246 +421.247 +421.248 +421.249 +421.250 +421.251 +421.252 +421.253 +421.254 +421.255 +421.256 +421.257 +421.258 +422.238 +422.239 +422.240 +422.241 +422.242 +422.243 +422.244 +422.245 +422.246 +422.247 +422.248 +422.249 +422.250 +422.251 +422.252 +422.253 +422.254 +422.255 +422.256 +422.257 +422.258 +423.238 +423.239 +423.240 +423.241 +423.242 +423.243 +423.244 +423.245 +423.246 +423.247 +423.248 +423.249 +423.250 +423.251 +423.252 +423.253 +423.254 +423.255 +423.256 +423.257 +424.238 +424.239 +424.240 +424.241 +424.242 +424.243 +424.244 +424.245 +424.246 +424.247 +424.248 +424.249 +424.250 +424.251 +424.252 +424.253 +424.254 +424.255 +424.256 +424.257 +425.238 +425.239 +425.240 +425.241 +425.242 +425.243 +425.244 +425.245 +425.246 +425.247 +425.248 +425.249 +425.250 +425.251 +425.252 +425.253 +425.254 +425.255 +425.256 +425.257 +426.238 +426.239 +426.240 +426.241 +426.242 +426.243 +426.244 +426.245 +426.246 +426.247 +426.248 +426.249 +426.250 +426.251 +426.252 +426.253 +426.254 +426.255 +426.256 +426.257 +427.238 +427.239 +427.240 +427.241 +427.242 +427.243 +427.244 +427.245 +427.246 +427.247 +427.248 +427.249 +427.250 +427.251 +427.252 +427.253 +427.254 +427.255 +427.256 +427.257 +428.238 +428.239 +428.240 +428.241 +428.242 +428.243 +428.244 +428.245 +428.246 +428.247 +428.248 +428.249 +428.250 +428.251 +428.252 +428.253 +428.254 +428.255 +428.256 +429.238 +429.239 +429.240 +429.241 +429.242 +429.243 +429.244 +429.245 +429.246 +429.247 +429.248 +429.249 +429.250 +429.251 +429.252 +429.253 +429.254 +429.255 +429.256 +430.238 +430.239 +430.240 +430.241 +430.242 +430.243 +430.244 +430.245 +430.246 +430.247 +430.248 +430.249 +430.250 +430.251 +430.252 +430.253 +430.254 +430.255 +430.256 +431.238 +431.239 +431.240 +431.241 +431.242 +431.243 +431.244 +431.245 +431.246 +431.247 +431.248 +431.249 +431.250 +431.251 +431.252 +431.253 +431.254 +431.255 +432.238 +432.239 +432.240 +432.241 +432.242 +432.243 +432.244 +432.245 +432.246 +432.247 +432.248 +432.249 +432.250 +432.251 +432.252 +432.253 +432.254 +432.255 +433.238 +433.239 +433.240 +433.241 +433.242 +433.243 +433.244 +433.245 +433.246 +433.247 +433.248 +433.249 +433.250 +433.251 +433.252 +433.253 +433.254 +433.255 +434.238 +434.239 +434.240 +434.241 +434.242 +434.243 +434.244 +434.245 +434.246 +434.247 +434.248 +434.249 +434.250 +434.251 +434.252 +434.253 +434.254 +435.238 +435.239 +435.240 +435.241 +435.242 +435.243 +435.244 +435.245 +435.246 +435.247 +435.248 +435.249 +435.250 +435.251 +435.252 +435.253 +436.238 +436.239 +436.240 +436.241 +436.242 +436.243 +436.244 +436.245 +436.246 +436.247 +436.248 +436.249 +436.250 +436.251 +436.252 +436.253 +437.238 +437.239 +437.240 +437.241 +437.242 +437.243 +437.244 +437.245 +437.246 +437.247 +437.248 +437.249 +437.250 +437.251 +437.252 +437.253 +438.238 +438.239 +438.240 +438.241 +438.242 +438.243 +438.244 +438.245 +438.246 +438.247 +438.248 +438.249 +438.250 +438.251 +438.252 +438.253 +439.238 +439.239 +439.240 +439.241 +439.242 +439.243 +439.244 +439.245 +439.246 +439.247 +439.248 +439.249 +439.250 +439.251 +439.252 +440.238 +440.239 +440.240 +440.241 +440.242 +440.243 +440.244 +440.245 +440.246 +440.247 +440.248 +440.249 +440.250 +440.251 +440.252 +441.238 +441.239 +441.240 +441.241 +441.242 +441.243 +441.244 +441.245 +441.246 +441.247 +441.248 +441.249 +441.250 +441.251 +442.238 +442.239 +442.240 +442.241 +442.242 +442.243 +442.244 +442.245 +442.246 +442.247 +442.248 +442.249 +442.250 +442.251 +443.238 +443.239 +443.240 +443.241 +443.242 +443.243 +443.244 +443.245 +443.246 +443.247 +443.248 +443.249 +443.250 +443.251 +444.238 +444.239 +444.240 +444.241 +444.242 +444.243 +444.244 +444.245 +444.246 +444.247 +444.248 +444.249 +444.250 +445.238 +445.239 +445.240 +445.241 +445.242 +445.243 +445.244 +445.245 +445.246 +445.247 +445.248 +445.249 +446.238 +446.239 +446.240 +446.241 +446.242 +446.243 +446.244 +446.245 +446.246 +446.247 +446.248 +446.249 +447.238 +447.239 +447.240 +447.241 +447.242 +447.243 +447.244 +447.245 +447.246 +447.247 +447.248 +448.238 +448.239 +448.240 +448.241 +448.242 +448.243 +448.244 +448.245 +448.246 +448.247 +448.248 +449.238 +449.239 +449.240 +449.241 +449.242 +449.243 +449.244 +449.245 +449.246 +449.247 +449.248 +450.238 +450.239 +450.240 +450.241 +450.242 +450.243 +450.244 +450.245 +450.246 +450.247 +451.238 +451.239 +451.240 +451.241 +451.242 +451.243 +451.244 +451.245 +451.246 +451.247 +452.238 +452.239 +452.240 +452.241 +452.242 +452.243 +452.244 +452.245 +452.246 +452.247 +453.238 +453.239 +453.240 +453.241 +453.242 +453.243 +453.244 +453.245 +453.246 +454.238 +454.239 +454.240 +454.241 +454.242 +454.243 +454.244 +454.245 +454.246 +455.238 +455.239 +455.240 +455.241 +455.242 +455.243 +455.244 +455.245 +456.238 +456.239 +456.240 +456.241 +456.242 +456.243 +456.244 +456.245 +457.238 +457.239 +457.240 +457.241 +457.242 +457.243 +457.244 +458.238 +458.239 +458.240 +458.241 +458.242 +458.243 +458.244 +459.238 +459.239 +459.240 +459.241 +459.242 +459.243 +460.238 +460.239 +460.240 +460.241 +460.242 +460.243 +461.238 +461.239 +461.240 +461.241 +461.242 +462.238 +462.239 +462.240 +462.241 +462.242 +463.238 +463.239 +463.240 +463.241 +463.242 +464.238 +464.239 +464.240 +464.241 +465.238 +465.239 +465.240 +465.241 +466.238 +466.239 +466.240 +467.238 +467.239 +467.240 +468.238 +468.239 +469.238 +470.238 diff --git a/auxdir/CFIS/tiles_202106/tiles_P6.txt b/auxdir/CFIS/tiles_202106/tiles_P6.txt new file mode 100644 index 000000000..2d8dd52c3 --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P6.txt @@ -0,0 +1,1773 @@ +188.312 +189.312 +190.314 +191.311 +191.314 +192.311 +192.314 +193.311 +193.314 +194.313 +194.314 +195.310 +195.313 +195.314 +196.310 +196.312 +196.313 +196.314 +197.310 +197.312 +197.313 +197.314 +198.310 +198.312 +198.313 +198.314 +199.309 +199.310 +199.312 +199.313 +199.314 +200.309 +200.310 +200.311 +200.312 +200.313 +200.314 +201.309 +201.310 +201.311 +201.312 +201.313 +201.314 +202.308 +202.309 +202.310 +202.311 +202.312 +202.313 +202.314 +203.308 +203.309 +203.310 +203.311 +203.312 +203.313 +203.314 +204.308 +204.309 +204.310 +204.311 +204.312 +204.313 +204.314 +205.308 +205.309 +205.310 +205.311 +205.312 +205.313 +206.307 +206.308 +206.309 +206.310 +206.311 +206.312 +206.313 +207.307 +207.308 +207.309 +207.310 +207.311 +207.312 +207.313 +208.307 +208.308 +208.309 +208.310 +208.311 +208.312 +208.313 +209.306 +209.307 +209.308 +209.309 +209.310 +209.311 +209.312 +210.306 +210.307 +210.308 +210.309 +210.310 +210.311 +210.312 +211.306 +211.307 +211.308 +211.309 +211.310 +211.311 +211.312 +212.306 +212.307 +212.308 +212.309 +212.310 +212.311 +212.312 +213.305 +213.306 +213.307 +213.308 +213.309 +213.310 +213.311 +214.305 +214.306 +214.307 +214.308 +214.309 +214.310 +214.311 +215.305 +215.306 +215.307 +215.308 +215.309 +215.310 +216.304 +216.305 +216.306 +216.307 +216.308 +216.309 +216.310 +217.304 +217.305 +217.306 +217.307 +217.308 +217.309 +217.310 +218.304 +218.305 +218.306 +218.307 +218.308 +218.309 +218.310 +219.304 +219.305 +219.306 +219.307 +219.308 +219.309 +220.303 +220.304 +220.305 +220.306 +220.307 +220.308 +221.303 +221.304 +221.306 +221.307 +221.308 +222.304 +222.306 +222.307 +222.308 +223.304 +223.306 +223.307 +223.308 +224.302 +224.304 +224.305 +224.306 +224.307 +224.308 +225.305 +225.306 +225.307 +225.308 +226.305 +226.306 +226.307 +226.308 +227.304 +227.305 +227.306 +227.307 +227.308 +228.304 +228.305 +228.306 +228.307 +228.308 +229.304 +229.305 +229.306 +229.307 +229.308 +230.304 +230.305 +230.306 +230.307 +231.304 +231.305 +231.306 +231.307 +232.303 +232.304 +232.305 +232.306 +232.307 +233.303 +233.304 +233.305 +233.306 +233.307 +234.299 +234.303 +234.304 +234.305 +234.306 +235.299 +235.302 +235.303 +235.304 +235.305 +235.306 +236.299 +236.302 +236.303 +236.304 +236.305 +236.306 +237.298 +237.299 +237.301 +237.302 +237.303 +237.304 +237.305 +237.306 +238.298 +238.299 +238.301 +238.302 +238.303 +238.304 +238.305 +239.298 +239.299 +239.300 +239.301 +239.302 +239.303 +239.304 +239.305 +240.298 +240.299 +240.300 +240.301 +240.302 +240.303 +240.304 +240.305 +241.297 +241.298 +241.299 +241.300 +241.301 +241.302 +241.303 +241.304 +241.308 +242.297 +242.298 +242.299 +242.300 +242.301 +242.302 +242.303 +242.304 +242.308 +243.297 +243.298 +243.299 +243.300 +243.301 +243.302 +243.303 +243.304 +243.308 +244.296 +244.297 +244.298 +244.299 +244.300 +244.301 +244.302 +244.303 +244.304 +244.308 +245.296 +245.297 +245.298 +245.299 +245.300 +245.301 +245.302 +245.303 +245.307 +245.308 +246.296 +246.297 +246.298 +246.299 +246.300 +246.301 +246.302 +246.303 +246.307 +246.308 +247.296 +247.297 +247.298 +247.299 +247.300 +247.301 +247.302 +247.303 +247.307 +247.308 +248.295 +248.296 +248.297 +248.298 +248.299 +248.300 +248.301 +248.302 +248.303 +248.306 +248.307 +248.308 +249.295 +249.296 +249.297 +249.298 +249.299 +249.300 +249.301 +249.302 +249.306 +249.307 +250.295 +250.296 +250.297 +250.298 +250.299 +250.300 +250.301 +250.302 +250.306 +250.307 +251.294 +251.295 +251.296 +251.297 +251.298 +251.299 +251.300 +251.301 +251.302 +251.306 +251.307 +252.294 +252.295 +252.296 +252.297 +252.298 +252.299 +252.300 +252.301 +252.305 +252.306 +252.307 +253.294 +253.295 +253.296 +253.297 +253.298 +253.299 +253.300 +253.301 +253.305 +253.306 +254.293 +254.294 +254.295 +254.296 +254.297 +254.298 +254.299 +254.300 +254.301 +254.305 +254.306 +255.293 +255.294 +255.295 +255.296 +255.297 +255.298 +255.299 +255.300 +255.305 +255.306 +256.293 +256.294 +256.295 +256.296 +256.297 +256.298 +256.299 +256.300 +256.304 +256.305 +256.306 +257.293 +257.294 +257.295 +257.296 +257.297 +257.298 +257.299 +257.304 +257.305 +257.306 +258.292 +258.293 +258.294 +258.295 +258.296 +258.297 +258.298 +258.299 +258.304 +258.305 +259.292 +259.293 +259.294 +259.295 +259.296 +259.297 +259.298 +259.299 +259.304 +259.305 +260.292 +260.293 +260.294 +260.295 +260.296 +260.297 +260.298 +260.299 +260.303 +260.304 +260.305 +261.291 +261.292 +261.293 +261.294 +261.295 +261.296 +261.297 +261.298 +261.299 +261.303 +261.304 +261.305 +262.291 +262.292 +262.293 +262.294 +262.295 +262.296 +262.297 +262.298 +262.299 +262.303 +262.304 +263.291 +263.292 +263.293 +263.294 +263.295 +263.296 +263.297 +263.298 +263.299 +263.303 +263.304 +264.290 +264.291 +264.292 +264.293 +264.294 +264.295 +264.296 +264.297 +264.298 +264.299 +264.303 +264.304 +265.290 +265.291 +265.292 +265.293 +265.294 +265.295 +265.296 +265.297 +265.298 +265.299 +265.302 +265.303 +265.304 +266.290 +266.291 +266.292 +266.293 +266.294 +266.295 +266.296 +266.297 +266.298 +266.299 +266.302 +266.303 +266.304 +267.290 +267.291 +267.292 +267.293 +267.294 +267.295 +267.296 +267.297 +267.298 +267.299 +267.302 +267.303 +268.289 +268.290 +268.291 +268.292 +268.293 +268.294 +268.295 +268.296 +268.297 +268.298 +268.299 +268.301 +268.302 +268.303 +269.289 +269.290 +269.291 +269.292 +269.293 +269.294 +269.295 +269.296 +269.297 +269.298 +269.299 +269.301 +269.302 +269.303 +270.289 +270.290 +270.291 +270.292 +270.293 +270.294 +270.295 +270.296 +270.297 +270.298 +270.299 +270.301 +270.302 +271.289 +271.290 +271.291 +271.292 +271.293 +271.294 +271.295 +271.296 +271.297 +271.298 +271.299 +271.301 +271.302 +272.289 +272.290 +272.291 +272.292 +272.293 +272.294 +272.295 +272.296 +272.297 +272.298 +272.299 +272.300 +272.301 +272.302 +273.289 +273.290 +273.291 +273.292 +273.293 +273.294 +273.295 +273.296 +273.297 +273.298 +273.299 +273.300 +273.301 +273.302 +274.287 +274.289 +274.290 +274.291 +274.292 +274.293 +274.294 +274.295 +274.296 +274.297 +274.298 +274.299 +274.300 +274.301 +275.287 +275.289 +275.290 +275.291 +275.292 +275.293 +275.294 +275.295 +275.296 +275.297 +275.298 +275.299 +275.300 +275.301 +276.287 +276.289 +276.290 +276.291 +276.292 +276.293 +276.294 +276.295 +276.296 +276.297 +276.298 +276.299 +276.300 +276.301 +277.286 +277.287 +277.289 +277.290 +277.291 +277.292 +277.293 +277.294 +277.295 +277.296 +277.297 +277.298 +277.299 +277.300 +278.286 +278.287 +278.289 +278.290 +278.291 +278.292 +278.293 +278.294 +278.295 +278.296 +278.297 +278.298 +278.299 +278.300 +279.286 +279.287 +279.289 +279.290 +279.291 +279.292 +279.293 +279.294 +279.295 +279.296 +279.297 +279.298 +279.299 +279.300 +280.286 +280.287 +280.289 +280.290 +280.291 +280.292 +280.293 +280.294 +280.295 +280.296 +280.297 +280.298 +280.299 +280.300 +281.285 +281.286 +281.287 +281.288 +281.289 +281.290 +281.291 +281.292 +281.293 +281.294 +281.295 +281.296 +281.297 +281.298 +281.299 +282.285 +282.286 +282.287 +282.288 +282.289 +282.290 +282.291 +282.292 +282.293 +282.294 +282.295 +282.296 +282.297 +282.298 +282.299 +283.285 +283.286 +283.287 +283.288 +283.289 +283.290 +283.291 +283.292 +283.293 +283.294 +283.295 +283.296 +283.297 +283.298 +283.299 +284.284 +284.285 +284.286 +284.287 +284.288 +284.289 +284.290 +284.291 +284.292 +284.293 +284.294 +284.295 +284.296 +284.297 +284.298 +284.299 +285.284 +285.285 +285.286 +285.287 +285.288 +285.289 +285.290 +285.291 +285.292 +285.293 +285.294 +285.295 +285.296 +285.297 +285.298 +286.284 +286.285 +286.286 +286.287 +286.288 +286.289 +286.290 +286.291 +286.292 +286.293 +286.294 +286.295 +286.296 +286.297 +286.298 +287.283 +287.284 +287.285 +287.286 +287.287 +287.288 +287.289 +287.290 +287.291 +287.292 +287.293 +287.294 +287.295 +287.296 +287.297 +287.298 +288.283 +288.284 +288.285 +288.286 +288.287 +288.288 +288.289 +288.290 +288.291 +288.292 +288.293 +288.294 +288.295 +288.296 +288.297 +288.298 +289.283 +289.284 +289.285 +289.286 +289.287 +289.288 +289.289 +289.290 +289.291 +289.292 +289.293 +289.294 +289.295 +289.296 +289.297 +290.282 +290.283 +290.284 +290.285 +290.286 +290.287 +290.288 +290.289 +290.290 +290.291 +290.292 +290.293 +290.294 +290.295 +290.296 +290.297 +291.282 +291.283 +291.284 +291.285 +291.286 +291.287 +291.288 +291.289 +291.290 +291.291 +291.292 +291.293 +291.294 +291.295 +291.296 +291.297 +292.282 +292.283 +292.284 +292.285 +292.286 +292.287 +292.288 +292.289 +292.290 +292.291 +292.292 +292.293 +292.294 +292.295 +292.296 +292.297 +293.281 +293.282 +293.283 +293.284 +293.285 +293.286 +293.287 +293.288 +293.289 +293.290 +293.291 +293.292 +293.293 +293.294 +293.295 +293.296 +294.281 +294.282 +294.283 +294.284 +294.285 +294.286 +294.287 +294.288 +294.289 +294.290 +294.291 +294.292 +294.293 +294.294 +294.295 +294.296 +295.281 +295.282 +295.283 +295.284 +295.285 +295.286 +295.287 +295.288 +295.289 +295.290 +295.291 +295.292 +295.293 +295.294 +295.295 +295.296 +296.280 +296.281 +296.282 +296.283 +296.284 +296.285 +296.286 +296.287 +296.288 +296.289 +296.290 +296.291 +296.292 +296.293 +296.294 +296.295 +296.296 +297.280 +297.281 +297.282 +297.283 +297.284 +297.285 +297.286 +297.287 +297.288 +297.289 +297.290 +297.291 +297.292 +297.293 +297.294 +297.295 +298.280 +298.281 +298.282 +298.283 +298.284 +298.285 +298.286 +298.287 +298.288 +298.289 +298.290 +298.291 +298.292 +298.293 +298.294 +298.295 +299.279 +299.280 +299.281 +299.282 +299.283 +299.284 +299.285 +299.286 +299.287 +299.288 +299.289 +299.290 +299.291 +299.292 +299.293 +299.294 +299.295 +300.279 +300.280 +300.281 +300.282 +300.283 +300.284 +300.285 +300.286 +300.287 +300.288 +300.289 +300.290 +300.291 +300.292 +300.293 +300.294 +300.295 +301.279 +301.280 +301.281 +301.282 +301.283 +301.284 +301.285 +301.286 +301.287 +301.288 +301.289 +301.290 +301.291 +301.292 +301.293 +301.294 +302.278 +302.279 +302.280 +302.281 +302.282 +302.283 +302.284 +302.285 +302.286 +302.287 +302.288 +302.289 +302.290 +302.291 +302.292 +302.293 +302.294 +303.278 +303.279 +303.280 +303.281 +303.282 +303.283 +303.284 +303.285 +303.286 +303.287 +303.288 +303.289 +303.290 +303.291 +303.292 +303.293 +303.294 +304.278 +304.279 +304.280 +304.281 +304.282 +304.283 +304.284 +304.285 +304.286 +304.287 +304.288 +304.289 +304.290 +304.291 +304.292 +304.293 +304.294 +305.277 +305.278 +305.279 +305.280 +305.281 +305.282 +305.283 +305.284 +305.285 +305.286 +305.287 +305.288 +305.289 +305.290 +305.291 +305.292 +305.293 +306.277 +306.278 +306.279 +306.280 +306.281 +306.282 +306.283 +306.284 +306.285 +306.286 +306.287 +306.288 +306.289 +306.290 +306.291 +306.292 +306.293 +307.277 +307.278 +307.279 +307.280 +307.281 +307.282 +307.283 +307.284 +307.285 +307.286 +307.287 +307.288 +307.289 +307.290 +307.291 +307.292 +307.293 +308.276 +308.277 +308.278 +308.279 +308.280 +308.281 +308.282 +308.283 +308.284 +308.285 +308.286 +308.287 +308.288 +308.289 +308.290 +308.291 +308.292 +308.293 +309.276 +309.277 +309.278 +309.279 +309.280 +309.281 +309.282 +309.283 +309.284 +309.285 +309.286 +309.287 +309.288 +309.289 +309.290 +309.291 +309.292 +309.293 +310.276 +310.277 +310.278 +310.279 +310.280 +310.281 +310.282 +310.283 +310.284 +310.285 +310.286 +310.287 +310.288 +310.289 +310.290 +310.291 +310.292 +311.276 +311.277 +311.278 +311.279 +311.280 +311.281 +311.282 +311.283 +311.284 +311.285 +311.286 +311.287 +311.288 +311.289 +311.290 +311.291 +311.292 +312.276 +312.277 +312.278 +312.279 +312.280 +312.281 +312.282 +312.283 +312.284 +312.285 +312.286 +312.287 +312.288 +312.289 +312.290 +312.291 +312.292 +313.276 +313.277 +313.278 +313.279 +313.280 +313.281 +313.282 +313.283 +313.284 +313.285 +313.286 +313.287 +313.288 +313.289 +313.290 +313.291 +314.276 +314.277 +314.278 +314.279 +314.280 +314.281 +314.282 +314.283 +314.284 +314.285 +314.286 +314.287 +314.288 +314.289 +314.290 +314.291 +315.276 +315.277 +315.278 +315.279 +315.280 +315.281 +315.282 +315.283 +315.284 +315.285 +315.286 +315.287 +315.288 +315.289 +315.290 +315.291 +316.276 +316.277 +316.278 +316.279 +316.280 +316.281 +316.282 +316.283 +316.284 +316.285 +316.286 +316.287 +316.288 +316.289 +316.290 +316.291 +317.276 +317.277 +317.278 +317.279 +317.280 +317.281 +317.282 +317.283 +317.284 +317.285 +317.286 +317.287 +317.288 +317.289 +317.290 +318.276 +318.277 +318.278 +318.279 +318.280 +318.281 +318.282 +318.283 +318.284 +318.285 +318.286 +318.287 +318.288 +318.289 +318.290 +319.276 +319.277 +319.278 +319.279 +319.280 +319.281 +319.282 +319.283 +319.284 +319.285 +319.286 +319.287 +319.288 +319.289 +319.290 +320.276 +320.277 +320.278 +320.279 +320.280 +320.281 +320.282 +320.283 +320.284 +320.285 +320.286 +320.287 +320.288 +320.289 +320.290 +321.276 +321.277 +321.278 +321.279 +321.280 +321.281 +321.282 +321.283 +321.284 +321.285 +321.286 +321.287 +321.288 +321.289 +322.276 +322.277 +322.278 +322.279 +322.280 +322.281 +322.282 +322.283 +322.284 +322.285 +322.286 +322.287 +322.288 +322.289 +323.276 +323.277 +323.278 +323.279 +323.280 +323.281 +323.282 +323.283 +323.284 +323.285 +323.286 +323.287 +323.288 +323.289 +324.276 +324.277 +324.278 +324.279 +324.280 +324.281 +324.282 +324.283 +324.284 +324.285 +324.286 +324.287 +324.288 +324.289 +325.276 +325.277 +325.278 +325.279 +325.280 +325.281 +325.282 +325.283 +325.284 +325.285 +325.286 +325.287 +325.288 +326.276 +326.277 +326.278 +326.279 +326.280 +326.281 +326.282 +326.283 +326.284 +326.285 +326.286 +326.287 +326.288 +327.276 +327.277 +327.278 +327.279 +327.280 +327.281 +327.282 +327.283 +327.284 +327.285 +327.286 +327.287 +327.288 +328.276 +328.277 +328.278 +328.279 +328.280 +328.281 +328.282 +328.283 +328.284 +328.285 +328.286 +328.287 +329.276 +329.277 +329.278 +329.279 +329.280 +329.281 +329.282 +329.283 +329.284 +329.285 +329.286 +329.287 +330.276 +330.277 +330.278 +330.279 +330.280 +330.281 +330.282 +330.283 +330.284 +330.285 +330.286 +330.287 +331.276 +331.277 +331.278 +331.279 +331.280 +331.281 +331.282 +331.283 +331.284 +331.285 +331.286 +331.287 +332.276 +332.277 +332.278 +332.279 +332.280 +332.281 +332.282 +332.283 +332.284 +332.285 +332.286 +333.276 +333.277 +333.278 +333.279 +333.280 +333.281 +333.282 +333.283 +333.284 +333.285 +333.286 +334.276 +334.277 +334.278 +334.279 +334.280 +334.281 +334.282 +334.283 +334.284 +334.285 +334.286 +335.276 +335.277 +335.278 +335.279 +335.280 +335.281 +335.282 +335.283 +335.284 +335.285 +335.286 +336.276 +336.277 +336.278 +336.279 +336.280 +336.281 +336.282 +336.283 +336.284 +336.285 +337.276 +337.277 +337.278 +337.279 +337.280 +337.281 +337.282 +337.283 +337.284 +337.285 +338.276 +338.277 +338.278 +338.279 +338.280 +338.281 +338.282 +338.283 +338.284 +338.285 +339.276 +339.277 +339.278 +339.279 +339.280 +339.281 +339.282 +339.283 +339.284 +339.285 +340.276 +340.277 +340.278 +340.279 +340.280 +340.281 +340.282 +340.283 +340.284 +341.276 +341.277 +341.278 +341.279 +341.280 +341.281 +341.282 +341.283 +341.284 +342.276 +342.277 +342.278 +342.279 +342.280 +342.281 +342.282 +342.283 +342.284 +343.276 +343.277 +343.278 +343.279 +343.280 +343.281 +343.282 +343.283 +344.276 +344.277 +344.278 +344.279 +344.280 +344.281 +344.282 +344.283 +345.276 +345.277 +345.278 +345.279 +345.280 +345.281 +345.282 +345.283 +346.276 +346.277 +346.278 +346.279 +346.280 +346.281 +346.282 +346.283 +347.276 +347.277 +347.278 +347.279 +347.280 +347.281 +347.282 +348.276 +348.277 +348.278 +348.279 +348.280 +348.281 +348.282 +349.276 +349.277 +349.278 +349.279 +349.280 +349.281 +349.282 +350.276 +350.277 +350.278 +350.279 +350.280 +350.281 +351.276 +351.277 +351.278 +351.279 +351.280 +351.281 +352.276 +352.277 +352.278 +352.279 +352.280 +352.281 +353.276 +353.277 +353.278 +353.279 +353.280 +353.281 +354.276 +354.277 +354.278 +354.279 +354.280 +355.276 +355.277 +355.278 +355.279 +355.280 +356.276 +356.277 +356.278 +356.279 +356.280 +357.276 +357.277 +357.278 +357.279 +358.276 +358.277 +358.278 +358.279 +359.276 +359.277 +359.278 +359.279 +360.276 +360.277 +360.278 +360.279 +361.276 +361.277 +361.278 +362.276 +362.277 +362.278 +363.276 +363.277 +363.278 +364.276 +364.277 +365.276 +365.277 +366.276 +366.277 +367.276 +368.276 diff --git a/auxdir/CFIS/tiles_202106/tiles_P7.txt b/auxdir/CFIS/tiles_202106/tiles_P7.txt new file mode 100644 index 000000000..535084a2e --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_P7.txt @@ -0,0 +1,231 @@ +052.332 +053.331 +053.332 +054.331 +054.332 +055.330 +055.331 +055.332 +056.330 +056.331 +056.332 +057.329 +057.330 +057.331 +057.332 +058.329 +058.330 +058.331 +058.332 +059.329 +059.330 +059.331 +059.332 +060.329 +060.330 +060.331 +060.332 +061.329 +061.330 +061.331 +061.332 +062.326 +062.329 +062.330 +062.331 +062.332 +063.325 +063.326 +063.329 +063.330 +063.331 +063.332 +064.324 +064.325 +064.326 +064.329 +064.330 +064.331 +064.332 +065.324 +065.325 +065.326 +065.329 +065.330 +065.331 +065.332 +066.321 +066.323 +066.324 +066.325 +066.326 +066.329 +066.330 +066.331 +067.321 +067.322 +067.323 +067.324 +067.325 +067.326 +067.329 +067.330 +067.331 +068.320 +068.321 +068.322 +068.323 +068.324 +068.325 +068.326 +068.329 +068.330 +069.319 +069.320 +069.321 +069.322 +069.323 +069.324 +069.325 +069.326 +069.329 +069.330 +070.319 +070.320 +070.321 +070.322 +070.323 +070.324 +070.325 +070.326 +070.329 +070.330 +071.318 +071.319 +071.320 +071.321 +071.322 +071.323 +071.324 +071.325 +071.326 +071.329 +072.318 +072.319 +072.320 +072.321 +072.322 +072.323 +072.324 +072.325 +072.326 +073.317 +073.318 +073.319 +073.320 +073.321 +073.322 +073.323 +073.324 +073.325 +073.326 +074.317 +074.318 +074.319 +074.320 +074.321 +074.322 +074.323 +074.324 +074.325 +074.326 +075.317 +075.318 +075.319 +075.320 +075.321 +075.322 +075.323 +075.324 +075.325 +075.326 +076.317 +076.318 +076.319 +076.320 +076.321 +076.322 +076.323 +076.324 +076.325 +077.317 +077.318 +077.319 +077.320 +077.321 +077.322 +077.323 +077.324 +077.325 +078.317 +078.318 +078.319 +078.320 +078.321 +078.322 +078.323 +078.324 +079.317 +079.318 +079.319 +079.320 +079.321 +079.322 +079.323 +079.324 +080.317 +080.318 +080.319 +080.320 +080.321 +080.322 +080.323 +081.317 +081.318 +081.319 +081.320 +081.321 +081.322 +081.323 +082.317 +082.318 +082.319 +082.320 +082.321 +082.322 +083.317 +083.318 +083.319 +083.320 +083.321 +084.317 +084.318 +084.319 +084.321 +085.317 +085.318 +085.319 +086.317 +086.318 +087.317 +088.317 +090.302 +091.301 +091.302 +092.301 +092.302 +093.300 +093.301 +094.300 +094.301 +095.300 diff --git a/auxdir/CFIS/tiles_202106/tiles_W3.txt b/auxdir/CFIS/tiles_202106/tiles_W3.txt new file mode 100644 index 000000000..d659e3b4a --- /dev/null +++ b/auxdir/CFIS/tiles_202106/tiles_W3.txt @@ -0,0 +1,214 @@ +245.292 +230.293 +240.292 +247.291 +257.286 +245.290 +270.282 +271.283 +261.283 +264.286 +243.291 +249.289 +260.285 +253.289 +267.282 +251.289 +235.293 +268.284 +238.292 +256.288 +232.293 +253.287 +265.285 +262.283 +251.288 +242.293 +265.286 +266.283 +260.286 +258.287 +250.290 +228.294 +248.289 +266.286 +262.285 +246.288 +247.288 +239.294 +239.292 +275.282 +234.292 +266.282 +239.291 +261.284 +248.288 +267.285 +242.291 +241.290 +255.289 +267.284 +257.287 +255.286 +235.292 +272.284 +248.291 +256.287 +252.287 +267.283 +234.294 +252.286 +254.285 +244.289 +259.286 +242.289 +244.291 +242.292 +236.292 +262.286 +240.293 +251.287 +246.291 +241.293 +238.293 +247.290 +245.291 +247.289 +278.282 +236.294 +264.284 +237.294 +254.287 +231.293 +257.285 +249.291 +235.295 +271.284 +233.293 +256.285 +269.282 +234.295 +235.294 +246.292 +228.295 +258.285 +260.284 +262.282 +230.295 +240.294 +256.289 +264.283 +255.285 +261.287 +252.288 +268.283 +259.283 +258.288 +268.282 +234.293 +272.283 +237.291 +260.287 +224.295 +248.287 +231.295 +270.283 +259.285 +259.288 +236.295 +226.295 +245.289 +237.295 +243.289 +230.294 +261.286 +269.285 +236.291 +238.294 +258.284 +227.295 +263.282 +265.282 +240.291 +271.282 +241.292 +273.283 +232.294 +263.285 +259.284 +254.288 +260.283 +233.294 +251.290 +249.290 +243.293 +263.284 +231.294 +250.288 +240.290 +239.290 +274.282 +238.291 +247.292 +243.290 +254.289 +262.284 +244.292 +248.290 +252.290 +263.286 +232.295 +225.295 +243.292 +259.287 +261.285 +257.288 +237.293 +276.282 +264.282 +255.287 +265.284 +263.283 +244.290 +255.288 +246.290 +272.282 +229.294 +275.283 +266.284 +266.285 +250.287 +264.285 +258.286 +265.283 +227.294 +233.295 +269.284 +274.283 +233.292 +242.290 +268.285 +254.286 +252.289 +250.289 +273.282 +250.291 +249.287 +229.295 +262.287 +256.286 +270.284 +269.283 +257.284 +236.293 +253.288 +239.293 +241.291 +246.289 +249.288 +253.290 +251.286 +245.288 +237.292 +253.286 +277.282 diff --git a/docs/wiki/canfar.md b/docs/wiki/canfar.md index 739c7e99a..e538994e0 100644 --- a/docs/wiki/canfar.md +++ b/docs/wiki/canfar.md @@ -14,25 +14,62 @@ Here are some instructions on how to set up a VM on CANFAR to run the pipeline. ## Contents +1. [Getting access](#getting-access) 1. [Current Set Up](#Current-Set-Up) -1. [Virtual Machine](#Virtual-Machine) +1. [Virtual Machines](#Virtual-Machines) 1. [Batch System](#Batch-System) 1. [Troubleshooting](#Troubleshooting) 1. [Interactive Mode](#Interactive-Mode) 1. [Running a CFIS job](#Running-A-CFIS-Job) + +## Getting access + +The following steps need to be done to get access to all CANFAR and VOS services: + +1. Demand access to CADC (Canadian Astronomy Data Center) + + Go to https://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/en/auth/request.html and fill out the form. + +2. Demand access to CANFAR + + Send an email to [CANFAR support](support@canfar.net) and include: + * your CADC account name; + * a rough amount of required resources (storage capacity and processing capabilities), and if you need batch processing; + * a few sentences describing what you want to do. + +3. Access to the VM system + + Send a mail to [Sebastian Fabbro](sebfabbro@gmail.com) with you ssh public key to ask access to the batch system + and the `shapepipe2` virtual machine (see below). + +4. Access to the UNIONS/CFIS VOSPACE + + If you want to use UNIONS/CFIS data, read the [data access rules](https://www.cfht.hawaii.edu/Science/CFIS/cfisaccess.html). + Then, write an email to the UNIONS [Steering Group](unions-sg@cfht.hawaii.edu) and include: + * brief introduction of your academic status and affiliation; if you are a PhD or master student, please say so, and include + your supervisor's name; + * brief description of what your plan is within UNIONS/CFIS; + * state that you have read the UNIONS/CFIS rules and that you agree with them: + * your CADC user name + + If you are already a UNIONS/CFIS member, but don't have access to the UNIONS/CFIS VOSPACE, write an email to + Stephen Gwyn (Stephen.Gwyn@nrc-cnrc.gc.ca) with you CADC user name, and ask for access. + + + ## Current Set Up ### Instances, snapshots, and VMs -An `instance` contains the base setting, which is used to create VMs, where +An `instance` contains the base setting, which is used to create VMs where in turn jobs are submitted and run. A `snapshot` or `image` is created from an instance, and contains a frozen version of the instance. An instance can have a number of snapshots, e.g. to use different version of some code or library. -A `Virtual Machine` (VM) is a copy of a snapshot on which a job is run. +A `Virtual Machine` (VM) is an identical copy of a snapshot on which a job is run. ### Available Instances @@ -42,8 +79,8 @@ for the project(s) they are registered on the page https://arbutus-canfar.cloud.computecanada.ca/project/instances. For `ShapePipe` we use the following instance: -- `ShapePipe2`: -- 60 GB RAM +- `shapepipe2`: +- 90 GB RAM - 20 GB Disk - 8 CPUs - Flavour: c8-60gb-186 @@ -53,21 +90,24 @@ For `ShapePipe` we use the following instance: All snapshots are listed here: https://arbutus-canfar.cloud.computecanada.ca/project/images -Snapshots created from the `ShapePipe2` instance are typically called -`ShapePipe2-`. +Snapshots created from the `ShapePipe2` instance are conveniently called +`ShapePipe2-`, but other names can be chosen. -Note that if `vos` down- or up-loads to the `canfar` storage are performed by a job, +Note that if `vos` down- or up-loads to the `canfar` VOSPACE storage are performed by a job, this requires a `cadc` certificate, which is valid for 10 days. In that case, a snapshot -will not function anymore later than 10 days after its creation. +will be essentially useless after that period, and should be deleted. -## Virtual Machine +## Virtual Machines -The virtual machine (VM) is a space where we can install software under a given Linux distribution with given CPU, RAM and storage limits. Once we are happy with a given set-up we can freeze these conditions (*i.e.* all the software versions *etc.* currently installed) by creating a *snapshot* that acts like a container for the VM. Jobs can then be submitted through the batch system using a given snapshot. +A virtual machine (VM) is a space where we can install software under a given Linux distribution with given CPU, RAM and storage limits. Once we are happy with a given set-up we can freeze these conditions (*i.e.* all the software versions *etc.* currently installed) by creating a *snapshot* that acts like a container for the VM. Jobs can then be submitted through the batch system using a given snapshot. In general the processing should be done through the batch system and not run directly on the VM. However, tests of the VM and the code to be submitted can be run in (interactive mode)[interactive(-mode] on the VM. -The following steps show how to set up a VM. +### Set up a VM + +The following steps show how to set up a VM that can run `ShapePipe` jobs. In general, this only needs to be done once, after that +the VM is available for further use, and you can skip [ahead](#use-the-vm). 1. Create a VM: @@ -80,94 +120,115 @@ The following steps show how to set up a VM. 2. SSH to VM: Run the following command to connect to a given VM: - ```bash ssh ubuntu@IP_ADDRESS ``` This will connect you to a generic *ubuntu* user space, shared between all users. Once connected software *etc.* can be installed and tested. - > Note: You should only really be connecting to the VM with the intention of creating a new snapshot or running tests with the current set-up. Avoid making any software changes not intended for a new snapshot. - > Note: The person who creates the VM will have to manually added the SSH keys of any other potential user. + You should only really be connecting to the VM with the intention of + - creating a new snapshot + - running tests with the current set-up in interactive mode (see below) + - implementing specific `ShapePipe` software changes to be run an tested, e.g. on a new shapshot. + Changes to `ShapePipe` can be done by e.g. pulling and compiling a new branch. + Avoid making any software changes not intended for a new snapshot. -3. For `ShapePipe`, install the following tools: + > Note: The person who creates the VM will have to manually add the SSH keys of any other potential user and local computer from + where the `ssh` connection is established. - ```bash - sudo apt update - sudo apt install git - sudo apt install make - sudo apt install autoconf - sudo apt install libtool - ``` +3. For `ShapePipe` install the following packages: -4. For `ShapePipe`, install miniconda: + * Install tools - ```bash - wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh - bash Miniconda3-latest-Linux-x86_64.sh - bash - ``` + ```bash + sudo apt update + sudo apt install git + sudo apt install make + sudo apt install autoconf + sudo apt install libtool + ``` + + * Download and install miniconda: + + ```bash + wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh + bash Miniconda3-latest-Linux-x86_64.sh + bash + ``` 5. Install `ShapePipe`: * Add VM SSH key to the `ShapePipe` GitHub repository - - ```bash - ssh-keygen -t rsa -b 4096 -C “EMAIL_ADDRESS” - cat .ssh/id_rsa.pub - ``` - On github, click on your thumbnail in the upper right corner, choose the Settings menu entry, and click on "SSH Keys" on the left. Create a new ssh key by copying the contents of `ssh/id_rsa.pub` to the corresponding field, and provide a name. + ```bash + ssh-keygen -t rsa -b 4096 -C “EMAIL_ADDRESS” + cat .ssh/id_rsa.pub + ``` + On github, click on your thumbnail in the upper right corner, choose the Settings menu entry, and click on "SSH Keys" on the left. Create a new ssh key by copying the contents of `ssh/id_rsa.pub` to the corresponding field, and provide a name. * Clone repository - - ```bash - git clone git@github.com:CosmoStat/shapepipe.git - ``` + ```bash + git clone git@github.com:CosmoStat/shapepipe.git + ``` * Run the install script + ```bash + cd ShapePipe + ./install_shapepipe --vos + ``` - ```bash - cd ShapePipe - ./install_shapepipe --vos - ``` + To test whether `ShapePipe` runs on this VM, go to the next section. - * Activate the `SshapePipe` environment +### Use the VM - ```bash - conda activate shapepipe - ``` +1. SSH to VM: -6. Generate certificate to access VOSPACE: + As before, run the following command to connect to the VM: + ```bash + ssh ubuntu@IP_ADDRESS + ``` + + > Note: The person who creates the VM will have to manually add the SSH keys of any other potential user and local computer from + where the `ssh` connection is established. + +2. Activate the `ShapePipe` environment: + + ```bash + conda activate shapepipe + ``` + +3. Update `ShapePipe` software: + For example, checkout out and pull a new branch from the repository. Or create a new branch on the VM, and implement changes to the + code directly. In that case, don't forget to commit and push to the repository. + + Then, install the software in the `ShapePipe` root directory: + ```bash + python setup.py install + ``` + +4. Generate certificate to access VOSPACE: ```bash cadc-get-cert -u USERNAME ``` When asked, enter your CADC password. A CADC certificate is also needed to transfer data to/from the VOSPACE. -7. Test that pipeline is working and can access multiple VM CPUs: - +5. Optional: Test that the pipeline is working, and is able to access multiple VM CPUs. For example, using the example module + and config file that comes with the package: ```bash ./shapepipe_run.py -c example/config.ini ``` - If the test log returns the expected results the VM should be ready for a snapshot. - -8. Create a snapshot of the VM status: - - On [OpenStack](https://arbutus-canfar.cloud.computecanada.ca/) under "Instances" click the "Create Snapshot" button for the corresponding VM. Be sure to follow the snapshot naming scheme defined for the VM above. - -It will take a few to a few ten minutes until a snapshot is ready to be used. - -9. Update VM and create a new snapshot: - - The VM set-up only needs to be done once, afterwards the VM can simply be modified for new snapshots. *e.g.* pull the latest changes to the pipeline repository and install any new dependencies then repeat step 9. + If the test log returns the expected results the VM is now ready to be saved as a [Snapshot](#snapshot). You can now log out of the VM. ## Batch System -The batch system is a server where jobs can be submitted to the CANFAR cluster using a previously defined snapshot. +The batch system is a server where jobs can be submitted to the CANFAR cluster using a previously defined snapshot. It also serves +to manage and monitor jobs. > Note: You will have to request access from [Sebastian Fabbro](sebfabbro@gmail.com) to the batch system before you can connect. +### Connect and initialise + 1. SSH to batch system: You can connect to the batch system as follows: @@ -181,19 +242,48 @@ The batch system is a server where jobs can be submitted to the CANFAR cluster u 2. Source OpenStack environment variables: ```bash - source lensing-openrc.sh + source ~/lensing-openrc.sh ``` When asked, enter your CADC password. This is a necessary step before submitting jobs. -3. Create a bash script, for example: +### Snapshot + + Create a snapshot of the currently set-up VM, see [Use the VM](#use-the-vm): + + There are two options: - The bash script defines the command lines to be run on the snapshot. The following example script demonstrates how to: + 1. On the terminal. + Type + ```bash + openstack server image create --name shapepipe2 + ``` + + 2. On [OpenStack](https://arbutus-canfar.cloud.computecanada.ca/project/instances). + Under the tab "Instances", click the "Create Snapshot" button for the corresponding VM. Be sure to follow the snapshot naming scheme defined for the VM above. + + For both options, it will take a few to a few ten minutes until a snapshot is ready to be used. + Check the status with: + ```bash + openstack image show -c visibility -c status + ``` + When `status = active`, the job can be started. The field `visibiltiy` has the value `private` before first use, which afterwards changes to `shared`. + + +### Submit a general example job + +We recommend to go through this example to understand how the job submission system works. If you only want to submit +a CFIS job, you may skip [ahead](#). + +1. Create a bash program script. + + The bash program script defines the program (= command lines) to be run on the snapshot. + The following example script demonstrates how to: - activate the ShapePipe environment, - create an output directory, - copy a configuration file to the snapshot from the VOSPACE, - run ShapePipe, - - and copy the output back to the VOSPACE + - copy the output back to the VOSPACE ```bash #!/bin/bash @@ -208,9 +298,9 @@ The batch system is a server where jobs can be submitted to the CANFAR cluster u > Note: The default path for a snapshot is not the `/home/ubuntu` directory, hence the definition of the `VM_HOME` environment variable. -4. Create a job file, for example: +2. Create a job submission file: - The job file defines the script to be run (*i.e.* the bash script previously defined), the corresponding outputs and the computational requirements for the job. + The job submission file defines the bash script to be run (*i.e.* the bash script created above), the corresponding outputs and the computational requirements for the job. ```txt executable = shapepipe.bash @@ -228,40 +318,121 @@ The batch system is a server where jobs can be submitted to the CANFAR cluster u queue ``` -5. Submit a job: +3. Submit the job: - Jobs are submitted using the `canfar_submit` command followed by the previously defined job file, the name of the desired snapshot and the *flavour* of the corresponding VM. + Jobs are submitted using the `canfar_submit` command followed by the previously defined job file, the name of the desired snapshot and the *flavour* of the corresponding VM. - ```bash - > canfar_submit JOB_FILE SNAP_SHOT FLAVOUR - ``` - Make sure that the snapshot is ready to be used, see below to check its status. + ```bash + canfar_submit JOB_FILE SNAP_SHOT FLAVOUR + ``` + Make sure that the snapshot is ready to be used, see below to check its status. -6. Check queue: +### Run a CFIS job - ```bash - condor_status -submitter - ``` - This command tells you running, idle, and held jobs for you and other users. - - Information for your own jobs only: - ```bash - condor_q [-nobatch] - ``` - From there you can get the job ID, which lets you examine your job more closely: - ```bash - condor_q -better-analyse - ``` - - You can do an `ssh` to the VM that is (or will be) running your job for checking: - ```bash - condor_ssh_to_job -auto-retry - ``` - For multi-job submissions, the JOB_IDS has subnumbers, e.g. `1883.0-9`. - You can `ssh` to each of those VMs, with e.g. - ```bash - condor_ssh_to_job -auto-retry 1883.6 - ``` +#### Prepare VOSPACE + +1. Optional: Upload configuration files. + + A CFIS job will first download all configuration files from VOSPACE. This is a convenient way to make quick changes to the configuration + without the need to create a new snapshot. The downside is however that updated versions of config files need to be uploaded before starting a job. The corresponding files are in the directory `example/cfis`, and can be copied to `vos` with: + ```bash + cd /path/to/shapepipe/example + vcp cfis vos:cfis/cosmostat/kilbinger + ``` + This step can be skipped if previously uploaded files are still up to date. + +2. Optional: Check contents of VOS output (results) directory. + + It is recommended that this directory, which can be specified via command line option, see below, is empty, and does not have files from previous runs. The simplest way to clean up is + ```bash + vrmdir vos:cfis/cosmostat/kilbinger/ + vmkdir vos:cfis/cosmostat/kilbinger/ + ``` + > Note: The previous commands will delete all files in the output directory! + +#### Set up and submit job + +To submit a job it is recommended to `cd` into a new subdirectory on the batch system. + +As for the [general job submission](#submit-a-general-example-job), we need a bash program and a job submission script. +The default bash program is [/path/to/shapepipe/scripts/sh/job_sp.bash](https://github.com/CosmoStat/shapepipe/blob/master/scripts/sh/job_sp.bash), but other scripts can be created. +For the job submission script we have the option to create it by hand, or automatically. These two options are described below. + +1. Create job submission script by hand. + + Here is an example of a job submission script: + ```txt + executable = /path/to/shapepipe/scripts/sh/job_sp.bash + + output = log_sp_tile_$(arguments).out + error = log_sp_tile_$(arguments).err + log = log_sp_tile_$(arguments).log + + request_cpus = 8 + request_memory = 19G + request_disk = 100G + + + queue arguments from ( + 255.287 + 256.287 + 258.286 + 259.286 + ) + ``` + The bash program `job_sp.bash` takes one or more tile IDs as arguments. Here, each line in the group + `queue arguments from` is used as argument to the bash program running on a distinct, independent VM instance. + The above example will thus submit four (parallel) jobs to four VM instances, each running `ShapePipe` on one tile. + + To launch a job with more tiles, simply add the corresponding tile IDs to the `queue arguments from ( ... )` list. + + +2. Automatically create job submission file. + + Use the bash script `canfar_submit_selection.sh` to read tile IDs from an ASCII file, and create the job file, + and submit the job. + ```bash + bash ~/shapepipe/scripts/sh/canfar_submit_selection.sh ~/shapepipe/aux/CFIS/tiles_202007/tiles_all_order.txt ShapePipe2-2020207 [-n] + ``` + Add the option `-n` (dry run) to test without submitting the job. + +3. Analysis + + For a summary of the status of submitted jobs from the current directory, type + ```bash + python3 ~/shapepipe/scripts/python/canfar_run_analyse.py + ``` + Results of jobs are uploaded to `vos`. These can be complete results from jobs that finished with success, or partial + results (e.g. log files) from jobs that were stopped due to errors. Download and post-processing analysis of those results should + to be performed on a different machine, e.g. [candide](https://github.com/CosmoStat/shapepipe/blob/master/docs/wiki/candide.md). + +### Check job progress + +1. Check queue: + + ```bash + condor_status -submitter + ``` + This command tells you running, idle, and held jobs for you and other users. + + Information for your own jobs only: + ```bash + condor_q [-nobatch] + ``` + From there you can get the job ID, which lets you examine your job more closely: + ```bash + condor_q -better-analyse + ``` + + You can do an `ssh` to the VM that is (or will be) running your job for checking: + ```bash + condor_ssh_to_job -auto-retry + ``` + For multi-job submissions, the JOB_IDS has subnumbers, e.g. `1883.0-9`. + You can `ssh` to each of those VMs, with e.g. + ```bash + condor_ssh_to_job -auto-retry 1883.6 + ``` ## Troubleshooting @@ -271,15 +442,15 @@ cloud_status -m ``` to check the status of all VMs. -Sometime an snap shot image is not (yet) active and shared, since its creation can take a lot of time. Check the status with: -```bash -openstack image show -c visibility -c status -``` -When `status = active`, the job can be started. The field `visibiltiy` has the value `private` before first use, which afterwards changes to `shared`. +Sometime an snapshot is not (yet) active, see [Snapshop](#snapshot) how to check the status. + +In general, a job should be started within 5 - 10 minutes. This time will increase if the queue is full. If the job is launched before the snap shot status is `active`, it might be stuck in the queue for a long time, or even never start. -In general, a job should be started within 5 - 10 minutes. This time will increase if the queue is full. If the job is launched before the snap shot status is `active`, it might be stuck in the queue for a long time (for ever?). +If a job reports VOS connection problems, the `cadc` certificate might be out of date. -Contact Seb on the canfar slack channel, he usually replies quickly, sometimes there are issues that only he can fix. +Also make sure the correct version or branch of `ShapePipe` is installed on the VM. + +Contact Seb on the canfar slack channel, he usually replies quickly (modulo time zone of UBC), sometimes there are issues that only he can fix. ## Interactive Mode @@ -317,77 +488,7 @@ executable bash script is set up correctly and runs without errors. In case the script needs to write to VM-directories in $VM_ROOT, you can create symbolic links to /mnt/scratch. -## Running a CFIS job - -### Job preparation - -1. Make sure the virtual machine is active, the correct version/branch of `ShapePipe` is installed, and the `cadc` certificate is valid. - -2. Make sure the desired configuration files are uploaded to `vos`. The corresponding files are in the directory `example/cfis`, and can be copied to `vos` with: -```bash -cd /path/to/shapepipe/example -vcp cfis vos:cfis/cosmostat/kilbinger -``` - -3. Make sure the `results` directory on `vos` exists: -```bash -vls vos:cfis/cosmostat/kilbinger -``` -Results (log and catalogue FITS files) will be uploaded there for each tiles. - -It is recommended that this directory is empty, and does not have files from previous runs. The simplest way to clean up is -```bash -vrmdir vos:cfis/cosmostat/kilbinger/results -vmkdir vos:cfis/cosmostat/kilbinger/results -``` - -### Set up job file and submit job - -The two following alternative ways exist to set up and submit a job. For both it is recommended to `cd` into a new subdirectory on the batch system. - -1. Enter tile IDs by hand - - CFIS tiles can be run with the bash script [canfar_sp.bash](https://github.com/CosmoStat/shapepipe/blob/master/scripts/sh/canfar_sp.bash). On the VM via a job script, for example: + To run the example from above of four tiles, type ```bash - executable = ./canfar_sp.bash - - output = log_sp_tile_$(arguments).out - error = log_sp_tile_$(arguments).err - log = log_sp_tile_$(arguments).log - - request_cpus = 8 - request_memory = 19G - request_disk = 100G - - - queue arguments from ( - 277.282 - ) - ``` - To launch a job with more tiles, simply add the corresponding tile IDs to the `queue arguments from (` list. - See (#batch-system) point 5. how to submit a job. - - In interactive mode, type - ```bash - bash canfar_sp.bash 277.282 + bash canfar_sp.bash 255.287 256.287 258.286 259.286 ``` - To run the script on more than one tile, add the IDs as command line arguments. - -2. Using tile IDs from file - - Use the bash script `canfar_submit_selection.sh` to automatically read tile IDs from an ASCII file, create the job file, - and submit the job. - ```bash - bash ~/shapepipe/scripts/sh/canfar_submit_selection.sh ~/shapepipe/aux/CFIS/tiles_202007/tiles_all_order.txt ShapePipe2-mk-20200701b [-n] - ``` - Add the option `-n` (dry run) to test without submitting the job. - -### Analysis - -For a summary of the status of submitted jobs from the current directory, type -```bash -python3 ~/shapepipe/scripts/python/canfar_run_analyse.py -``` -Results of jobs are uploaded to `vos`. These can be complete results from jobs that finished with success, or partial -results (e.g. log files) from jobs that were stopped due to errors. Download and post-processing analysis of those results should -to be performed on a different machine, e.g. [candide](https://github.com/CosmoStat/shapepipe/blob/master/docs/wiki/candide.md). diff --git a/docs/wiki/post_processing.md b/docs/wiki/post_processing.md index 053f8479d..25dee7180 100644 --- a/docs/wiki/post_processing.md +++ b/docs/wiki/post_processing.md @@ -17,9 +17,9 @@ runs carried out on [canfar](./canfar.md), but most are general. We assume that the submitted tile ID list is available locally via the ascii file `tile_numbers.txt`. To check which tiles have finished running, and whose results have been uploaded, use ```bash - canfar_avail_results -i tile_numbers.txt -v -p PSF --input_vos INPUT_VOS + canfar_avail_results -i tile_numbers.txt -v -p PSF --input_path INPUT_PATH ``` - where PSF is one in [`psfex`|`mccd`], and INPUT_VOS the input path on `vos:cfis`, by default `cosmostat/kilbinger/results`. + where PSF is one in [`psfex`|`mccd`], and INPUT_PATH the input path on vos, default `vos:cfis/cosmostat/kilbinger/results`. See `-h` for all options. B. Download results @@ -31,8 +31,19 @@ runs carried out on [canfar](./canfar.md), but most are general. Use the same options as for same as for `canfar_avail_results`. This command can be run in the same directory at subsequent times, to complete an ongoing run: Only newer files will be downloaded - from the `vos` directory. - + from the `vos` directory. This also assures that partially downloaded or corrupt files will be replaced. + + Checking the `vos` directorty can be slow for large patches. + To only download files that are not yet present locally (in `.`), first write the missing ones to an ascii file, using again the + script `canfar_avail_results`, but this time with `.` as input path: + ```bash + canfar_avail_results -i tile_numbers.txt --input_path . -p PSF -v -o missing.txt + ''' + Then, download only the missing files with + ```bash + canfar_download_results -i missing.txt --input_vos cosmostat/kilbinger/results_mccd_oc2 -p mccd -v + ``` + C. Un-tar results ```bash untar_results -p PSF diff --git a/example/cfis/config_MCCD.ini b/example/cfis/config_MCCD.ini index ac84fb664..a248c907c 100644 --- a/example/cfis/config_MCCD.ini +++ b/example/cfis/config_MCCD.ini @@ -11,15 +11,11 @@ OUTLIER_STD_MAX = 100. USE_SNR_WEIGHTS = False [INSTANCE] -N_COMP_LOC = 4 -D_COMP_GLOB = 6 +N_COMP_LOC = 8 +D_COMP_GLOB = 8 KSIG_LOC = 0.00 KSIG_GLOB = 0.00 FILTER_PATH = None -D_HYB_LOC = 2 -MIN_D_COMP_GLOB = None -RMSE_THRESH = 1.25 -CCD_STAR_THRESH = 0.15 [FIT] LOC_MODEL = hybrid @@ -45,16 +41,13 @@ APPLY_DEGRADATION = True MCCD_DEBUG = False GLOBAL_POL_INTERP = False + # Parameter description: # # # [INPUTS] # INPUT_DIR : (Required) Must be a valid directory containing the input # MCCD files. -# PREPROCESSED_OUTPUT_DIR : (Required) Must be a valid directory to write the -# preprocessed input files. -# OUTPUT_DIR : (Required) Must be a valid directory to write the output files. -# The constructed models will be saved. # INPUT_REGEX_FILE_PATTERN : File pattern of the input files to use. It should # follow regex (regular expression) standards. # INPUT_SEPARATOR : Separator of the different fields in the filename, @@ -66,6 +59,10 @@ GLOBAL_POL_INTERP = False # USE_SNR_WEIGHTS : Boolean to determine if the SNR weighting strategy will # be used. # For now, it needs the SNR estimations from SExtractor. +# PREPROCESSED_OUTPUT_DIR : (Required) Must be a valid directory to write the +# preprocessed input files. +# OUTPUT_DIR : (Required) Must be a valid directory to write the output files. +# The constructed models will be saved. # # # [INSTANCE] @@ -101,16 +98,14 @@ GLOBAL_POL_INTERP = False # # # [VALIDATION] +# MODEL_INPUT_DIR : (Required) Must be a valid directory which contains the +# saved trained models. # VAL_DATA_INPUT_DIR : (Required) Must be a valid directory which contains the # validation input data (test dataset). -# VAL_PREPROCESSED_OUTPUT_DIR : (Required) Must be a valid directory where the -# preprocessed input file will be saved. -# VAL_MODEL_INPUT_DIR : (Required) Must be a valid directory which contains the -# saved trained models. -# VAL_OUTPUT_DIR : (Required) Must be a valid directory where to save the -# validation outputs, test PSFs and interpolated PSFs. # VAL_REGEX_FILE_PATTERN : Same as INPUT_REGEX_FILE_PATTERN but for validation. # VAL_SEPARATOR : Same as INPUT_SEPARATOR but for validation. +# VAL_OUTPUT_DIR : (Required) Must be a valid directory where to save the +# validation outputs, test PSFs and interpolated PSFs. # APPLY_DEGRADATION : Whether the PSF models should be degraded # (sampling/shifts/flux) to match stars; use True if you # plan on making pixel-based comparisons (residuals etc.). diff --git a/example/cfis/config_MsPl_mccd.ini b/example/cfis/config_MsPl_mccd.ini new file mode 100644 index 000000000..7fc0b9e4d --- /dev/null +++ b/example/cfis/config_MsPl_mccd.ini @@ -0,0 +1,106 @@ +# ShapePipe configuration file for post-processing. +# merge star cat and PSF plots. + + +## Default ShapePipe options +[DEFAULT] + +# verbose mode (optional), default: True, print messages on terminal +VERBOSE = True + +# Name of run (optional) default: shapepipe_run +RUN_NAME = run_sp_MsPl + +# Add date and time to RUN_NAME, optional, default: False +RUN_DATETIME = False + + +## ShapePipe execution options +[EXECUTION] + +# Module name, single string or comma-separated list of valid module runner names +MODULE = mccd_merge_starcat_runner, mccd_plots_runner + +# Parallel processing mode, SMP or MPI +MODE = SMP + + +## ShapePipe file handling options +[FILE] + +# Log file master name, optional, default: shapepipe +LOG_NAME = log_sp + +# Runner log file name, optional, default: shapepipe_runs +RUN_LOG_NAME = log_run_sp + +# Input directory, containing input files, single string or list of names +INPUT_DIR = $SP_RUN/psf_validation_ind + +# Output directory +OUTPUT_DIR = $SP_RUN/output + + +## ShapePipe job handling options +[JOB] + +# Batch size of parallel processing (optional), default is 1, i.e. run all jobs in serial +SMP_BATCH_SIZE = 4 + +# Timeout value (optional), default is None, i.e. no timeout limit applied +TIMEOUT = 96:00:00 + + +[MCCD] +CONFIG_PATH = $SP_CONFIG/config_MCCD.ini +VERBOSE = False + +MODE = FIT_VALIDATION + + +## Module options +[MCCD_MERGE_STARCAT_RUNNER] + +# Input directory, containing input files, single string or list of names +#INPUT_DIR = last:mccd_fit_val_runner + +# NUMBERING_SCHEME (optional) string with numbering pattern for input files +NUMBERING_SCHEME = -0000000 + +# Input file pattern(s), list of strings with length matching number of expected input file types +# Cannot contain wild cards +FILE_PATTERN = validation_psf + +# FILE_EXT (optional) list of string extensions to identify input files +FILE_EXT = .fits + +[MCCD_PLOTS_RUNNER] + +# NUMBERING_SCHEME (optional) string with numbering pattern for input files +NUMBERING_SCHEME = -0000000 + +FILE_PATTERN = full_starcat +FILE_EXT = .fits + +PLOT_MEANSHAPES = True +X_GRID = 5 +Y_GRID = 10 + +# Optional: max values for elliptity and residual ellipticities +MAX_E = 0.05 +MAX_DE = 0.005 + +PLOT_HISTOGRAMS = True +REMOVE_OUTLIERS = False + +# X_GRID, Y_GRID: correspond to the number of bins in each direction of each +# CCD from the focal plane. Ex: each CCD will be binned in 5x10 regular grids. +# +# REMOVE_OUTLIERS: Remove validated stars that are outliers in terms of shape +# before drawing the plots. + +PLOT_RHO_STATS = True +RHO_STATS_STYLE = HSC + +RHO_STATS_YLIM_L = 1e-10, 4e-5 +RHO_STATS_YLIM_R = 1e-8, 4e-5 diff --git a/example/cfis/config_Pl_psfex.ini b/example/cfis/config_Pl_psfex.ini new file mode 100644 index 000000000..a48713991 --- /dev/null +++ b/example/cfis/config_Pl_psfex.ini @@ -0,0 +1,95 @@ +# ShapePipe configuration file for post-processing. +# PSF plots. + + +## Default ShapePipe options +[DEFAULT] + +# verbose mode (optional), default: True, print messages on terminal +VERBOSE = True + +# Name of run (optional) default: shapepipe_run +RUN_NAME = run_sp_Pl + +# Add date and time to RUN_NAME, optional, default: False +; RUN_DATETIME = False + + +## ShapePipe execution options +[EXECUTION] + +# Module name, single string or comma-separated list of valid module runner names +MODULE = mccd_plots_runner + +# Parallel processing mode, SMP or MPI +MODE = SMP + + +## ShapePipe file handling options +[FILE] + +# Log file master name, optional, default: shapepipe +LOG_NAME = log_sp + +# Runner log file name, optional, default: shapepipe_runs +RUN_LOG_NAME = log_run_sp + +# Input directory, containing input files, single string or list of names +INPUT_DIR = $SP_RUN/psf_validation_merged + +# Output directory +OUTPUT_DIR = $SP_RUN/output + + +## ShapePipe job handling options +[JOB] + +# Batch size of parallel processing (optional), default is 1, i.e. run all jobs in serial +SMP_BATCH_SIZE = 4 + +# Timeout value (optional), default is None, i.e. no timeout limit applied +TIMEOUT = 96:00:00 + + +[MCCD] +CONFIG_PATH = $SP_CONFIG/config_MCCD.ini +VERBOSE = False + +MODE = FIT_VALIDATION + + +## Module options + +[MCCD_PLOTS_RUNNER] + +# NUMBERING_SCHEME (optional) string with numbering pattern for input files +NUMBERING_SCHEME = -0000000 + +FILE_PATTERN = psf_cat_full +FILE_EXT = .fits + +# HDU of psf catalogue, optional, default=2 +HDU = 1 + +PLOT_MEANSHAPES = True +X_GRID = 5 +Y_GRID = 10 + +# Optional: max values for elliptity and residual ellipticities +MAX_E = 0.05 +MAX_DE = 0.005 + +PLOT_HISTOGRAMS = True +REMOVE_OUTLIERS = False + +# X_GRID, Y_GRID: correspond to the number of bins in each direction of each +# CCD from the focal plane. Ex: each CCD will be binned in 5x10 regular grids. +# +# REMOVE_OUTLIERS: Remove validated stars that are outliers in terms of shape +# before drawing the plots. + +PLOT_RHO_STATS = True +RHO_STATS_STYLE = HSC + +RHO_STATS_YLIM_L = 1e-10, 4e-5 +RHO_STATS_YLIM_R = 1e-8, 4e-5 diff --git a/example/cfis/config_exp_mccd.ini b/example/cfis/config_exp_mccd.ini index 1d15551dc..ca1fa43ee 100644 --- a/example/cfis/config_exp_mccd.ini +++ b/example/cfis/config_exp_mccd.ini @@ -47,7 +47,7 @@ OUTPUT_DIR = $SP_RUN/output [JOB] # Batch size of parallel processing (optional), default is 1, i.e. run all jobs in serial -SMP_BATCH_SIZE = 40 +SMP_BATCH_SIZE = 4 # Timeout value (optional), default is None, i.e. no timeout limit applied TIMEOUT = 96:00:00 @@ -141,24 +141,14 @@ NUMBERING_SCHEME = -0000000-0 SETOOLS_CONFIG_PATH = $SP_CONFIG/star_selection.setools -[MCCD] +[MCCD_PREPROCESSING_RUNNER] # Path to MCCD config file -CONFIG_PATH = $SP_CONFIG/config_MCCD_inv_opt.ini - -VERBOSE = False +CONFIG_PATH = $SP_CONFIG/config_MCCD.ini -# Fitting mode. -# FIT simply fits and quicksaves RCA model for later use -# FIT_VALIDATION performs the FIT and subsequently the VALIDATION tasks -# VALIDATION assumes FIT has been ran, quickloads RCA models, and matches PSF -# RESPONSE performs a validation on a regular grid of positions in order to -# observe the model's moment behavior. -# to input (test) stars for validation purposes. MODE = FIT_VALIDATION - -[MCCD_PREPROCESSING_RUNNER] +VERBOSE = False INPUT_DIR = last:setools_runner @@ -172,16 +162,37 @@ FILE_EXT = .fits, .fits [MCCD_FIT_VAL_RUNNER] +# Path to MCCD config file +CONFIG_PATH = $SP_CONFIG/config_MCCD.ini + +MODE = FIT_VALIDATION + +VERBOSE = False + NUMBERING_SCHEME = -0000000 [MCCD_MERGE_STARCAT_RUNNER] +# Path to MCCD config file +CONFIG_PATH = $SP_CONFIG/config_MCCD.ini + +MODE = FIT_VALIDATION + +VERBOSE = False + NUMBERING_SCHEME = -0000000 [MCCD_PLOTS_RUNNER] +# Path to MCCD config file +CONFIG_PATH = $SP_CONFIG/config_MCCD.ini + +MODE = FIT_VALIDATION + +VERBOSE = False + # Now MCCD has created a focal-plane PSF model, including all CCDS per images, # thus single-exposure files NUMBERING_SCHEME = -0000000 diff --git a/example/cfis/config_get_exp_symlink.ini b/example/cfis/config_get_exp_symlink.ini index a14943256..8d377f352 100644 --- a/example/cfis/config_get_exp_symlink.ini +++ b/example/cfis/config_get_exp_symlink.ini @@ -68,7 +68,8 @@ NUMBERING_SCHEME = -000-000 # Input path where original images are stored. Can be local path or vos url. # Single string or list of strings -INPUT_PATH = /home/mkilbing/astro/data/CFIS/pitcairn_DR2, /home/mkilbing/astro/data/CFIS/weights_DR2, /home/mkilbing/astro/data/CFIS/flags_DR2 +#INPUT_PATH = /home/mkilbing/astro/data/CFIS/pitcairn_DR2, /home/mkilbing/astro/data/CFIS/weights_DR2, /home/mkilbing/astro/data/CFIS/flags_DR2 +INPUT_PATH = /tmp/vospace/pitcairn, /tmp/vospace/weights, /tmp/vospace/flags # Input file pattern including tile number as dummy template INPUT_FILE_PATTERN = 000000, 000000.weight, 000000.flag diff --git a/example/cfis/config_get_tiles_symlink.ini b/example/cfis/config_get_tiles_symlink.ini index 2d9c96002..edcb1f6d1 100644 --- a/example/cfis/config_get_tiles_symlink.ini +++ b/example/cfis/config_get_tiles_symlink.ini @@ -70,7 +70,8 @@ NUMBERING_SCHEME = # Input path where original images are stored. Can be local path or vos url. # Single string or list of strings -INPUT_PATH = /home/mkilbing/astro/data/CFIS/tiles_DR2, /home/mkilbing/astro/data/CFIS/tiles_DR2 +#INPUT_PATH = /home/mkilbing/astro/data/CFIS/tiles_DR2, /home/mkilbing/astro/data/CFIS/tiles_DR2 +INPUT_PATH = /tmp/vospace/cfis/tiles_DR3, /tmp/vospace/cfis/tiles_DR3 # Input file pattern including tile number as dummy template INPUT_FILE_PATTERN = CFIS.000.000.r, CFIS.000.000.r.weight diff --git a/example/cfis/config_make_cat_mccd.ini b/example/cfis/config_make_cat_mccd.ini index 8e2788253..cdcad3dc9 100644 --- a/example/cfis/config_make_cat_mccd.ini +++ b/example/cfis/config_make_cat_mccd.ini @@ -56,10 +56,12 @@ TIMEOUT = 96:00:00 # Input file pattern(s), list of strings with length matching number of expected input file types # Cannot contain wild cards -FILE_PATTERN = sexcat_sexcat, sexcat_sm, galaxy_psf, ngmix, galsim +FILE_PATTERN = sexcat_sexcat, sexcat_sm, galaxy_psf, ngmix +#, galsim # FILE_EXT (optional) list of string extensions to identify input files -FILE_EXT = .fits, .fits, .sqlite, .fits, .fits +FILE_EXT = .fits, .fits, .sqlite, .fits +#, .fits # Numbering convention, string that exemplifies a numbering pattern. # Matches input single exposures (with 'p' removed) @@ -73,4 +75,5 @@ SM_GAL_THRESH = 0.01 TILE_LIST = $SP_CONFIG/tiles_all_order.txt -SHAPE_MEASUREMENT_TYPE = ngmix, galsim +SHAPE_MEASUREMENT_TYPE = ngmix +#, galsim diff --git a/example/cfis/config_merge_sep_cats_template.ini b/example/cfis/config_merge_sep_cats_template.ini index 5c8be058a..f42603250 100644 --- a/example/cfis/config_merge_sep_cats_template.ini +++ b/example/cfis/config_merge_sep_cats_template.ini @@ -34,7 +34,8 @@ LOG_NAME = log_sp RUN_LOG_NAME = log_run_sp # Input directory, containing input files, single string or list of names with length matching FILE_PATTERN -INPUT_DIR = ./output/run_sp_tile_ngmix_Ng1u/ngmix_runner/output, ./output/run_sp_tile_ngmix_Ng1u/galsim_shapes_v2_runner/output +INPUT_DIR = ./output/run_sp_tile_ngmix_Ng1u/ngmix_runner/output +#, ./output/run_sp_tile_ngmix_Ng1u/galsim_shapes_v2_runner/output # Output directory OUTPUT_DIR = ./output @@ -56,10 +57,12 @@ TIMEOUT = 96:00:00 # Input file pattern(s), list of strings with length mathcing number of expected input file types # Cannot contain wild cards -FILE_PATTERN = ngmix, galsim +FILE_PATTERN = ngmix +#, galsim # FILE_EXT (optional) list of string extensions to identify input files -FILE_EXT = .fits, .fits +FILE_EXT = .fits +#, .fits # Numbering convention, string that exemplifies a numbering pattern. NUMBERING_SCHEME = -000-000 diff --git a/example/cfis/config_tile_MaSxMiViSmVi.ini b/example/cfis/config_tile_MaSxMiViSmVi.ini index e2ac135ae..453abe90f 100644 --- a/example/cfis/config_tile_MaSxMiViSmVi.ini +++ b/example/cfis/config_tile_MaSxMiViSmVi.ini @@ -20,7 +20,7 @@ RUN_NAME = run_sp_MaSxMiViSmVi # Module name, single string or comma-separated list of valid module runner names MODULE = mask_runner, sextractor_runner, mccd_interp_runner, vignetmaker_runner, spread_model_runner, - vignetmaker_runner2 + vignetmaker_runner # Parallel processing mode, SMP or MPI MODE = SMP @@ -182,7 +182,7 @@ PSF_MODEL_SEPARATOR = - ME_LOG_WCS = $SP_RUN/output/log_exp_headers.sqlite -[VIGNETMAKER_RUNNER] +[VIGNETMAKER_RUNNER_RUN_1] # Create vignets for tiles weights @@ -217,7 +217,7 @@ SUFFIX = weight [SPREAD_MODEL_RUNNER] -INPUT_MODULE = sextractor_runner, mccd_interp_runner, vignetmaker_runner +INPUT_MODULE = sextractor_runner, mccd_interp_runner, vignetmaker_runner_run_1 FILE_PATTERN = sexcat_sexcat, galaxy_psf, weight_vignet @@ -235,7 +235,7 @@ PIXEL_SCALE = 0.186 OUTPUT_MODE = new -[VIGNETMAKER_RUNNER2] +[VIGNETMAKER_RUNNER_RUN_2] # Create multi-epoch vignets for tiles corresponding to # positions on single-exposures diff --git a/example/cfis/config_tile_MaSxPiViSmVi.ini b/example/cfis/config_tile_MaSxPiViSmVi.ini index de09a7af1..f00edf9c7 100644 --- a/example/cfis/config_tile_MaSxPiViSmVi.ini +++ b/example/cfis/config_tile_MaSxPiViSmVi.ini @@ -20,7 +20,7 @@ RUN_NAME = run_sp_MaSxPsViSmVi # Module name, single string or comma-separated list of valid module runner names MODULE = mask_runner, sextractor_runner, psfex_interp_runner, vignetmaker_runner, spread_model_runner, - vignetmaker_runner2 + vignetmaker_runner # Parallel processing mode, SMP or MPI MODE = SMP @@ -184,7 +184,7 @@ ME_DOT_PSF_PATTERN = star_split_ratio_80 ME_LOG_WCS = $SP_RUN/output/log_exp_headers.sqlite -[VIGNETMAKER_RUNNER] +[VIGNETMAKER_RUNNER_RUN_1] # Create vignets for tiles weights @@ -219,7 +219,7 @@ SUFFIX = weight [SPREAD_MODEL_RUNNER] -INPUT_MODULE = sextractor_runner, psfex_interp_runner, vignetmaker_runner +INPUT_MODULE = sextractor_runner, psfex_interp_runner, vignetmaker_runner_run_1 FILE_PATTERN = sexcat_sexcat, galaxy_psf, weight_vignet @@ -237,7 +237,7 @@ PIXEL_SCALE = 0.186 OUTPUT_MODE = new -[VIGNETMAKER_RUNNER2] +[VIGNETMAKER_RUNNER_RUN_2] # Create multi-epoch vignets for tiles corresponding to # positions on single-exposures diff --git a/example/cfis/config_tile_Ng_template.ini b/example/cfis/config_tile_Ng_template.ini index cf307a50c..2d449c030 100644 --- a/example/cfis/config_tile_Ng_template.ini +++ b/example/cfis/config_tile_Ng_template.ini @@ -18,7 +18,8 @@ RUN_DATETIME = False [EXECUTION] # Module name, single string or comma-separated list of valid module runner names -MODULE = ngmix_runner, galsim_shapes_v2_runner +MODULE = ngmix_runner +#, galsim_shapes_v2_runner # Parallel processing mode, SMP or MPI MODE = SMP @@ -62,7 +63,7 @@ TIMEOUT = 96:00:00 # NUMBERING_SCHEME (optional) string with numbering pattern for input files NUMBERING_SCHEME = -000-000 -INPUT_DIR = last:sextractor_runner,last:X_interp_runner,last:vignetmaker_runner2 +INPUT_DIR = last:sextractor_runner,last:X_interp_runner,last:vignetmaker_runner_run_2 # Multi-epoch mode: Path to file with single-exposure WCS header information LOG_WCS = $SP_RUN/output/log_exp_headers.sqlite @@ -77,7 +78,7 @@ ID_OBJ_MAX = X # Moment-based (KSB) shapes with galsim [GALSIM_SHAPES_V2_RUNNER] -INPUT_DIR = last:sextractor_runner, last:vignetmaker_runner, last:X_interp_runner,last:vignetmaker_runner2 +INPUT_DIR = last:sextractor_runner, last:vignetmaker_runner_run_1, last:X_interp_runner,last:vignetmaker_runner_run_2 FILE_PATTERN = sexcat_sexcat, weight_vignet, image_vignet, sexcat_background_vignet, galaxy_psf, weight_vignet, flag_vignet diff --git a/example/cfis/config_tile_SxMiViSmVi.ini b/example/cfis/config_tile_SxMiViSmVi.ini index 3bb0183b2..a37055f0a 100644 --- a/example/cfis/config_tile_SxMiViSmVi.ini +++ b/example/cfis/config_tile_SxMiViSmVi.ini @@ -158,7 +158,7 @@ PSF_MODEL_SEPARATOR = - ME_LOG_WCS = $SP_RUN/output/log_exp_headers.sqlite -[VIGNETMAKER_RUNNER] +[VIGNETMAKER_RUNNER_RUN_1] # Create vignets for tiles weights @@ -211,7 +211,7 @@ PIXEL_SCALE = 0.186 OUTPUT_MODE = new -[VIGNETMAKER_RUNNER2] +[VIGNETMAKER_RUNNER_RUN_2] # Create multi-epoch vignets for tiles corresponding to # positions on single-exposures diff --git a/example/cfis/default_exp.sex b/example/cfis/default_exp.sex index b08b7a7d2..b87275ecb 100644 --- a/example/cfis/default_exp.sex +++ b/example/cfis/default_exp.sex @@ -11,7 +11,7 @@ PARAMETERS_NAME default.param #------------------------------- Extraction ---------------------------------- DETECT_TYPE CCD # CCD (linear) or PHOTO (with gamma correction) -DETECT_MINAREA 10 # min. # of pixels above threshold +DETECT_MINAREA 5 # min. # of pixels above threshold DETECT_MAXAREA 0 # max. # of pixels above threshold (0=unlimited) THRESH_TYPE RELATIVE # threshold type: RELATIVE (in sigmas) # or ABSOLUTE (in ADUs) diff --git a/example/cfis/default_tile.sex b/example/cfis/default_tile.sex index 5d9f38745..ff3b25213 100644 --- a/example/cfis/default_tile.sex +++ b/example/cfis/default_tile.sex @@ -11,7 +11,7 @@ PARAMETERS_NAME default.param #------------------------------- Extraction ---------------------------------- DETECT_TYPE CCD # CCD (linear) or PHOTO (with gamma correction) -DETECT_MINAREA 10 # min. # of pixels above threshold +DETECT_MINAREA 5 # min. # of pixels above threshold DETECT_MAXAREA 0 # max. # of pixels above threshold (0=unlimited) THRESH_TYPE RELATIVE # threshold type: RELATIVE (in sigmas) # or ABSOLUTE (in ADUs) diff --git a/example/cfis/final_cat.param b/example/cfis/final_cat.param index 5c2daa045..9bbbec7a0 100644 --- a/example/cfis/final_cat.param +++ b/example/cfis/final_cat.param @@ -13,7 +13,6 @@ NGMIX_MCAL_FLAGS # PSF ellipticity NGMIX_ELL_PSFo_NOSHEAR -GALSIM_PSF_ELL_ORIGINAL_PSF # spread class SPREAD_CLASS @@ -77,50 +76,6 @@ NGMIX_FLUX_ERR_2M NGMIX_FLUX_ERR_2P NGMIX_FLUX_ERR_NOSHEAR -## galsim: moments - -GALSIM_GAL_ELL_1M -GALSIM_GAL_ELL_1P -GALSIM_GAL_ELL_2M -GALSIM_GAL_ELL_2P -GALSIM_GAL_ELL_NOSHEAR -#GALSIM_GAL_ELL_ERR_1M -#GALSIM_GAL_ELL_ERR_1P -#GALSIM_GAL_ELL_ERR_2M -#GALSIM_GAL_ELL_ERR_2P -GALSIM_GAL_ELL_ERR_NOSHEAR -GALSIM_GAL_ELL_UNCORR_1M -GALSIM_GAL_ELL_UNCORR_1P -GALSIM_GAL_ELL_UNCORR_2M -GALSIM_GAL_ELL_UNCORR_2P -GALSIM_GAL_ELL_UNCORR_NOSHEAR - -# flags -GALSIM_FLAGS_1M -GALSIM_FLAGS_1P -GALSIM_FLAGS_2M -GALSIM_FLAGS_2P -GALSIM_FLAGS_NOSHEAR - -# size -GALSIM_GAL_SIGMA_1M -GALSIM_GAL_SIGMA_1P -GALSIM_GAL_SIGMA_2M -GALSIM_GAL_SIGMA_2P -GALSIM_GAL_SIGMA_NOSHEAR -GALSIM_PSF_SIGMA_1M -GALSIM_PSF_SIGMA_1P -GALSIM_PSF_SIGMA_2M -GALSIM_PSF_SIGMA_2P -GALSIM_PSF_SIGMA_NOSHEAR - -# Resolution -GALSIM_RES_1M -GALSIM_RES_1P -GALSIM_RES_2M -GALSIM_RES_2P -GALSIM_RES_NOSHEAR - # Flag for multiple objects due to overlapping # tiles FLAG_TILING @@ -133,7 +88,6 @@ SNR_WIN # PSF size measured on original image NGMIX_T_PSFo_NOSHEAR -GALSIM_PSF_SIGMA_ORIGINAL_PSF # PSF size measured on reconvolved image # NGMIX_Tpsf_NOSHEAR diff --git a/example/cfis/final_cat_ngmix_galsim.param b/example/cfis/final_cat_ngmix_galsim.param new file mode 100644 index 000000000..5c2daa045 --- /dev/null +++ b/example/cfis/final_cat_ngmix_galsim.param @@ -0,0 +1,142 @@ +# coordinates +XWIN_WORLD +YWIN_WORLD + +# tile ID, for plot of tile-dependent additive bias. +# Can maybe be removed. +TILE_ID + +# flags +FLAGS +IMAFLAGS_ISO +NGMIX_MCAL_FLAGS + +# PSF ellipticity +NGMIX_ELL_PSFo_NOSHEAR +GALSIM_PSF_ELL_ORIGINAL_PSF + +# spread class +SPREAD_CLASS + +# spread model flag and error +SPREAD_MODEL +SPREADERR_MODEL + +# Number of epochs (exposures) +N_EPOCH +NGMIX_N_EPOCH + +## Shape measurement outputs +## Ngmix: model fitting + +# galaxy ellipticity +NGMIX_ELL_1M +NGMIX_ELL_1P +NGMIX_ELL_2M +NGMIX_ELL_2P +NGMIX_ELL_NOSHEAR +#NGMIX_ELL_ERR_1M +#NGMIX_ELL_ERR_1P +#NGMIX_ELL_ERR_2M +#NGMIX_ELL_ERR_2P +NGMIX_ELL_ERR_NOSHEAR + +# flags +NGMIX_FLAGS_1M +NGMIX_FLAGS_1P +NGMIX_FLAGS_2M +NGMIX_FLAGS_2P +NGMIX_FLAGS_NOSHEAR + +# size and error +NGMIX_T_1M +NGMIX_T_1P +NGMIX_T_2M +NGMIX_T_2P +NGMIX_T_NOSHEAR +NGMIX_T_ERR_1M +NGMIX_T_ERR_1P +NGMIX_T_ERR_2M +NGMIX_T_ERR_2P +NGMIX_T_ERR_NOSHEAR +NGMIX_Tpsf_1M +NGMIX_Tpsf_1P +NGMIX_Tpsf_2M +NGMIX_Tpsf_2P +NGMIX_Tpsf_NOSHEAR + +# flux and error +NGMIX_FLUX_1M +NGMIX_FLUX_1P +NGMIX_FLUX_2M +NGMIX_FLUX_2P +NGMIX_FLUX_NOSHEAR +NGMIX_FLUX_ERR_1M +NGMIX_FLUX_ERR_1P +NGMIX_FLUX_ERR_2M +NGMIX_FLUX_ERR_2P +NGMIX_FLUX_ERR_NOSHEAR + +## galsim: moments + +GALSIM_GAL_ELL_1M +GALSIM_GAL_ELL_1P +GALSIM_GAL_ELL_2M +GALSIM_GAL_ELL_2P +GALSIM_GAL_ELL_NOSHEAR +#GALSIM_GAL_ELL_ERR_1M +#GALSIM_GAL_ELL_ERR_1P +#GALSIM_GAL_ELL_ERR_2M +#GALSIM_GAL_ELL_ERR_2P +GALSIM_GAL_ELL_ERR_NOSHEAR +GALSIM_GAL_ELL_UNCORR_1M +GALSIM_GAL_ELL_UNCORR_1P +GALSIM_GAL_ELL_UNCORR_2M +GALSIM_GAL_ELL_UNCORR_2P +GALSIM_GAL_ELL_UNCORR_NOSHEAR + +# flags +GALSIM_FLAGS_1M +GALSIM_FLAGS_1P +GALSIM_FLAGS_2M +GALSIM_FLAGS_2P +GALSIM_FLAGS_NOSHEAR + +# size +GALSIM_GAL_SIGMA_1M +GALSIM_GAL_SIGMA_1P +GALSIM_GAL_SIGMA_2M +GALSIM_GAL_SIGMA_2P +GALSIM_GAL_SIGMA_NOSHEAR +GALSIM_PSF_SIGMA_1M +GALSIM_PSF_SIGMA_1P +GALSIM_PSF_SIGMA_2M +GALSIM_PSF_SIGMA_2P +GALSIM_PSF_SIGMA_NOSHEAR + +# Resolution +GALSIM_RES_1M +GALSIM_RES_1P +GALSIM_RES_2M +GALSIM_RES_2P +GALSIM_RES_NOSHEAR + +# Flag for multiple objects due to overlapping +# tiles +FLAG_TILING + +# magnitude, mainly for plots +MAG_AUTO + +# SNR from SExtractor, used for cuts on GALSIM shapes +SNR_WIN + +# PSF size measured on original image +NGMIX_T_PSFo_NOSHEAR +GALSIM_PSF_SIGMA_ORIGINAL_PSF + +# PSF size measured on reconvolved image +# NGMIX_Tpsf_NOSHEAR + +# ngmix moment failure flag +NGMIX_MOM_FAIL diff --git a/scripts/jupyter/CFIS_Footprint.ipynb b/scripts/jupyter/CFIS_Footprint.ipynb index 0c1e067a5..611d23b6c 100644 --- a/scripts/jupyter/CFIS_Footprint.ipynb +++ b/scripts/jupyter/CFIS_Footprint.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2019-10-08T10:47:15.755022Z", @@ -156,8 +156,14 @@ " Dec.append(dec.deg)\n", " const = get_constellation(SkyCoord(ra, dec))\n", " CONST.append(const)\n", + "<<<<<<< local\n", + "cdR\n", + "\n", + "RA = np.array(RA)\n", + "=======\n", " #print(const)\n", " RA = np.array(RA)\n", + ">>>>>>> remote\n", " Dec = np.array(Dec)\n", "\n", " patch_footprint[tag] = Footprint(RA, Dec)\n", diff --git a/scripts/python/canfar_avail_results.py b/scripts/python/canfar_avail_results.py index 27b940b64..58c1cc4b3 100755 --- a/scripts/python/canfar_avail_results.py +++ b/scripts/python/canfar_avail_results.py @@ -21,7 +21,7 @@ from shapepipe.utilities.canfar import dir_list -import cfis +from shapepipe.utilities import cfis def params_default(): @@ -39,7 +39,7 @@ def params_default(): p_def = cfis.param( input_IDs = '.', - input_vos = 'cosmostat/kilbinger/results', + input_path = 'vos:cfis/cosmostat/kilbinger/results', psf = 'mccd', ) @@ -68,14 +68,15 @@ def parse_options(p_def): # I/O parser.add_option('-i', '--input_IDs', dest='input_IDs', type='string', default=p_def.input_IDs, help='input tile ID file(s) or directory path, default=\'{}\''.format(p_def.input_IDs)) - parser.add_option('', '--input_vos', dest='input_vos', type='string', default=p_def.input_vos, - help='input path on vos, default=\'{}\''.format(p_def.input_vos)) + parser.add_option('', '--input_path', dest='input_path', type='string', default=p_def.input_path, + help='input path, local or vos url, default=\'{}\''.format(p_def.input_path)) parser.add_option('-o', '--output_not_avail', dest='output_not_avail', type='string', help='output file for not-available IDs, default no output') parser.add_option('-p', '--psf', dest='psf', type='string', default=p_def.psf, help='PSF model, one in [\'psfex\'|\'mccd\'], default=\'{}\''.format(p_def.psf)) + parser.add_option('-f', '--final_only', dest='final_only', action='store_true', help='only check final catalogues') parser.add_option('-v', '--verbose', dest='verbose', action='store_true', help='verbose output') options, args = parser.parse_args() @@ -98,7 +99,7 @@ def check_options(options): """ if options.psf not in ['psfex', 'mccd']: - print('Invalid PSF model \'{}\''.format(option.psf)) + print('Invalid PSF model \'{}\''.format(options.psf)) return False return True @@ -155,6 +156,8 @@ def read_input_files(input_path, verbose=False): if os.path.isdir(input_path): input_files = glob.glob('{}/*'.format(input_path)) + #elif os.path.isfile(input_path): + #input_files = [line.rstrip('\n') for line in open(input_path)] else: input_files = cfis.my_string_split(input_path, stop=True, sep=' ') @@ -172,15 +175,15 @@ def read_input_files(input_path, verbose=False): return ID_files -def check_results(ID_files, input_vos, result_base_names, n_complete, verbose=False): +def check_results(ID_files, input_path, result_base_names, n_complete, verbose=False): """Count the number of result files uploaded to vos for each input ID file. Parameters ---------- ID_files: list of strings file name with tile IDs - input_vos: string - vos input directory + input_path: string + path input directory result_base_names: list of strings result file base names n_complete: int @@ -198,10 +201,12 @@ def check_results(ID_files, input_vos, result_base_names, n_complete, verbose=Fa IDs that are not available on vos """ - cmd = 'vls' - vos_dir = 'vos:cfis/{}'.format(input_vos) - - vls_out = dir_list(vos_dir) + m = re.match('vos:', input_path) + if m: + ls_tmp = dir_list(input_path) + else: + ls_tmp = glob.glob(f'{input_path}/*') + ls_out = [os.path.basename(path) for path in ls_tmp] n_found = {} n_IDs = {} @@ -223,7 +228,7 @@ def check_results(ID_files, input_vos, result_base_names, n_complete, verbose=Fa # Count how many result files are available for base in result_base_names: name = '{}_{}.tgz'.format(base, ID) - if name in vls_out: + if name in ls_out: n_found[ID_list][ID] = n_found[ID_list][ID] + 1 n_IDs[ID_list] = n_IDs[ID_list] + 1 @@ -296,17 +301,26 @@ def main(argv=None): ID_files = read_input_files(param.input_IDs, verbose=param.verbose) - result_base_names = ['setools_mask', 'setools_stat', 'setools_plot', - 'final_cat', 'pipeline_flag', 'logs'] - - if param.psf == 'psfex': - result_base_names.append('psfex_interp_exp') - elif param.psf == 'mccd': - result_base_names.append('mccd_fit_val_runner') + result_base_names = ['final_cat'] + if not param.final_only: + types = [ + 'logs', + 'setools_mask', + 'setools_stat', + 'setools_plot', + 'pipeline_flag', + ] + for t in types: + result_base_names.append(t) + + if param.psf == 'psfex': + result_base_names.append('psfex_interp_exp') + elif param.psf == 'mccd': + result_base_names.append('mccd_fit_val_runner') n_complete = len(result_base_names) - n_found, n_IDs, IDs_not_avail = check_results(ID_files, param.input_vos, result_base_names, n_complete, verbose=param.verbose) + n_found, n_IDs, IDs_not_avail = check_results(ID_files, param.input_path, result_base_names, n_complete, verbose=param.verbose) output_summary(n_found, n_IDs, n_complete) diff --git a/scripts/python/canfar_run_analyse.py b/scripts/python/canfar_run_analyse.py index 820cc7be7..394bd2687 100755 --- a/scripts/python/canfar_run_analyse.py +++ b/scripts/python/canfar_run_analyse.py @@ -151,6 +151,10 @@ def update_param(p_def, options): fail_corrupt_fits = -12 fail_time_out = -13 fail_res_err_mod = -14 +fail_vos_no_resp = -15 +fail_connection = -16 +fail_server = -17 +fail_transient = -18 def get_status(tile_num): @@ -171,14 +175,11 @@ def get_status(tile_num): final_cat_found = False with open(out_name) as out_file: for line in out_file: - m = re.match('Upload.*final_cat.*return value = (\.*)', line) + m = re.match('Upload.*final_cat_*', line) if m: final_cat_found = True - if m[1] == '0': - status = res_ok, 'successful upload of final_cat' - else: - status = res_noout, 'failed upload of final_cat' - break + status = res_ok, 'successful upload of final_cat' + # TODO: check next line for upload success if final_cat_found == False: status = res_unk, 'Failed before final_cat' @@ -198,6 +199,22 @@ def get_status(tile_num): if mm: status = status + (fail_time_out, 'vos time out') break + mm = re.search('ERROR:: __str__ returned non-string', line_err) + if mm: + status = status + (fail_connection, 'Connection/HTTP error') + break + mm = re.search('ERROR:: 503 Server Error', line_err) + if mm: + status = status + (fail_server, 'server connection error') + break + mm = re.search('ERROR:: \[Errno 14\] vos', line_err) + if mm: + status = status + (fail_transient, 'TransientException') + break + mm = re.search('Connection aborted', line_err) + if mm: + status = status + (fail_vos_no_resp, 'vos no response') + break if len(status) == 2: diff --git a/scripts/python/create_sample_results.py b/scripts/python/create_sample_results.py index 8fec90a53..25e00ec39 100755 --- a/scripts/python/create_sample_results.py +++ b/scripts/python/create_sample_results.py @@ -35,6 +35,7 @@ def params_default(): """ p_def = cfis.param( + psf = 'mccd' ) return p_def @@ -82,6 +83,17 @@ def parse_options(p_def): help='output directory name' ) + # Misc + parser.add_option( + '-p', + '--psf', + dest='psf', + type='string', + default=p_def.psf, + help=f'PSF model, one in [\'psfex\'|\'mccd\'], default=\'{p_def.psf}\'' + ) + + # Control parser.add_option( '-v', '--verbose', @@ -266,14 +278,17 @@ def main(argv=None): input_IDs = read_ID_list(param.input_IDs, verbose=param.verbose) result_base_names = [ - 'psfex_interp_exp', + 'final_cat', + 'logs', 'setools_mask', 'setools_stat', 'setools_plot', 'pipeline_flag', - 'final_cat', - 'logs' ] + if param.psf == 'psfex': + result_base_names.append('psfex_interp_exp') + elif param.psf == 'mccd': + result_base_names.append('mccd_fit_val_runner') if os.path.isdir(param.output_dir): if param.verbose: diff --git a/scripts/python/merge_final_cat.py b/scripts/python/merge_final_cat.py index d58988313..4a2c61507 100755 --- a/scripts/python/merge_final_cat.py +++ b/scripts/python/merge_final_cat.py @@ -282,7 +282,7 @@ def main(argv=None): d[key] = d_tmp[key] count = count + 1 if param.verbose: - print(f'File \'lpath[0]{}\' copied ({count}/{len(lpath)})') + print(f'File \'{lpath[0]}\' copied ({count}/{len(lpath)})') for idx in lpath[1:]: if ('final_cat' not in idx) | ('.npy' in idx): diff --git a/scripts/python/scp_CFIS.py b/scripts/python/scp_CFIS.py deleted file mode 100755 index af8d66cc3..000000000 --- a/scripts/python/scp_CFIS.py +++ /dev/null @@ -1,309 +0,0 @@ -#!/usr/bin/env python - -""" -:Name: scp_CFIS.py - -:Description: - Secure-copy CFIS images. - -:Author: Martin Kilbinger - -:Date: 2017 -""" - - -# Compability with python2.x for x>6 -from __future__ import print_function - - -import sys -import os -import copy -import glob -import re - -import numpy as np -import pylab as plt - -from astropy.io import ascii -from astropy.table import Table, Column - -from optparse import OptionParser -from optparse import OptionGroup - -import cfis - - - -def get_copy_list(param, exclude_list, include_list=None, verbose=False): - """Read directory and return list of files to copy accounting for files to exclude. - """ - - # Input file candidates to copy - if include_list == None: - # All files in directory - files = glob.glob('*') - else: - # Read files from ascii file - files = cfis.read_list(include_list) - - pattern = cfis.get_file_pattern(param.pattern, param.band, param.type) - - dst_list = [] - n_exc = 0 - for f in files: - - # Test if file matches pattern - m = re.findall(pattern, f) - if len(m) != 0: - - # Test if file is not on exclude list - if cfis.exclude(m[0], exclude_list) == False: - dst_list.append(m[0]) - elif verbose == True: - n_exc += 1 - - if verbose == True: - print('Excluding {} files'.format(n_exc)) - - if len(dst_list) == 0: - raise cfis.CfisError('No matching files found') - - return dst_list - - -def scp(to_copy, t, remote, scp_cmd, to=True, dry_run=False, verbose=False): - """Secure-copies files. - - Parameters - ---------- - to_copy: list of strings - list of file names to copy - t: string - type - remote: string - remote host name - to: bool, optional, default=True - If True (False), copy to (from) remote host - dry_run: bool - do not copy if True (default: False) - verbose: bool - verbose mode if true (defaul: False) - Returns - ------- - None - """ - - n_files = len(to_copy) - - if dry_run == True: - sdry = ' (dry run)' - else: - sdry = '' - - if t == 'exposure': - subdir = 'pitcairn' - elif t in ('exposure_weight', 'exposure_weight.fz'): - subdir = 'weights' - elif t in ('exposure_flag', 'exposure_flag.fz'): - subdir = 'flags' - else: - subdir = 'tiles' - - remote_dir = '{}:astro/data/CFIS/{}/'.format(remote, subdir) - if to: - arg = ' '.join(to_copy) - dest = remote_dir - else: - to_copy.insert(0, ' ') - arg = ' {}'.format(remote_dir).join(to_copy) - dest = '.' - - cfis.run_cmd('{} {} {}'.format(scp_cmd, arg, dest), verbose=verbose, run=not dry_run) - #arg_list = arg.split(' ') - #for tc in arg_list: - #if tc != '': - #cfis.run_cmd('{} {} {}'.format(scp_cmd, tc, dest), verbose=verbose, run=not dry_run) - - if verbose == True: - print('scp-ed {} files{}'.format(n_files, sdry)) - - - -def params_default(): - """Set default parameter values. - - Parameters - ---------- - None - - Returns - ------- - p_def: class cfis.param - parameter values - """ - - p_def = cfis.param( - band = 'r', - type = 'tile', - pattern = '', - remote = 'cc2', - scp_cmd = 'scp', - ) - - return p_def - - - -def parse_options(p_def): - """Parse command line options. - - Parameters - ---------- - p_def: class cfis.param - parameter values - - Returns - ------- - options: tuple - Command line options - args: string - Command line string - """ - - usage = "%prog [OPTIONS]" - parser = OptionParser(usage=usage) - - parser.add_option('-i', '--include_list', dest='include_list', type='string', default=None, - help='Include files from this file, default=None, use all files in current directory') - parser.add_option('-x', '--exclude_list', dest='exclude_list', type='string', default=None, - help='Exclude files from this file, default=none (no excluded files)') - - parser.add_option('-b', '--band', dest='band', type='string', default=p_def.band, - help='band, one of \'r\' (default)|\'u\'') - parser.add_option('-t', '--type', dest='type', type='string', default=p_def.type, - help='data type, one in tiles (default)|cat|weight[.fz]|exposure|exposure_weight[.fz]|exposure_flag[.fz]]') - parser.add_option('-p', '--pattern', dest='pattern', type='string', default=p_def.pattern, - help='file pattern to match, e.g.~\'^21\d{5}p\', default=none (=all match)') - - parser.add_option('-s', '--scp_cmd', dest='scp_cmd', type='string', default=p_def.scp_cmd, - help='scp command, default=\'{}\''.format(p_def.scp_cmd)) - parser.add_option('-r', '--remote', dest='remote', type='string', default=p_def.remote, - help='remote name, default=\'{}\''.format(p_def.remote)) - parser.add_option('', '--from', dest='fromR', action='store_true', default=False, - help='Copy from remote (default: to remote)') - parser.add_option('-n', '--dry-run', dest='dry_run', action='store_true', default=False, - help='dry run, only print commands') - parser.add_option('-v', '--verbose', dest='verbose', action='store_true', help='verbose output') - - options, args = parser.parse_args() - - return options, args - - - -def check_options(options): - """Check command line options. - - Parameters - ---------- - options: tuple - Command line options - - Returns - ------- - erg: bool - Result of option check. False if invalid option value. - """ - - see_help = 'See option \'-h\' for help.' - - return True - - - -def update_param(p_def, options): - """Return default parameter, updated and complemented according to options. - - Parameters - ---------- - p_def: class cfis.param - parameter values - optiosn: tuple - command line options - - Returns - ------- - param: class cfis.param - updated paramter values - """ - - param = copy.copy(p_def) - - # Update keys in param according to options values - for key in vars(param): - if key in vars(options): - setattr(param, key, getattr(options, key)) - - # Add remaining keys from options to param - for key in vars(options): - if not key in vars(param): - setattr(param, key, getattr(options, key)) - - # Do extra stuff if necessary - param.to = not param.fromR - - return param - - - -def main(argv=None): - """Main program. - """ - - # Set default parameters - p_def = params_default() - - # Command line options - options, args = parse_options(p_def) - - if check_options(options) is False: - return 1 - - param = update_param(p_def, options) - - - # Save calling command - cfis.log_command(argv) - if options.verbose: - cfis.log_command(argv, name='sys.stderr') - - - if options.verbose is True: - print('Start program {}'.format(os.path.basename(argv[0]))) - - - ### Start main program ### - - if param.exclude_list != None: - exclude_list = cfis.read_list(param.exclude_list) - else: - exclude_list = [] - - to_copy = get_copy_list(param, exclude_list, include_list=param.include_list, verbose=param.verbose) - - scp(to_copy, param.type, param.remote, param.scp_cmd, to=param.to, dry_run=param.dry_run, verbose=param.verbose) - - - ### End main program - - if options.verbose is True: - print('Finish program {}'.format(os.path.basename(argv[0]))) - - return 0 - - - -if __name__ == "__main__": - sys.exit(main(sys.argv)) - diff --git a/scripts/sh/job_sp.bash b/scripts/sh/job_sp.bash index 3d66350c6..8ffda5205 100755 --- a/scripts/sh/job_sp.bash +++ b/scripts/sh/job_sp.bash @@ -12,15 +12,24 @@ # v1.1 01/2021 # Package: shapepipe + +# VM home, required for canfar run. +## On other machines set to $HOME +export VM_HOME=/home/ubuntu +if [ ! -d "$VM_HOME" ]; then + export VM_HOME=$HOME +fi + # Command line arguments ## Default values do_env=0 job=255 -config_dir='vos:cfis/cosmostat/kilbinger/cfis' -psf='psfex' +#config_dir='vos:cfis/cosmostat/kilbinger/cfis' +config_dir=$VM_HOME/shapepipe/example/cfis +psf='mccd' retrieve='vos' -RESULTS='cosmostat/kilbinger/results' -nsh_step=3500 +results='cosmostat/kilbinger/results_v1' +nsh_step=3200 nsh_max=-1 nsh_jobs=8 @@ -45,7 +54,7 @@ usage="Usage: $(basename "$0") [OPTIONS] TILE_ID_1 [TILE_ID_2 [...]] -r, --retrieve METHOD\n \tmethod to retrieve images, one in ['vos'|'symlink]', default='$retrieve'\n -o, --output_dir\n - \toutput (upload) directory on vos:cfis, default='$RESULTS'\n + \toutput (upload) directory on vos:cfis, default='$results'\n --nsh_jobs NJOB\n \tnumber of shape measurement parallel jobs, default=$nsh_jobs\n --nsh_step NSTEP\n @@ -91,6 +100,10 @@ while [ $# -gt 0 ]; do retrieve="$2" shift ;; + -o|--output_dir) + results="$2" + shift + ;; --nsh_max) nsh_max="$2" shift @@ -129,13 +142,6 @@ export ID=`echo ${TILE_ARR[@]} | tr ' ' '_'` ## Paths -# VM home, required for canfar run. -# On other machines set to $HOME -export VM_HOME=/home/ubuntu -if [ ! -d "$VM_HOME" ]; then - export VM_HOME=$HOME -fi - # SExtractor library bug work-around export PATH="$PATH:$VM_HOME/bin" @@ -159,7 +165,7 @@ OUTPUT=$SP_RUN/output # For tar archives output_rel=`realpath --relative-to=. $OUTPUT` -# Stop on error +# Stop on error, default=1 STOP=1 # Verbose mode (1: verbose, 0: quiet) @@ -221,7 +227,6 @@ command_sp() { cmd=$1 str=$2 - #STOP=0 command "$1" "$2" #res=$? #if [ $res != 0 ]; then @@ -241,6 +246,7 @@ function upload() { shift upl=("$@") + echo "Counting upload files" n_upl=(`ls -l ${upl[@]} | wc`) if [ $n_upl == 0 ]; then if [ $STOP == 1 ]; then @@ -249,7 +255,7 @@ function upload() { fi fi tar czf ${base}_${ID}.tgz ${upl[@]} - command "$VCP ${base}_${ID}.tgz vos:cfis/$RESULTS" "Upload log tar ball" + command "$VCP ${base}_${ID}.tgz vos:cfis/$results" "Upload tar ball" } # Upload log files @@ -275,8 +281,6 @@ function print_env() { echo "Other variables:" echo " VCP=$VCP" echo " CERTFILE=$CERTFILE" - echo " STOP=$STOP" - echo " verbose=$VERBOSE" echo "***" } @@ -289,9 +293,9 @@ if [ "$CONDA_DEFAULT_ENV" != "shapepipe" ]; then source $VM_HOME/miniconda3/bin/activate shapepipe fi -print_env if [ $do_env == 1 ]; then + print_env echo "Exiting" return fi @@ -318,10 +322,12 @@ if [[ $do_job != 0 ]]; then done ### Retrieve config files - if [[ $config_file == "*vos:" ]]; then + if [[ $config_dir == *"vos:"* ]]; then command_sp "$VCP $config_dir ." "Retrieve shapepipe config files" else - command_sp "ln -s $config_dir cfis" "Retrieve shapepipe config files" + if [[ ! -L cfis ]]; then + command_sp "ln -s $config_dir cfis" "Retrieve shapepipe config files" + fi fi ### Retrieve tiles @@ -371,6 +377,7 @@ if [[ $do_job != 0 ]]; then STOP=1 ### The following are very a bad hacks to get additional input file paths + echo "Looking for PSF ($psf) output files" if [ "$psf" == "psfex" ]; then input_psfex=`ls -1 ./output/*/psfex_runner/output/star_split_ratio_80*.psf | head -n 1` command_sp "ln -s `dirname $input_psfex` input_psfex" "Link psfex output" @@ -379,9 +386,11 @@ if [[ $do_job != 0 ]]; then command_sp "ln -s `dirname $input_psf_mccd` input_psf_mccd" "Link MCCD output" fi + echo "Looking for single-exposure single-HDU output files" input_split_exp=`ls -1 ./output/*/split_exp_runner/output/flag*.fits | head -n 1` command_sp "ln -s `dirname $input_split_exp` input_split_exp" "Link split_exp output" + echo "Looking for SExtractor output files" input_sextractor=`ls -1 ./output/*/sextractor_runner/output/sexcat_sexcat*.fits | head -n 1` command_sp "ln -s `dirname $input_sextractor` input_sextractor" "Link sextractor output" @@ -453,11 +462,11 @@ if [[ $do_job != 0 ]]; then ### module and pipeline log files upload_logs "$ID" "$VERBOSE" + ### Final shape catalog + ### pipeline_flags are the tile masks, for random cats + ### SETools masks (selection), stats and plots ### ${psf}_interp_exp for diagnostics, validation with leakage, ### validation with residuals, rho stats - ### SETools masks (selection), stats and plots - ### pipeline_flags are the tile masks, for random cats - ### Final shape catalog NAMES=( "final_cat" diff --git a/scripts/sh/post_proc_sp.bash b/scripts/sh/post_proc_sp.bash index 3d48848d2..01d63a37d 100755 --- a/scripts/sh/post_proc_sp.bash +++ b/scripts/sh/post_proc_sp.bash @@ -50,6 +50,7 @@ if [ "$psf" != "psfex" ] && [ "$psf" != "mccd" ]; then fi # Paths +export SP_RUN=. SP_BASE=$HOME/astro/repositories/github/shapepipe SP_CONFIG=$SP_BASE/example/cfis @@ -66,12 +67,32 @@ SP_CONFIG=$SP_BASE/example/cfis # $SP_BASE/scripts/sh/untar_results.sh # -# Merge all psfinterp results and compute PSF residuals + +# PSF + +## Collect all psfinterp results psf_residuals -p $psf -# Prepare output directory with links to all 'final_cat' result files +## Merge all psfinterp results and compute PSF residuals +if [[ "$psf" == "mccd" ]]; then + shapepipe_run -c $SP_CONFIG/config_MsPl_mccd.ini +else + ### Create merged PSF validation catalog + dir_individual="psf_validation_ind" + dir_merged="psf_validation_merged" + fname_merged="psf_cat_full-0000000.fits" + merge_star_cat_psfex -i $dir_individual -o $dir_merged/$fname_merged -v + shapepipe_run -c $SP_CONFIG/config_Pl_psfex.ini +fi + + +# Galaxies + +## Prepare output directory with links to all 'final_cat' result files prepare_tiles_for_final -# Merge final output files to single mother catalog +## Merge final output files to single mother catalog input_final=output/run_sp_combined/make_catalog_runner/output merge_final_cat -i $input_final -p $SP_CONFIG/final_cat.param -v + + diff --git a/scripts/sh/psf_residuals.bash b/scripts/sh/psf_residuals.bash index 4929350b6..bb8876a55 100755 --- a/scripts/sh/psf_residuals.bash +++ b/scripts/sh/psf_residuals.bash @@ -43,8 +43,6 @@ done ## Default variables psfval_file_base="validation_psf" dir_individual="psf_validation_ind" -dir_merged="psf_validation_merged" -fname_merged="psf_cat_full.fits" pwd=`pwd` # Command line sarguments @@ -94,14 +92,10 @@ function link_s () { } -### Start ### - # Create output dirs -for dir in $dir_individual $dir_merged; do - if [ ! -d "$dir" ]; then - mkdir -p $dir - fi -done +if [ ! -d "$dir_individual" ]; then + mkdir -p $dir_individual +fi if [ "$psf" == "psfex" ]; then runner="psfex_interp_runner" @@ -119,15 +113,3 @@ for val in ${FILES[@]}; do link_s "$pwd/$val" "$dir_individual/$base" done echo " Created $n_created links, skipped $n_skipped files" - -# Create merged PSF validation catalog -merge_star_cat_${psf} -i $dir_individual -o $dir_merged/$fname_merged -v - -# Create plots -if [ "$psf" == "psfex" ]; then - MeanShapes -o $dir_merged -i $dir_merged/$fname_merged -v -x 20 --max_e=0.05 --max_d=0.005 --hdu=1 -else - echo "Plots of mean shapes are create elsewhere for MCCD" -fi - -### End ### diff --git a/scripts/sh/untar_results.bash b/scripts/sh/untar_results.bash index 147553c1f..9db70404e 100755 --- a/scripts/sh/untar_results.bash +++ b/scripts/sh/untar_results.bash @@ -9,7 +9,8 @@ # Command line arguments ## Default values -psf='mccd' +psf="mccd" +output="" ## Help string usage="Usage: $(basename "$0") [OPTIONS] @@ -17,6 +18,8 @@ usage="Usage: $(basename "$0") [OPTIONS] -h\tthis message\n -p, --psf MODEL\n \tPSF model, one in ['psfex'|'mccd'], default='$psf'\n + -o, --output FILE\n + \tOutput file to list untared archives, default None\n " ## Parse command line @@ -30,6 +33,10 @@ while [ $# -gt 0 ]; do psf="$2" shift ;; + -o|--output) + output="$2" + shift + ;; *) echo -ne usage exit 1 @@ -57,6 +64,11 @@ elif [ "$psf" == "mccd" ]; then ) fi +if [[ "$output" != "" ]]; then + echo "Resetting output file $output" + rm -f $output +fi + # Check number of files for out in ${NAMES[@]}; do echo "$out" @@ -69,6 +81,9 @@ for out in ${NAMES[@]}; do res=$? if [ $res == 0 ]; then ((n_ok=n_ok+1)) + if [[ "$output" != "" ]]; then + echo $file >> $output + fi else ((n_fail=n_fail+1)) fi diff --git a/shapepipe/modules/SExtractor_runner/sextractor_script.py b/shapepipe/modules/SExtractor_runner/sextractor_script.py index f93f4d4f4..c4043fc00 100644 --- a/shapepipe/modules/SExtractor_runner/sextractor_script.py +++ b/shapepipe/modules/SExtractor_runner/sextractor_script.py @@ -113,13 +113,13 @@ def make_post_process(cat_path, f_wcs_path, pos_params, ccd_size): (pix_tmp[1] < int(ccd_size[3]))) pos_tmp[ind] = j n_epoch[ind] += 1 - exp_name = np.array([exp_list[i] for n in range(len(obj_id))]) + exp_name = np.array([exp_list[idx] for n in range(len(obj_id))]) a = np.array([(obj_id[ii], exp_name[ii], pos_tmp[ii]) for ii in range(len(exp_name))], dtype=[('NUMBER', obj_id.dtype), ('EXP_NAME', exp_name.dtype), ('CCD_N', pos_tmp.dtype)]) - cat.save_as_fits(data=a, ext_name='EPOCH_{}'.format(i)) + cat.save_as_fits(data=a, ext_name='EPOCH_{}'.format(idx)) cat.open() f_wcs.close() diff --git a/shapepipe/modules/erase_output_runner.py b/shapepipe/modules/erase_output_runner.py index 969cf401f..315af654f 100644 --- a/shapepipe/modules/erase_output_runner.py +++ b/shapepipe/modules/erase_output_runner.py @@ -17,7 +17,7 @@ file_ext=['.output_ext'], numbering_scheme='_0') def erase_output_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): stdout, stderr = execute('rm -f {0}'.format(*input_file_list)) diff --git a/shapepipe/modules/find_exposures_runner.py b/shapepipe/modules/find_exposures_runner.py index 5914193c2..a8cb0747b 100644 --- a/shapepipe/modules/find_exposures_runner.py +++ b/shapepipe/modules/find_exposures_runner.py @@ -26,6 +26,7 @@ def find_exposures_runner( run_dirs, file_number_string, config, + module_config_sec, w_log ): diff --git a/shapepipe/modules/galsim_shapes_runner.py b/shapepipe/modules/galsim_shapes_runner.py index e83363fb8..2887e029e 100644 --- a/shapepipe/modules/galsim_shapes_runner.py +++ b/shapepipe/modules/galsim_shapes_runner.py @@ -357,7 +357,7 @@ def process(tile_cat_path, sm_cat_path, gal_vignet_path, bkg_vignet_path, '.sqlite'], depends=['numpy', 'ngmix', 'galsim']) def galsim_shapes_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): output_name = (run_dirs['output'] + '/' + 'galsim' + file_number_string + '.fits') diff --git a/shapepipe/modules/galsim_shapes_v2_runner.py b/shapepipe/modules/galsim_shapes_v2_runner.py index 503178e1e..084236898 100644 --- a/shapepipe/modules/galsim_shapes_v2_runner.py +++ b/shapepipe/modules/galsim_shapes_v2_runner.py @@ -822,7 +822,7 @@ def process(tile_cat_path, tile_weight_path, gal_vignet_path, bkg_vignet_path, file_ext=['.fits', '.fits', '.sqlite', '.sqlite', '.sqlite', '.sqlite', '.sqlite'], depends=['numpy', 'ngmix', 'galsim', 'astropy']) def galsim_shapes_v2_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): output_name = run_dirs['output'] + '/' + 'galsim' + file_number_string + '.fits' diff --git a/shapepipe/modules/get_images_package/__init__.py b/shapepipe/modules/get_images_package/__init__.py new file mode 100644 index 000000000..f51b6ca2c --- /dev/null +++ b/shapepipe/modules/get_images_package/__init__.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- + +"""GET IMAGES PACKAGE + +This package contains the module for ``get_images`` + +:Author: Martin Kilbinger + +""" + +__all__ = ['get_images.py'] + diff --git a/shapepipe/modules/get_images_package/get_images.py b/shapepipe/modules/get_images_package/get_images.py index c02b08276..2323a08eb 100644 --- a/shapepipe/modules/get_images_package/get_images.py +++ b/shapepipe/modules/get_images_package/get_images.py @@ -231,13 +231,13 @@ def get_file_list(self, image_number_list, dest_dir, use_output_file_pattern=Fal x2 = re.sub(r'\.', '', x) ext_final = in_ext[0] + x2 fbase = ( - f'{self._output_file_pattern[i],}{number_final}' + f'{self._output_file_pattern[idx]}{number_final}' ) else: fbase = re.sub(self._input_numbering, number, in_pattern) ext_final = in_ext - if use_output_file_pattern and self._output_file_pattern[i] == '*': + if use_output_file_pattern and self._output_file_pattern[idx] == '*': # retrieve all input files to output dir, do not append # extension # fpath = '{}/.'.format(in_path) @@ -274,8 +274,7 @@ def retrieve(self, all_inputs, all_outputs): self._w_log.info('{} found, skipping' ''.format(path[0])) continue - self._w_log.info('Retrieving {}'.format(in_per_type[idx])) - self.retrieve_one(in_per_type[i], out_per_type[idx]) + self.retrieve_one(in_per_type[idx], out_per_type[idx]) def retrieve_one(self, in_path, out_path): """Retrieve One @@ -299,11 +298,12 @@ def retrieve_one(self, in_path, out_path): sys.argv.append(out_path) log_cmd = ' '.join(sys.argv) - self._w_log.info(f'Command \'{log_cmd}\'') vcp = vosHandler('vcp') vcp() + sys.argv = None + elif self._retrieve_method == 'symlink': src = in_path diff --git a/shapepipe/modules/get_images_runner.py b/shapepipe/modules/get_images_runner.py index 2fb6d813b..aa994d191 100644 --- a/shapepipe/modules/get_images_runner.py +++ b/shapepipe/modules/get_images_runner.py @@ -27,57 +27,58 @@ def get_images_runner( run_dirs, file_number_string, config, + module_config_sec, w_log ): # Read config file section # Copy/download method - retrieve_method = config.get('GET_IMAGES_RUNNER', 'RETRIEVE') + retrieve_method = config.get(module_config_sec, 'RETRIEVE') retrieve_ok = ['vos', 'symlink'] if retrieve_method not in retrieve_ok: raise ValueError( f'key RETRIEVE={retrieve_method} is invalid, must be in {retrieve_ok}' ) - if config.has_option('GET_IMAGES_RUNNER', 'RETRIEVE_OPTIONS'): + if config.has_option(module_config_sec, 'RETRIEVE_OPTIONS'): retrieve_options = config.getexpanded( - 'GET_IMAGES_RUNNER', + module_config_sec, 'RETRIEVE_OPTIONS' ) else: retrieve_options = None # Paths - input_dir = config.getlist('GET_IMAGES_RUNNER', 'INPUT_PATH') + input_dir = config.getlist(module_config_sec, 'INPUT_PATH') input_file_pattern = config.getlist( - 'GET_IMAGES_RUNNER', + module_config_sec, 'INPUT_FILE_PATTERN' ) input_file_ext = config.getlist( - 'GET_IMAGES_RUNNER', + module_config_sec, 'INPUT_FILE_EXT' ) output_file_pattern = config.getlist( - 'GET_IMAGES_RUNNER', + module_config_sec, 'OUTPUT_FILE_PATTERN' ) - input_numbering = config.get('GET_IMAGES_RUNNER', 'INPUT_NUMBERING') + input_numbering = config.get(module_config_sec, 'INPUT_NUMBERING') - if config.has_option('GET_IMAGES_RUNNER', 'OUTPUT_PATH'): - output_dir = config.getexpanded('GET_IMAGES_RUNNER', 'OUTPUT_PATH') + if config.has_option(module_config_sec, 'OUTPUT_PATH'): + output_dir = config.getexpanded(module_config_sec, 'OUTPUT_PATH') else: output_dir = run_dirs['output'] # Flags to check for already retrieved files - if config.has_option('GET_IMAGES_RUNNER', 'CHECK_EXISTING_DIR'): + if config.has_option(module_config_sec, 'CHECK_EXISTING_DIR'): check_existing_dir = config.getexpanded( - 'GET_IMAGES_RUNNER', + module_config_sec, 'CHECK_EXISTING_DIR' ) - if config.has_option('GET_IMAGES_RUNNER', 'N_EXPECTED'): - n_expected = config.getint('GET_IMAGES_RUNNER', 'N_EXPECTED') + if config.has_option(module_config_sec, 'N_EXPECTED'): + n_expected = config.getint(module_config_sec, 'N_EXPECTED') else: n_expected = 1 else: diff --git a/shapepipe/modules/mask_runner.py b/shapepipe/modules/mask_runner.py index 26ab1d690..2d1c5c5a7 100644 --- a/shapepipe/modules/mask_runner.py +++ b/shapepipe/modules/mask_runner.py @@ -18,7 +18,7 @@ depends=['numpy', 'astropy'], executes=['ww', 'findgsc2.2'], numbering_scheme='_0') def mask_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): if len(input_file_list) == 2: ext_flag_name = None diff --git a/shapepipe/modules/match_external_runner.py b/shapepipe/modules/match_external_runner.py index 05c4225cd..b14454bcd 100644 --- a/shapepipe/modules/match_external_runner.py +++ b/shapepipe/modules/match_external_runner.py @@ -193,7 +193,7 @@ def process(self): depends=['numpy', 'astropy'], run_method='parallel') def match_external_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): # Processing tmp = config.getfloat('MATCH_EXTERNAL_RUNNER', 'TOLERANCE') diff --git a/shapepipe/modules/mccd_merge_starcat_runner.py b/shapepipe/modules/mccd_merge_starcat_runner.py index 99be74496..603065d57 100644 --- a/shapepipe/modules/mccd_merge_starcat_runner.py +++ b/shapepipe/modules/mccd_merge_starcat_runner.py @@ -16,7 +16,7 @@ @module_runner( - input_module=['mccd_fit_val_runner'], + input_module=['mccd_fit_val_runner', 'mccd_val_runner'], version='1.0', file_pattern=['validation_psf'], file_ext=['.fits'], @@ -32,6 +32,7 @@ def mccd_merge_starcat_runner( module_config_sec, w_log ): + w_log.info('Merging validation results..') hdu_table = 1 diff --git a/shapepipe/modules/mccd_package/mccd_interpolation_script.py b/shapepipe/modules/mccd_package/mccd_interpolation_script.py index 3a19e8eaa..cb0896157 100644 --- a/shapepipe/modules/mccd_package/mccd_interpolation_script.py +++ b/shapepipe/modules/mccd_package/mccd_interpolation_script.py @@ -65,7 +65,7 @@ def interp_MCCD(mccd_model_path, positions, ccd): ]) # Interpolate the model - PSFs = mccd_instance.estimate_psf(glob_pos, ccd) + PSFs = mccd_instance.interpolate_psf_pipeline(glob_pos, ccd) del mccd_instance diff --git a/shapepipe/modules/mccd_package/mccd_plot_utilities.py b/shapepipe/modules/mccd_package/mccd_plot_utilities.py index bfeae90d5..c9aa1dd6c 100644 --- a/shapepipe/modules/mccd_package/mccd_plot_utilities.py +++ b/shapepipe/modules/mccd_package/mccd_plot_utilities.py @@ -131,14 +131,19 @@ def plot_meanshapes( output_path, nb_pixel, w_log, + hdu_no=2, remove_outliers=False, plot_meanshapes=True, plot_histograms=True ): - r"""Plot meanshapes and histograms.""" + """Plot Meanshapes + + Plot mean shapes, sizes, and histograms""" + # READ FULL STARCAT starcat = fits.open(starcat_path, memmap=False) + auto_colorbar = False colorbar_ampl = 1. loc2glob = mccd_utils.Loc2Glob() @@ -148,20 +153,34 @@ def plot_meanshapes( np.linspace(0, loc2glob.y_npix, nb_pixel[1] + 1) # Flag mask - star_flags = starcat[2].data['FLAG_STAR_HSM'] - psf_flags = starcat[2].data['FLAG_PSF_HSM'] + star_flags = starcat[hdu_no].data['FLAG_STAR_HSM'] + psf_flags = starcat[hdu_no].data['FLAG_PSF_HSM'] flagmask = np.abs(star_flags - 1) * np.abs(psf_flags - 1) # convert sigma to R^2's all_star_shapes = np.array( - [starcat[2].data['E1_STAR_HSM'], starcat[2].data['E2_STAR_HSM'], - 2. * starcat[2].data['SIGMA_STAR_HSM'] ** 2]) + [starcat[hdu_no].data['E1_STAR_HSM'], starcat[hdu_no].data['E2_STAR_HSM'], + 2. * starcat[hdu_no].data['SIGMA_STAR_HSM'] ** 2]) all_psf_shapes = np.array( - [starcat[2].data['E1_PSF_HSM'], starcat[2].data['E2_PSF_HSM'], - 2. * starcat[2].data['SIGMA_PSF_HSM'] ** 2]) - all_CCDs = starcat[2].data['CCD_NB'] - all_X = starcat[2].data['X'] - all_Y = starcat[2].data['Y'] + [starcat[hdu_no].data['E1_PSF_HSM'], starcat[hdu_no].data['E2_PSF_HSM'], + 2. * starcat[hdu_no].data['SIGMA_PSF_HSM'] ** 2]) + all_CCDs = starcat[hdu_no].data['CCD_NB'] + all_X = starcat[hdu_no].data['X'] + all_Y = starcat[hdu_no].data['Y'] + + # Remove stars/PSFs where the measured size is zero + # Sometimes the HSM shape measurement gives objects with measured + # size equals to zero without an error Flag. + bad_stars = (abs(all_star_shapes[2, :]) < 0.1) + bad_psfs = (abs(all_psf_shapes[2, :]) < 0.1) + size_mask = np.abs(bad_stars) * np.abs(bad_psfs) + # Remove outlier stars/PSFs + all_star_shapes = all_star_shapes[:, ~size_mask] + all_psf_shapes = all_psf_shapes[:, ~size_mask] + all_CCDs = all_CCDs[~size_mask] + all_X = all_X[~size_mask] + all_Y = all_Y[~size_mask] + flagmask = flagmask[~size_mask] # Remove stars/PSFs where the measured size is zero # Sometimes the HSM shape measurement gives objects with measured @@ -213,7 +232,7 @@ def plot_meanshapes( try: ccd_mask = ((all_CCDs.astype(int) == ccd_nb) * flagmask).astype( bool) - except TypeError: + except: ccd_mask = ((all_CCDs == str(ccd_nb)) * flagmask).astype(bool) star_shapes = all_star_shapes[:, ccd_mask] @@ -399,10 +418,10 @@ def plot_meanshapes( # nstars wind = (0, np.max(ccd_maps[:, 0, 3])) - title = f"Number of stars\nTotal={np.nansum(ccd_maps[:, 0, 3]):d}" + title = f'Number of stars\nTotal={np.nansum(ccd_maps[:, 0, 3]):.0f}' MeanShapesPlot( ccd_maps[:, 0, 3], - output_path + 'nstar', + f'{output_path}nstar', title, wind=wind, cmap='magma' @@ -428,7 +447,7 @@ def plot_meanshapes( ) plt.legend(loc='best', fontsize=16) plt.title('e1', fontsize=24) - plt.savefig(output_path + 'e1_hist.png') + plt.savefig(f'{output_path}e1_hist.png') plt.close() plt.figure(figsize=(12, 6), dpi=300) @@ -987,30 +1006,40 @@ def rho_stats( starcat_path, output_path, rho_def='HSC', + hdu_no=2, + ylim_l=None, + ylim_r=None, print_fun=lambda x: print(x) ): - """Compute and plot the five rho statistics. - - Syntax: - - > python rho_stats.py path/to/starcat rhofile_name [rho_def] - Where path/to/starcat is the path to the full validation star - catalog. rhofile_name is the name of the file where all rho_stats - will be written. - rho_def is optional and can be either 'HSC' or 'DES' - depending on the desired definition to use for tho statistics. + """Rho Statistics + + Compute and plot the five rho statistics. + + Parameters + ---------- + starcat_path : string + star catalogue file path + output_path : string + output directory for plots + hdu_no : int, optional, default=2 + input HDU + ylim_l : array(2) of float + y-axis limits for left-hand plot + ylim-r : array(2) of float + y-axis limits for right-hand plot + print_fun : function, optional, default=print + output message function """ + # Read starcat starcat = fits.open(starcat_path, memmap=False) rho_stats_fun = None # Convert HSM flags to 0/1 weights - hdu_no = 2 star_flags = starcat[hdu_no].data['FLAG_STAR_HSM'] psf_flags = starcat[hdu_no].data['FLAG_PSF_HSM'] w = np.abs(star_flags - 1) * np.abs(psf_flags - 1) - # w = starcat[2].data['w'] # Convert to Stile-compatible and change sigmas to R^2 (up to constant) stilecat = np.rec.fromarrays( @@ -1054,49 +1083,73 @@ def rho_stats( print_fun(' > Done in {}s.'.format(time.time() - start)) np.save(output_path + 'rho_stat_results.npy', np.array(rho_results)) - # in brackets are DES Y1's ylims - ylim_l = None # (5e-9,5e-6) - ylim_r = None # (5e-8,1e-5) - # Plots ylims = [ylim_l, ylim_r, ylim_l, ylim_l, ylim_r] - colors = ['blue', 'blue', 'green', 'orange', 'green'] - markers = ['o', 'o', 's', '^', 's'] + colors = ['blue', 'red', 'green', 'orange', 'cyan'] + markers = ['o', 'd', 'v', '^', 's'] + + xlabel = r'$\theta$ [arcmin]' + ylabel = r'$\rho$-statistics' + capsize = 3 + alpha = 0.7 for j, rhores in enumerate(rho_results): - # [TL] BUG fix on index names - # meanR [arcmin] -> meanr // sigma_xi -> sigma_xip (?) - NegDash(rhores['meanr'], rhores['xip'], rhores['sigma_xip'], - output_path + 'rho_{}.png'.format(j + 1), - semilogx=True, semilogy=True, - color=colors[j], capsize=3, fmt=markers[j], alpha=.7, - ylim=ylims[j], - xlabel=r'$\theta$ (arcmin)', ylabel=r'$\rho_i(\theta)$') + NegDash( + rhores['meanr'], + rhores['xip'], + rhores['sigma_xip'], + f'{output_path}/rho_{j+1}.png', + semilogx=True, + semilogy=True, + color=colors[j], + capsize=capsize, + fmt=markers[j], + alpha=alpha, + ylim=ylims[j], + xlabel=xlabel, + ylabel=ylabel + ) for j, rhores in enumerate(rho_results): if j in [0, 2, 3]: - # [TL] BUG fix on index names - # meanR [arcmin] -> meanr // sigma_xi -> sigma_xip (?) - NegDash(rhores['meanr'], rhores['xip'], rhores['sigma_xip'], - semilogx=True, semilogy=True, rho_nb=j + 1, - color=colors[j], capsize=3, fmt=markers[j], alpha=.7, - ylim=ylims[j], - xlabel=r'$\theta$ (arcmin)', ylabel=r'$\rho_i(\theta)$') + NegDash( + rhores['meanr'], + rhores['xip'], + rhores['sigma_xip'], + semilogx=True, + semilogy=True, + rho_nb=j + 1, + color=colors[j], + capsize=capsize, + fmt=markers[j], + alpha=alpha, + ylim=ylims[j], + xlabel=xlabel, + ylabel=ylabel + ) plt.legend() - plt.savefig(output_path + 'lefthand_rhos.pdf') + plt.savefig(f'{output_path}/lefthand_rhos.pdf') plt.close() for j, rhores in enumerate(rho_results): if j in [1, 4]: - # [TL] BUG fix on index names - # meanR [arcmin] -> meanr // sigma_xi -> sigma_xip (?) - NegDash(rhores['meanr'], rhores['xip'], rhores['sigma_xip'], - semilogx=True, semilogy=True, rho_nb=j + 1, - color=colors[j], capsize=3, fmt=markers[j], alpha=.7, - ylim=ylims[j], - xlabel=r'$\theta$ (arcmin)', ylabel=r'$\rho_i(\theta)$') + NegDash( + rhores['meanr'], + rhores['xip'], + rhores['sigma_xip'], + semilogx=True, + semilogy=True, + rho_nb=j + 1, + color=colors[j], + capsize=capsize, + fmt=markers[j], + alpha=alpha, + ylim=ylims[j], + xlabel=xlabel, + ylabel=ylabel + ) plt.legend() - plt.savefig(output_path + 'righthand_rhos.pdf') + plt.savefig(f'{output_path}/righthand_rhos.pdf') plt.close() starcat.close() diff --git a/shapepipe/modules/mccd_plots_runner.py b/shapepipe/modules/mccd_plots_runner.py index 59401982f..1b6f47954 100644 --- a/shapepipe/modules/mccd_plots_runner.py +++ b/shapepipe/modules/mccd_plots_runner.py @@ -62,6 +62,13 @@ def mccd_plots_runner( module_config_sec, w_log ): + + # Input parameters + if config.has_option(module_config_sec, 'HDU'): + hdu_no = config.getint(module_config_sec, 'HDU') + else: + hdu_no = 2 + # Get parameters for meanshapes plots x_nb_bins = config.getint(module_config_sec, 'X_GRID') y_nb_bins = config.getint(module_config_sec, 'Y_GRID') @@ -69,10 +76,21 @@ def mccd_plots_runner( plot_meanshapes = config.getboolean(module_config_sec, 'PLOT_MEANSHAPES') plot_histograms = config.getboolean(module_config_sec, 'PLOT_HISTOGRAMS') - # Get parameters for Rho stats plots + # Get parameters for rho stats plots plot_rho_stats = config.getboolean(module_config_sec, 'PLOT_RHO_STATS') rho_stat_plot_style = config.get(module_config_sec, 'RHO_STATS_STYLE') + if config.has_option(module_config_sec, 'RHO_STATS_YLIM_L'): + str_list = config.getlist(module_config_sec, 'RHO_STATS_YLIM_L') + ylim_l = [float(s) for s in str_list] + else: + ylim_l = None + if config.has_option(module_config_sec, 'RHO_STATS_YLIM_R'): + str_list = config.getlist(module_config_sec, 'RHO_STATS_YLIM_R') + ylim_r = [float(s) for s in str_list] + else: + ylim_r = None + nb_pixel = x_nb_bins, y_nb_bins starcat_path = input_file_list[0][0] output_path = run_dirs['output'] + '/' @@ -84,16 +102,17 @@ def mccd_plots_runner( output_path, nb_pixel, w_log, - remove_outliers, - plot_meanshapes, - plot_histograms + hdu_no=hdu_no, + remove_outliers=remove_outliers, + plot_meanshapes=plot_meanshapes, + plot_histograms=plot_histograms ) else: msg = ( - "[!] In order to plot the Meanshapes the package " - + "_matplotlib_ has to be correctly imported. This was not" - + " the case, so the task is aborted. For the next time make" - + " sure the package is installed." + '[!] In order to plot the Meanshapes the package ' + + '_matplotlib_ has to be correctly imported. This was not' + + ' the case, so the task is aborted. For the next time make' + + ' sure the package is installed.' ) warnings.warn(msg) w_log.info(msg) @@ -101,18 +120,18 @@ def mccd_plots_runner( if plot_rho_stats: if has_stile is False or has_treecorr is False: msg = ( - "[!] In order to calculate the Rho stats the packages " - + "_stile_ and _treecorr_ have to be correctly imported." - + " This was not the case, so the rho stat calculation is" - + "aborted. For the next time make sure both of the" - + "packages are installed." + '[!] In order to calculate the Rho stats the packages ' + + '_stile_ and _treecorr_ have to be correctly imported.' + + ' This was not the case, so the rho stat calculation is' + + 'aborted. For the next time make sure both of the' + + 'packages are installed.' ) warnings.warn(msg) w_log.info(msg) elif rho_stat_plot_style != 'HSC' and rho_stat_plot_style != 'DEC': msg = ( - "The rho stat definition should be HSC or DEC. An unknown" - + " definition was used. Rho stat calculation aborted." + 'The rho stat definition should be HSC or DEC. An unknown' + + ' definition was used. Rho stat calculation aborted.' ) warnings.warn(msg) w_log.info(msg) @@ -121,6 +140,9 @@ def mccd_plots_runner( starcat_path, output_path, rho_def=rho_stat_plot_style, + hdu_no=hdu_no, + ylim_l=ylim_l, + ylim_r=ylim_r, print_fun=lambda x: w_log.info(x) ) diff --git a/shapepipe/modules/merge_headers_runner.py b/shapepipe/modules/merge_headers_runner.py index c02eee3d1..b369a5a12 100644 --- a/shapepipe/modules/merge_headers_runner.py +++ b/shapepipe/modules/merge_headers_runner.py @@ -24,7 +24,7 @@ file_ext=['.npy'], depends=['numpy', 'sqlitedict'], run_method='serial') def merge_headers_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): output_dir = run_dirs['output'] if config.has_option('MERGE_HEADERS_RUNNER', 'OUTPUT_PATH'): diff --git a/shapepipe/modules/merge_sep_cats_runner.py b/shapepipe/modules/merge_sep_cats_runner.py index ee524b6ad..bc822de47 100644 --- a/shapepipe/modules/merge_sep_cats_runner.py +++ b/shapepipe/modules/merge_sep_cats_runner.py @@ -26,15 +26,15 @@ file_pattern=['ngmix'], file_ext=['.fits'], depends=['numpy']) def merge_sep_cats_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): - n_split_max = config.getint('MERGE_SEP_CATS_RUNNER', 'N_SPLIT_MAX') + n_split_max = config.getint(module_config_sec, 'N_SPLIT_MAX') - file_pattern = config.getlist('MERGE_SEP_CATS_RUNNER', 'FILE_PATTERN') - file_ext = config.getlist('MERGE_SEP_CATS_RUNNER', 'FILE_EXT') + file_pattern = config.getlist(module_config_sec, 'FILE_PATTERN') + file_ext = config.getlist(module_config_sec, 'FILE_EXT') - if config.has_option('MERGE_SEP_CATS_RUNNER', 'WARNING'): - warning = config.get('MERGE_SEP_CATS_RUNNER', 'WARNING') + if config.has_option(module_config_sec, 'WARNING'): + warning = config.get(module_config_sec, 'WARNING') else: warning = 'error' warnings.simplefilter(warning, UserWarning) diff --git a/shapepipe/modules/merge_star_cat_runner.py b/shapepipe/modules/merge_star_cat_runner.py index 81f1843d4..8e4317eb5 100644 --- a/shapepipe/modules/merge_star_cat_runner.py +++ b/shapepipe/modules/merge_star_cat_runner.py @@ -25,7 +25,7 @@ file_ext=['.fits'], depends=['numpy', 'sqlitedict'], run_method='serial') def merge_star_cat_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): output_dir = run_dirs['output'] if config.has_option('MERGE_STAR_CAT_RUNNER', 'OUTPUT_PATH'): diff --git a/shapepipe/modules/ngmix_runner.py b/shapepipe/modules/ngmix_runner.py index e773f3cac..2ad7877f1 100644 --- a/shapepipe/modules/ngmix_runner.py +++ b/shapepipe/modules/ngmix_runner.py @@ -829,7 +829,7 @@ def process(tile_cat_path, gal_vignet_path, bkg_vignet_path, '.sqlite'], depends=['numpy', 'ngmix', 'galsim', 'sqlitedict', 'astropy']) def ngmix_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): # Init randoms seed = int(''.join(re.findall(r'\d+', file_number_string))) diff --git a/shapepipe/modules/paste_cat_runner.py b/shapepipe/modules/paste_cat_runner.py index 442ec542e..cf1d9128f 100644 --- a/shapepipe/modules/paste_cat_runner.py +++ b/shapepipe/modules/paste_cat_runner.py @@ -25,7 +25,7 @@ run_method='parallel' ) def paste_cat_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): if config.has_option('PASTE_CAT_RUNNER', 'CHECK_COL_NAME'): check_col_name = config.get('PASTE_CAT_RUNNER', 'CHECK_COL_NAME') diff --git a/shapepipe/modules/psfex_runner.py b/shapepipe/modules/psfex_runner.py index 948f066b7..c64a97dd8 100644 --- a/shapepipe/modules/psfex_runner.py +++ b/shapepipe/modules/psfex_runner.py @@ -27,12 +27,13 @@ def psfex_runner( run_dirs, file_number_string, config, + module_config_sec, w_log ): # extract psfex run configurations psfex_executable_path = config.getexpanded( - "PSFEX_RUNNER", + module_config_sec, "EXEC_PATH" ) output_dir = run_dirs['output'] @@ -40,15 +41,15 @@ def psfex_runner( outcatalog_name = f"psfex_cat{file_number_string}.cat" psfex_config_file = config.getexpanded( - "PSFEX_RUNNER", + module_config_sec, "DOT_PSFEX_FILE" ) input_file_path = input_file_list[0] # check image options - if config.has_option('PSFEX_RUNNER', "CHECKIMAGE"): - check_image_list = config.getlist("PSFEX_RUNNER", "CHECKIMAGE") + if config.has_option(module_config_sec, "CHECKIMAGE"): + check_image_list = config.getlist(module_config_sec, "CHECKIMAGE") else: check_image_list = [''] diff --git a/shapepipe/modules/sextractor_runner.py b/shapepipe/modules/sextractor_runner.py index 95b24334b..4d1de948f 100644 --- a/shapepipe/modules/sextractor_runner.py +++ b/shapepipe/modules/sextractor_runner.py @@ -24,7 +24,7 @@ depends=['numpy'], ) def sextractor_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): num = file_number_string @@ -76,11 +76,11 @@ def sextractor_runner(input_file_list, run_dirs, file_number_string, detection_image, detection_weight, zp_from_header, - zp_key, bkg_from_header, - bkg_key, - check_image, - suffix, + zero_point_key=zp_key, + background_key=bkg_key, + check_image=check_image, + output_suffix=suffix, ) command_line = SE_caller.make_command_line(exec_path) diff --git a/shapepipe/modules/split_exp_package/split_exp_script.py b/shapepipe/modules/split_exp_package/split_exp_script.py index 3f66e5a4f..d98375afb 100644 --- a/shapepipe/modules/split_exp_package/split_exp_script.py +++ b/shapepipe/modules/split_exp_package/split_exp_script.py @@ -103,19 +103,19 @@ def create_hdus( header_file = np.zeros(self._n_hdu, dtype='O') - for i in range(1, self._n_hdu+1): + for idx in range(1, self._n_hdu+1): - h = fits.getheader(exp_path, i) + h = fits.getheader(exp_path, idx) if transf_coord: stp.pv_to_sip(h) - d = fits.getdata(exp_path, i) + d = fits.getdata(exp_path, idx) if transf_int: d = d.astype(np.int16) file_name = ( f'{self._output_dir}/{output_suffix}' - + '{self._file_number_string}-{str(i-1)}.fits' + + f'{self._file_number_string}-{str(idx-1)}.fits' ) new_file = io.FITSCatalog( @@ -130,7 +130,7 @@ def create_hdus( except: print(f'WCS error for file {exp_path}') raise - header_file[i-1] = {'WCS': w, 'header': h.tostring()} + header_file[idx-1] = {'WCS': w, 'header': h.tostring()} if save_header: file_name = ( diff --git a/shapepipe/modules/split_exp_runner.py b/shapepipe/modules/split_exp_runner.py index 5c1a2df5e..13bf1d763 100644 --- a/shapepipe/modules/split_exp_runner.py +++ b/shapepipe/modules/split_exp_runner.py @@ -31,6 +31,7 @@ def split_exp_runner( run_dirs, file_number_string, config, + module_config_sec, w_log ): diff --git a/shapepipe/modules/spread_model_package/spread_model.py b/shapepipe/modules/spread_model_package/spread_model.py index 4a7921c38..00bdaf989 100644 --- a/shapepipe/modules/spread_model_package/spread_model.py +++ b/shapepipe/modules/spread_model_package/spread_model.py @@ -113,7 +113,7 @@ def get_model(sigma, flux, img_shape, pixel_scale=0.186): """ # Get scale radius - scale_radius = 1/16 * galaxy.sigma_to_fhwm(sigma, pixel_scale=pixel_scale) + scale_radius = 1/16 * galaxy.sigma_to_fwhm(sigma, pixel_scale=pixel_scale) # Get galaxy model gal_obj = galsim.Exponential(scale_radius=scale_radius, flux=flux) @@ -221,7 +221,7 @@ def process(self): psf_cat_id_ccd['SHAPES']['SIGMA_PSF_HSM'] ) - obj_vign_tmp = obj_vign[i] + obj_vign_tmp = obj_vign[idx] obj_flux_tmp = 1. obj_sigma_tmp = np.mean(sigma_list) obj_weight_tmp = weigh_vign[idx] diff --git a/shapepipe/modules/swarp_runner.py b/shapepipe/modules/swarp_runner.py index 5c67fa127..e08481f87 100644 --- a/shapepipe/modules/swarp_runner.py +++ b/shapepipe/modules/swarp_runner.py @@ -78,7 +78,7 @@ def get_history(coadd_path, image_path_list): file_ext=['.txt'], executes=['swarp'], depends=['numpy', 'astropy', 'sip_tpv']) def swarp_runner(input_file_list, run_dirs, file_number_string, - config, w_log): + config, module_config_sec, w_log): num = '-' + re.split('-', file_number_string)[1] diff --git a/shapepipe/modules/uncompress_fits_image_package/uncompress.py b/shapepipe/modules/uncompress_fits_image_package/uncompress.py index 6ca3e806e..2a720cc88 100644 --- a/shapepipe/modules/uncompress_fits_image_package/uncompress.py +++ b/shapepipe/modules/uncompress_fits_image_package/uncompress.py @@ -56,17 +56,17 @@ def process(self): """ # Go through input list - for i in range(len(self._input_file_list)): + for idx in range(len(self._input_file_list)): # Get data and header - data = fits.getdata(self._input_file_list[i], self._data_hdu) - header = fits.getheader(self._input_file_list[i], self._data_hdu) + data = fits.getdata(self._input_file_list[idx], self._data_hdu) + header = fits.getheader(self._input_file_list[idx], self._data_hdu) # Create and write new FITS file with that HDU only hdu = fits.PrimaryHDU(data, header) hdul = fits.HDUList([hdu]) hdul.writeto( f'{self._output_dir}/' - + f'{self._output_pattern_list[i]}' + + f'{self._output_pattern_list[idx]}' + f'{self._file_number_string}.fits' ) diff --git a/shapepipe/modules/uncompress_fits_image_runner.py b/shapepipe/modules/uncompress_fits_image_runner.py index 22cb91597..4c216f55c 100644 --- a/shapepipe/modules/uncompress_fits_image_runner.py +++ b/shapepipe/modules/uncompress_fits_image_runner.py @@ -28,15 +28,16 @@ def uncompress_fits_image_runner( run_dirs, file_number_string, config, + module_config_sec, w_log ): # Get output patterns - output_pattern_list = config.getlist('UNCOMPRESS_FITS_IMAGE_RUNNER', 'OUTPUT_PATTERN') + output_pattern_list = config.getlist(module_config_sec, 'OUTPUT_PATTERN') # Get HDU number - if config.has_option('UNCOMPRESS_FITS_IMAGE_RUNNER', 'HDU_DATA'): - data_hdu = config.getint("UNCOMPRESS_FITS_IMAGE_RUNNER", "HDU_DATA") + if config.has_option(module_config_sec, 'HDU_DATA'): + data_hdu = config.getint(module_config_sec, 'HDU_DATA') else: data_hdu = 0 diff --git a/shapepipe/utilities/canfar.py b/shapepipe/utilities/canfar.py index 7de4ca445..f86b20050 100644 --- a/shapepipe/utilities/canfar.py +++ b/shapepipe/utilities/canfar.py @@ -76,7 +76,6 @@ def command(self): ------ ValueError if value is not valid vos command - """ return self._command diff --git a/shapepipe/utilities/galaxy.py b/shapepipe/utilities/galaxy.py index 212cd7f4c..20cad7023 100644 --- a/shapepipe/utilities/galaxy.py +++ b/shapepipe/utilities/galaxy.py @@ -13,7 +13,7 @@ """ -def sigma_to_fwhm(sigma, pixel_size=1): +def sigma_to_fwhm(sigma, pixel_scale=1): """sigma to fwhm Transform from size sigma to FWHM. @@ -23,7 +23,7 @@ def sigma_to_fwhm(sigma, pixel_size=1): ---------- sigma : (array of) float input size(s) - pixel_size : float, optional, default=1 + pixel_scale : float, optional, default=1 pixel size in arcsec, set to 1 if no scaling required @@ -36,4 +36,4 @@ def sigma_to_fwhm(sigma, pixel_size=1): # cst = 2 * sqrt(2 * ln(2)) cst = 2.35482004503 - return sigma * cst * pixel_size + return sigma * cst * pixel_scale