Skip to content

Commit

Permalink
So many changes about the AMOC paper - it is a lot.
Browse files Browse the repository at this point in the history
  • Loading branch information
ledm committed Oct 8, 2024
1 parent 7c075fe commit 00c9be2
Show file tree
Hide file tree
Showing 29 changed files with 1,525 additions and 103 deletions.
2 changes: 2 additions & 0 deletions bgcval2/bgcval2_make_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -1490,6 +1490,8 @@ def newImageLocation(fn):
'NorthernTotalIceExtent',
'SouthernTotalIceExtent',
'Temperature_Global_Surface',
'Temperature_NorthernHemisphere_Surface',
'Temperature_SouthernHemisphere_Surface',
'Salinty_Global_Surface',
'AtlanticSubtropicalSalinity',
'FreshwaterFlux_Global',
Expand Down
44 changes: 24 additions & 20 deletions bgcval2/bgcvaltools/generic_map_legend.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,26 +219,30 @@ def make_figure(region):

def main():
regions = [
'Ascension',
'ITCZ',
'TristandaCunha',
'Pitcairn',
'Cornwall',
'SubtropicNorthAtlantic',
'SPNA',
'STNA',
'SouthernOcean',
'ArcticOcean',
'Equator10',
'NorthPacificOcean',
'SouthPacificOcean',
'NorthAtlanticOcean',
'SouthAtlanticOcean',
'GINseas',
'LabradorSea',
'EquatorialAtlanticOcean',
'Global',
'ignoreInlandSeas',
'LIseas',
# 'LIGINseas',
# 'GLINseas',
# 'Ascension',
# 'ITCZ',
# 'TristandaCunha',
# 'Pitcairn',
# 'Cornwall',
# 'SubtropicNorthAtlantic',
# 'SPNA',
# 'STNA',
# 'SouthernOcean',
# 'ArcticOcean',
# 'Equator10',
# 'NorthPacificOcean',
# 'SouthPacificOcean',
# 'NorthAtlanticOcean',
# 'SouthAtlanticOcean',
# 'GINseas',
# 'LabradorSea',
# 'IrmingerSea',
# 'EquatorialAtlanticOcean',
# 'Global',
# 'ignoreInlandSeas',
]
for region in regions[:]:
make_figure(region)
Expand Down
50 changes: 48 additions & 2 deletions bgcval2/bgcvaltools/makeMask.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,19 @@ def makeMask(name, newSlice, xt, xz, xy, xx, xd, debug=False):
mx = np.ma.masked_outside(xx, -80., -10.).mask + np.ma.masked_outside(
xy, 24.5, 28.5).mask
return mx


if newSlice in ['26N', ]:
mx = np.ma.masked_outside(
xy, 24.5, 28.5).mask
return mx
if newSlice in ['40N', ]:
mx = np.ma.masked_outside(
xy, 38., 42.).mask
return mx
if newSlice in ['30S', ]:
mx = np.ma.masked_outside(
xy, -32., -28., ).mask
return mx

if newSlice in ['SubpolarNorthAtlantic', 'SPNA',]:
# Based on SPNA region here: https://www.nature.com/articles/s43247-021-00120-y#citeas
Expand All @@ -273,16 +285,49 @@ def makeMask(name, newSlice, xt, xz, xy, xx, xd, debug=False):

if newSlice in ['GINseas',]: #Greenland, icveland and norwegean seas
mx = np.ma.masked_outside(xx, -20., 15.).mask + np.ma.masked_outside(
xy, 65., 75.).mask
xy, 65., 75.).mask
return mx
#65-75:20W-15E

if newSlice in ['GLINseas',]: #Greenland, Labrador, Iceland and norwegean seas
mx = np.ma.masked_outside(xx, -20., 15.).mask + np.ma.masked_outside(
xy, 65., 75.).mask
mx *= (np.ma.masked_outside(xx, -69., -45.).mask + np.ma.masked_outside(xy, 53., 67.).mask)
return mx

if newSlice in ['LIGINseas',]: #Greenland, Labrador, Iceland and norwegean seas
mx = np.ma.masked_outside(xx, -20., 15.).mask + np.ma.masked_outside(
xy, 65., 75.).mask # GIN
mx *= (np.ma.masked_outside(xx, -69., -45.).mask + np.ma.masked_outside(xy, 53., 67.).mask) #Lab
mx *= (np.ma.masked_outside(xx, -45., -25.).mask + np.ma.masked_outside(xy, 53., 67.).mask) #Irm main
mx += ((np.ma.masked_inside(xx, -30., -25.).mask * np.ma.masked_inside(xy, 53., 58.).mask)) #Irm square
mx += ((np.ma.masked_inside(xx, -32.5, -30.).mask * np.ma.masked_inside(xy, 53., 55.5).mask)) #Irm small square left
mx += ((np.ma.masked_inside(xx, -27.5, -25.).mask * np.ma.masked_inside(xy, 58., 60.5).mask)) #Irm small square top
return mx

