#BarrenLand
How much of the world is grassland?🌱

Research led by @integrativebiology.bsky.social's Dr. Andrew MacDougall pairs satellite imagery with local expertise from 60 countries for a more accurate picture, finding that coverage may be lower than past estimates suggest.

🗞️ www.uoguelph.ca/cbs/news/202...
June 2, 2026 at 5:03 PM
I can see it. Barrenland Risk 18 was mostly tankcheck+burn tiles which no longer becomes an option in high risk, so it makes sense that the optimized clear is still push-stalling which hasn't really evolved much past Weedy (except Ascalon replacing Ethan/Manticore)
April 11, 2026 at 12:20 PM
rip, ive wanted old ccs back for ages for this exact reason of seeing how modern ops would do against it. not surprised most of them are down to 3-4 ops but its interesting that barrenland is apparently the hardest of the really old ones
April 11, 2026 at 11:12 AM
Actually, this is uncommon, but true.
Black bears are everywhere in north Saskatchewan.
When I was in Stony Rapids a few years ago, local store had photos up of a hunter who had shot a barrenland grizzly nearby.
And here is an evidence of a polar bear in northern SK: @ryankbrook.bsky.social
www.canadianfieldnaturalist.ca
May 14, 2026 at 5:51 PM
危機契約イベントの時だけ聞ける歌が必ずあるとか、ゲーム内では『聞けない』楽曲がたくさん公開されているとか、ハイパーグリフが「レコード会社」とネタにされるのも無理ない。いろんな種類の良曲の宝庫。
youtube.com/playlist?lis...
明日方舟OST - YouTube
<欠曲> ・Tower Fierce(OST3)※グローバル未配信 ・Operation Pine Soot Battle Theme(危機契約#7) ※未配信 ・Operation Barrenland(危機契約#0)
youtube.com
May 18, 2025 at 11:35 AM
失礼します。危機契約のBGMプレイリストがこちらです
youtube.com/playlist?lis...

カジミエージュは「Operation Dawnseeker」ですかね?
youtu.be/ADaCv6FXq8I?...
危機契約メインBGM - YouTube
危機契約のメインテーマを集めました。その他の音楽(inst、戦闘BGM)はそれぞれの曲の概要欄から飛べると思います。 危機契約#0 operation barrenlandを除く 危機契約#3 Battleplan Extinguished Sinsを追加しました
youtube.com
May 18, 2025 at 11:32 AM
明日方舟の曲に飽きたら、明日方舟の曲を聴くんだよ!
youtube.com/playlist?lis...
明日方舟OST - YouTube
<欠曲> ・Tower Fierce(OST3)※グローバル未配信 ・Operation Pine Soot Battle Theme(危機契約#7) ※未配信 ・Operation Barrenland(危機契約#0)
youtube.com
November 2, 2024 at 8:22 AM
To Conquer Chaos (1964) by John Brunner ✅ - an ostracised soap-maker may hold the key to the mystery of the "barrenland" and the monsters that emerge from it. Solid adventure, with good conceptual breakthroughs.
October 28, 2025 at 8:57 AM
Export band value range of one landcover class after Random forest classification
I have classified my study area into six landcover classes (water, urban, barrenland,plantation, nonmangroves forests and mangroves) using Random Forest. I used six bands for classification (red, blue, green, nir, NDVI, NDWI). I now wish to get the NDVI values of all pixels that have been classified as 'mangroves' by my classifier. Can someone show me how to do that? Here is my code: //i) Merge hand-drawn polygons into one FeatureCollection: var FCmerged=water.merge(urban).merge(barrenland).merge(plantation).merge(nonMangrove).merge(mangrove); print(FCmerged.size()); Map.addLayer(FCmerged, {}, 'FCMerged'); //ii) Select bands to be used for classification: var bands = ['B2', 'B3', 'B4','B5','NDWI','NDVI']; print(bands,'bands'); //iii) Using Stratified RandomSampling to generate training points within the polygons: var FCimage=ee.Image().byte().paint(FCmerged, "lc").rename("lc") print(FCimage, 'image'); var stratifiedsample=FCimage.stratifiedSample({ numPoints:1200, classBand:"lc", region:ROI, scale:30, classValues:[0,1,2,3,4,5], classPoints:[200,200,200,200,200,200], geometries:true }) // iv) Collect and map training points: print('Stratified samples',stratifiedsample); print(stratifiedsample.reduceColumns(ee.Reducer.frequencyHistogram(),['lc']).get('histogram','No of points')); //v) Extract pixel values of the training points: var trainingPoints=l8.select(bands).sampleRegions({ collection:stratifiedsample, properties:["lc"], geometries:true, scale:30, }) print(trainingPoints,{},'trainingPoints'); Map.addLayer(trainingPoints, {},'trainingPoints',false); // vi) Split the training points by 70%/30% var sample=trainingPoints.randomColumn(); var split = 0.7; // Roughly 70% training, 30% testing. var training = sample.filter(ee.Filter.lt('random', split)); print(training,'points for classifier'); var test = sample.filter(ee.Filter.gte('random', split)); print(test,'Testing points'); // vii) Build the Random Forest classifier: var RandomForest=ee.Classifier.smileRandomForest(1000).train({ features:training, classProperty:'lc', inputProperties:bands, }); print('Random forest, explained', RandomForest.explain()); //viii) Classify L8 using RandomForest: var L8Classified=l8.select(bands).classify(RandomForest); //here l8 is an imagecomposite of landsat 8 images for 2020. print(L8Classified, 'L8 Classified'); // this output is an image //ix) Visualisation parameters: var lcPalette = [ '0000FF', // water (0) (blue) 'FF00FF', // urban (1) (fuschia) '008080',//barrenland (2) (teal) 'FFFF00',// plantation (3) (yellow) '008000',//nonmangroveforests (4) (green) 'FF0000', // mangroveforest (5) (red) ]; //x) Add Classified landcover onto map: Map.addLayer(L8Classified, {palette:lcPalette, min:0,max:5}, 'LULCC_2020'); // xi) Check the acuracy of the classification using a confusion matrix: var confusionMatrix = RandomForest.confusionMatrix(); print('Classification accuracy: ', confusionMatrix.accuracy()); //xii) Validate the RandomForest Classification using test points: var testEvaluation = test.classify(RandomForest); print('Test Evaluation', testEvaluation); //this output is a Feature Collection // xiii) Get a confusion matrix representing expected accuracy. var testAccuracy = testEvaluation.errorMatrix('lc', 'classification'); print('Validation error matrix: ', testAccuracy); print('Validation overall accuracy: ', testAccuracy.accuracy()); //xiv) Extract NDVI of classified mangrove class to study mangrove health: var mangroveNDVI = L8Classified.updateMask(L8Classified.eq(5)); // mask it print(mangroveNDVI); Map.addLayer(mangroveNDVI,{},'Crops');
gis.stackexchange.com
July 10, 2026 at 1:09 PM
Export band value range of one landcover class after Random forest classification
I have classified my study area into six landcover classes (water, urban, barrenland,plantation, nonmangroves forests and mangroves) using Random Forest. I used six bands for classification (red, blue, green, nir, NDVI, NDWI). I now wish to get the NDVI values of all pixels that have been classified as 'mangroves' by my classifier. Can someone show me how to do that? Here is my code: //i) Merge hand-drawn polygons into one FeatureCollection: var FCmerged=water.merge(urban).merge(barrenland).merge(plantation).merge(nonMangrove).merge(mangrove); print(FCmerged.size()); Map.addLayer(FCmerged, {}, 'FCMerged'); //ii) Select bands to be used for classification: var bands = ['B2', 'B3', 'B4','B5','NDWI','NDVI']; print(bands,'bands'); //iii) Using Stratified RandomSampling to generate training points within the polygons: var FCimage=ee.Image().byte().paint(FCmerged, "lc").rename("lc") print(FCimage, 'image'); var stratifiedsample=FCimage.stratifiedSample({ numPoints:1200, classBand:"lc", region:ROI, scale:30, classValues:[0,1,2,3,4,5], classPoints:[200,200,200,200,200,200], geometries:true }) // iv) Collect and map training points: print('Stratified samples',stratifiedsample); print(stratifiedsample.reduceColumns(ee.Reducer.frequencyHistogram(),['lc']).get('histogram','No of points')); //v) Extract pixel values of the training points: var trainingPoints=l8.select(bands).sampleRegions({ collection:stratifiedsample, properties:["lc"], geometries:true, scale:30, }) print(trainingPoints,{},'trainingPoints'); Map.addLayer(trainingPoints, {},'trainingPoints',false); // vi) Split the training points by 70%/30% var sample=trainingPoints.randomColumn(); var split = 0.7; // Roughly 70% training, 30% testing. var training = sample.filter(ee.Filter.lt('random', split)); print(training,'points for classifier'); var test = sample.filter(ee.Filter.gte('random', split)); print(test,'Testing points'); // vii) Build the Random Forest classifier: var RandomForest=ee.Classifier.smileRandomForest(1000).train({ features:training, classProperty:'lc', inputProperties:bands, }); print('Random forest, explained', RandomForest.explain()); //viii) Classify L8 using RandomForest: var L8Classified=l8.select(bands).classify(RandomForest); //here l8 is an imagecomposite of landsat 8 images for 2020. print(L8Classified, 'L8 Classified'); // this output is an image //ix) Visualisation parameters: var lcPalette = [ '0000FF', // water (0) (blue) 'FF00FF', // urban (1) (fuschia) '008080',//barrenland (2) (teal) 'FFFF00',// plantation (3) (yellow) '008000',//nonmangroveforests (4) (green) 'FF0000', // mangroveforest (5) (red) ]; //x) Add Classified landcover onto map: Map.addLayer(L8Classified, {palette:lcPalette, min:0,max:5}, 'LULCC_2020'); // xi) Check the acuracy of the classification using a confusion matrix: var confusionMatrix = RandomForest.confusionMatrix(); print('Classification accuracy: ', confusionMatrix.accuracy()); //xii) Validate the RandomForest Classification using test points: var testEvaluation = test.classify(RandomForest); print('Test Evaluation', testEvaluation); //this output is a Feature Collection // xiii) Get a confusion matrix representing expected accuracy. var testAccuracy = testEvaluation.errorMatrix('lc', 'classification'); print('Validation error matrix: ', testAccuracy); print('Validation overall accuracy: ', testAccuracy.accuracy()); //xiv) Extract NDVI of classified mangrove class to study mangrove health: var mangroveNDVI = L8Classified.updateMask(L8Classified.eq(5)); // mask it print(mangroveNDVI); Map.addLayer(mangroveNDVI,{},'Crops');
gis.stackexchange.com
March 11, 2026 at 4:08 AM
Export band value range of one landcover class after Random forest classification
I have classified my study area into six landcover classes (water, urban, barrenland,plantation, nonmangroves forests and mangroves) using Random Forest. I used six bands for classification (red, blue, green, nir, NDVI, NDWI). I now wish to get the NDVI values of all pixels that have been classified as 'mangroves' by my classifier. Can someone show me how to do that? Here is my code: //i) Merge hand-drawn polygons into one FeatureCollection: var FCmerged=water.merge(urban).merge(barrenland).merge(plantation).merge(nonMangrove).merge(mangrove); print(FCmerged.size()); Map.addLayer(FCmerged, {}, 'FCMerged'); //ii) Select bands to be used for classification: var bands = ['B2', 'B3', 'B4','B5','NDWI','NDVI']; print(bands,'bands'); //iii) Using Stratified RandomSampling to generate training points within the polygons: var FCimage=ee.Image().byte().paint(FCmerged, "lc").rename("lc") print(FCimage, 'image'); var stratifiedsample=FCimage.stratifiedSample({ numPoints:1200, classBand:"lc", region:ROI, scale:30, classValues:[0,1,2,3,4,5], classPoints:[200,200,200,200,200,200], geometries:true }) // iv) Collect and map training points: print('Stratified samples',stratifiedsample); print(stratifiedsample.reduceColumns(ee.Reducer.frequencyHistogram(),['lc']).get('histogram','No of points')); //v) Extract pixel values of the training points: var trainingPoints=l8.select(bands).sampleRegions({ collection:stratifiedsample, properties:["lc"], geometries:true, scale:30, }) print(trainingPoints,{},'trainingPoints'); Map.addLayer(trainingPoints, {},'trainingPoints',false); // vi) Split the training points by 70%/30% var sample=trainingPoints.randomColumn(); var split = 0.7; // Roughly 70% training, 30% testing. var training = sample.filter(ee.Filter.lt('random', split)); print(training,'points for classifier'); var test = sample.filter(ee.Filter.gte('random', split)); print(test,'Testing points'); // vii) Build the Random Forest classifier: var RandomForest=ee.Classifier.smileRandomForest(1000).train({ features:training, classProperty:'lc', inputProperties:bands, }); print('Random forest, explained', RandomForest.explain()); //viii) Classify L8 using RandomForest: var L8Classified=l8.select(bands).classify(RandomForest); //here l8 is an imagecomposite of landsat 8 images for 2020. print(L8Classified, 'L8 Classified'); // this output is an image //ix) Visualisation parameters: var lcPalette = [ '0000FF', // water (0) (blue) 'FF00FF', // urban (1) (fuschia) '008080',//barrenland (2) (teal) 'FFFF00',// plantation (3) (yellow) '008000',//nonmangroveforests (4) (green) 'FF0000', // mangroveforest (5) (red) ]; //x) Add Classified landcover onto map: Map.addLayer(L8Classified, {palette:lcPalette, min:0,max:5}, 'LULCC_2020'); // xi) Check the acuracy of the classification using a confusion matrix: var confusionMatrix = RandomForest.confusionMatrix(); print('Classification accuracy: ', confusionMatrix.accuracy()); //xii) Validate the RandomForest Classification using test points: var testEvaluation = test.classify(RandomForest); print('Test Evaluation', testEvaluation); //this output is a Feature Collection // xiii) Get a confusion matrix representing expected accuracy. var testAccuracy = testEvaluation.errorMatrix('lc', 'classification'); print('Validation error matrix: ', testAccuracy); print('Validation overall accuracy: ', testAccuracy.accuracy()); //xiv) Extract NDVI of classified mangrove class to study mangrove health: var mangroveNDVI = L8Classified.updateMask(L8Classified.eq(5)); // mask it print(mangroveNDVI); Map.addLayer(mangroveNDVI,{},'Crops');
gis.stackexchange.com
November 8, 2025 at 8:09 AM
Export band value range of one landcover class after Random forest classification
I have classified my study area into six landcover classes (water, urban, barrenland,plantation, nonmangroves forests and mangroves) using Random Forest. I used six bands for classification (red, blue, green, nir, NDVI, NDWI). I now wish to get the NDVI values of all pixels that have been classified as 'mangroves' by my classifier. Can someone show me how to do that? Here is my code: //i) Merge hand-drawn polygons into one FeatureCollection: var FCmerged=water.merge(urban).merge(barrenland).merge(plantation).merge(nonMangrove).merge(mangrove); print(FCmerged.size()); Map.addLayer(FCmerged, {}, 'FCMerged'); //ii) Select bands to be used for classification: var bands = ['B2', 'B3', 'B4','B5','NDWI','NDVI']; print(bands,'bands'); //iii) Using Stratified RandomSampling to generate training points within the polygons: var FCimage=ee.Image().byte().paint(FCmerged, "lc").rename("lc") print(FCimage, 'image'); var stratifiedsample=FCimage.stratifiedSample({ numPoints:1200, classBand:"lc", region:ROI, scale:30, classValues:[0,1,2,3,4,5], classPoints:[200,200,200,200,200,200], geometries:true }) // iv) Collect and map training points: print('Stratified samples',stratifiedsample); print(stratifiedsample.reduceColumns(ee.Reducer.frequencyHistogram(),['lc']).get('histogram','No of points')); //v) Extract pixel values of the training points: var trainingPoints=l8.select(bands).sampleRegions({ collection:stratifiedsample, properties:["lc"], geometries:true, scale:30, }) print(trainingPoints,{},'trainingPoints'); Map.addLayer(trainingPoints, {},'trainingPoints',false); // vi) Split the training points by 70%/30% var sample=trainingPoints.randomColumn(); var split = 0.7; // Roughly 70% training, 30% testing. var training = sample.filter(ee.Filter.lt('random', split)); print(training,'points for classifier'); var test = sample.filter(ee.Filter.gte('random', split)); print(test,'Testing points'); // vii) Build the Random Forest classifier: var RandomForest=ee.Classifier.smileRandomForest(1000).train({ features:training, classProperty:'lc', inputProperties:bands, }); print('Random forest, explained', RandomForest.explain()); //viii) Classify L8 using RandomForest: var L8Classified=l8.select(bands).classify(RandomForest); //here l8 is an imagecomposite of landsat 8 images for 2020. print(L8Classified, 'L8 Classified'); // this output is an image //ix) Visualisation parameters: var lcPalette = [ '0000FF', // water (0) (blue) 'FF00FF', // urban (1) (fuschia) '008080',//barrenland (2) (teal) 'FFFF00',// plantation (3) (yellow) '008000',//nonmangroveforests (4) (green) 'FF0000', // mangroveforest (5) (red) ]; //x) Add Classified landcover onto map: Map.addLayer(L8Classified, {palette:lcPalette, min:0,max:5}, 'LULCC_2020'); // xi) Check the acuracy of the classification using a confusion matrix: var confusionMatrix = RandomForest.confusionMatrix(); print('Classification accuracy: ', confusionMatrix.accuracy()); //xii) Validate the RandomForest Classification using test points: var testEvaluation = test.classify(RandomForest); print('Test Evaluation', testEvaluation); //this output is a Feature Collection // xiii) Get a confusion matrix representing expected accuracy. var testAccuracy = testEvaluation.errorMatrix('lc', 'classification'); print('Validation error matrix: ', testAccuracy); print('Validation overall accuracy: ', testAccuracy.accuracy()); //xiv) Extract NDVI of classified mangrove class to study mangrove health: var mangroveNDVI = L8Classified.updateMask(L8Classified.eq(5)); // mask it print(mangroveNDVI); Map.addLayer(mangroveNDVI,{},'Crops');
gis.stackexchange.com
July 9, 2025 at 8:06 PM
I think (though I’m not certain) it’s an adult female, soon after calving. Barrenland caribou are quite small.
June 15, 2025 at 2:35 PM
I believe it’s an adult female, not long after calving (it looks thin). Barrenland caribou are quite small compared to woodland caribou.
June 15, 2025 at 2:33 PM