if newSlice in ['LIseas',]: #Labrador & Irminger seas
mx = (np.ma.masked_outside(xx, -69., -45.).mask + np.ma.masked_outside(xy, 53., 67.).mask) #Lab
mx *= (np.ma.masked_outside(xx, -45., -25.).mask + np.ma.masked_outside(xy, 53., 67.).mask) #Irm main
mx += ((np.ma.masked_inside(xx, -30., -25.).mask * np.ma.masked_inside(xy, 53., 58.).mask)) #Irm square
mx += ((np.ma.masked_inside(xx, -32.5, -30.).mask * np.ma.masked_inside(xy, 53., 55.5).mask)) #Irm small square left
mx += ((np.ma.masked_inside(xx, -27.5, -25.).mask * np.ma.masked_inside(xy, 58., 60.5).mask)) #Irm small square top
return mx

if newSlice == 'AtlanticSOcean':
mx = np.ma.masked_outside(xx, -40., 20.).mask + np.ma.masked_outside(
xy, -50., -75.).mask
return mx

if newSlice == 'IrmingerSea':
mx = np.ma.masked_outside(xx, -45., -25.).mask + np.ma.masked_outside(xy, 53., 67.).mask
# mx += np.ma.masked_outside(xy, 53., 67.).mask
mx += ((np.ma.masked_inside(xx, -30., -25.).mask * np.ma.masked_inside(xy, 53., 58.).mask)) #Irm
mx += ((np.ma.masked_inside(xx, -32.5, -30.).mask * np.ma.masked_inside(xy, 53., 55.5).mask)) #Irm
mx += ((np.ma.masked_inside(xx, -27.5, -25.).mask * np.ma.masked_inside(xy, 58., 60.5).mask)) #Irm

return mx


if newSlice == 'NordicSea':
mx = np.ma.masked_outside(xx, -44., -5.).mask
mx += np.ma.masked_outside(xy, 53., 65.).mask
Expand All @@ -297,6 +342,7 @@ def makeMask(name, newSlice, xt, xz, xy, xx, xd, debug=False):
mx = np.ma.masked_outside(xx, -15., 10.).mask
mx += np.ma.masked_outside(xy, 67., 76.).mask
return mx


if newSlice == 'Cornwall':
mx = np.ma.masked_outside(xx, -8., -4.).mask
Expand Down
9 changes: 8 additions & 1 deletion bgcval2/bgcvaltools/pftnames.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,12 +276,14 @@ def makeLongNameDict():

lnd['sowaflup'] = "Net Upward Water Flux"
lnd['sohefldo'] = "Net Downward Heat Flux"
lnd['fsitherm'] = "Water flux due to freezing/melting"
lnd['sosafldo'] = "Downward salt flux"
lnd['sofmflup'] = "Water flux due to freezing/melting"
lnd['sosfldow'] = "Downward salt flux"
lnd['soicecov'] = "Ice Fraction"
lnd['sossheig'] = "Sea Surface Height"
lnd['FreshwaterFlux'] = "Freshwater Flux"

lnd['hfbasinatlantic'] = 'Northward Atlantic heat transport'
lnd['exportRatio'] = "Export Ratio"
lnd['LocalExportRatio'] = "Export Ratio"

Expand Down Expand Up @@ -544,6 +546,8 @@ def makeLongNameDict():
lnd['SouthHemisphere'] = "South Hemisphere"
lnd['26N'] = "26N"
lnd['32S'] = "32S"
lnd['30S'] = "30S"
lnd['40N'] = "40N"

lnd['WeddelSea'] = "Weddel Sea"
lnd['Enderby'] = "Enderby Region" # Regions from Pierce 1995 - https://doi.org/10.1175/1520-0485(1995)025<2046:CROHAF>2.0.CO;2
Expand All @@ -563,6 +567,9 @@ def makeLongNameDict():
lnd['STSA'] = "Subtropic North Atlantic"
lnd['SubtropicSouthAtlantic'] = lnd['STSA']
lnd['GINseas'] = 'Greenland, Iceland, Norway seas'
lnd['IrmingerSea'] = 'Irminger Sea'
lnd['LIGINseas'] = 'Labrador, Irminger, Greenland, Iceland, Norway seas'
lnd['LIseas'] = 'Labrador and Irminger seas'

lnd['SubpolarNorthAtlantic'] = lnd['SPNA']
lnd['NorthernSubpolarPacific'] = "Northern Subpolar Pacific"
Expand Down
4 changes: 2 additions & 2 deletions input_yml/TerraFIRMA_overshoot_recovery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,9 @@ jobs:


u-dc051:
description: 'Rampdown from yr 50 of 1.5 stab #1, -4GtC/yr (#1)'
description: 'Rampdown from yr 50 of 2 stab #1, -4GtC/yr (#1)'
label: None #'1.5K Rampdown #1'
colour: 'lawngreen'
colour: 'goldenrod'
thickness: 1.7
linestyle: 'dashed'
shifttime: -1995.
Expand Down
64 changes: 37 additions & 27 deletions input_yml/TerraFIRMA_overshoot_runs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ jobs:

# 1.5 degree rampdown
u-da697:
description: '1.5K Rampdown from u-cx209 (#1)'
description: '1.5K Rampdown from u-cx209 -8PgC (#1)'
label: '-8.Pg/yr'
colour: 'lawngreen'
thickness: 1.7
Expand All @@ -287,9 +287,9 @@ jobs:
suite: *keylists

u-dc051:
description: 'Rampdown from yr 50 of 1.5 stab #1, -4GtC/yr (#1)'
description: 'Rampdown from yr 50 of 2. stab #1, -4GtC/yr (#1)'
label: '-4.Pg/yr'
colour: 'lawngreen'
colour: 'goldenrod'
thickness: 1.7
linestyle: 'dashed'
# shifttime: -1995.
Expand Down Expand Up @@ -327,7 +327,7 @@ jobs:
suite: *keylists

u-da800:
description: 'Ramp down from cy838 (- 2.0K Stabilisation from u-cx209) (#1)'
description: '-8 Ramp down from cy838 (- 2.0K Stabilisation from u-cx209) (#1)'
label: None #'2K Rampdown #1'
colour: 'goldenrod'
thickness: 1.7
Expand Down Expand Up @@ -361,11 +361,21 @@ jobs:
thickness: 1.7
linestyle: 'dashdot'
#shifttime: -2144.
suite: *keylists
suite: *keylists

u-di335:
description: '-8 Ramp down from cy838 (2.0K Stabilisation 50 years)'
label: None #'2K Rampdown #1'
colour: 'goldenrod'
thickness: 1.7
linestyle: 'dashdot'
#shifttime: -2144.
# suite: *keylists
#

# 3 degree rampdown
u-db223:
description: '3.K Rampdown (#1)'
description: '3.K Rampdown (#1) -8PgC'
label: None #'3.K Rampdown #1'
colour: 'red'
thickness: 1.7
Expand All @@ -390,6 +400,15 @@ jobs:
linestyle: 'dashed'
#shifttime: -2023.
suite: *keylists
u-de620:
description: '-8 Ramp down from cz375 (3.0K Stabilisation 50 years) (#1)'
label: None
colour: 'red'
thickness: 1.7
linestyle: 'dotted'
#shifttime: -2023.
# suite: *keylists
#

u-df028:
description: '-4 Ramp down from cz375 (3.0K Stabilisation 50 years) (#1)'
Expand Down Expand Up @@ -420,7 +439,7 @@ jobs:

# 4 degree rampdown
u-da892:
description: '4.K Rampdown (#1)'
description: '4.K Rampdown (#1) -8PgC'
label: None #'4.K Rampdown #1'
colour: 'sienna'
thickness: 1.7
Expand Down Expand Up @@ -493,15 +512,15 @@ jobs:
#shifttime: -2188.
suite: *keylists

# u-db956:
# description: '1.5K Rampdown -8GtC/yr, 0 years, (#1)'
# label: '1.5K Rampdown #1'
# colour: 'lawngreen'
# thickness: 1.7
# linestyle: '-'
# shifttime: -1919.
# suite: *keylists

# u-db956: # Failed.
# description: '1.5K Rampdown -8GtC/yr, 0 years, (#1)'
# label: '1.5K Rampdown #1'
# colour: 'lawngreen'
# thickness: 1.7
# linestyle: '-'
## shifttime: -1919.
# SUIte: *keylists
#
# u-dc032:
# description: 'ramp-down from yr 50 of 3.0 stab #1, free ice, -4GtC/yr (#1)'
# label: None #'3K Rampdown #1'
Expand Down Expand Up @@ -532,15 +551,6 @@ jobs:
# #timerange: [1800, 2050]
# suite: *keylists




# Ramp down stables.
u-dc163:
description: 'Stable post ramp-down (#1)'
label: '0.Pg/yr'
colour: 'green'
thickness: 1.6
linestyle: '-'
shifttime: 0.
#timerange: [1800, 2050]
Expand All @@ -549,13 +559,13 @@ jobs:


# added Monday 13th May:
# u-df453:
# u-df453: # Data exists but don';t have perkmission.
# description: '-8 Ramp down from cz375 (3.0K Stabilisation 50 years) (#1)'
# label: None #'2K Rampdown #1'
# colour: 'red'
# thickness: 1.7
# linestyle: 'dotted'
# #shifttime: -2043.
## #shifttime: -2043.
# suite: *keylists
# NO DATA ON MASS - 2024-05-13
#
Expand Down
Loading

0 comments on commit 00c9be2

Please sign in to comment.