Sen2cor 2.8 fails on product from early 2016 - 'bool' object has no attribute 'SPACECRAFT_NAME'

Hi,
Were you able to resolve this error?
I have the same… I processed for 2019, 2018 and 2017… but for 2016 and 2015 I had this error:

L2A_Process.bat --output_dir F:\RR_area\S2\Sen2Cor\2015 F:\RR_area\S2\SL1C\2015\S2A_MSIL1C_20151223T142942_N0201_R053_T20NQH_20151223T143132\S2A_MSIL1C_20151223T142942_N0201_R053_T20NQH_20200117T192811.SAFE

Sentinel-2 Level 2A Processor (Sen2Cor). Version: 2.8.0, created: 2019.02.20, supporting Level-1C product version 14.2 - 14.5 started …
Old product version 14.2 detected, - will be updated to 14.5
Processing baseline will also be updated
Operation mode: TOOLBOX
Processing baseline: 99.99
Progress[%]: 0.00 : Generating datastrip metadata
Syntax error in metadata, see report file for details.
Schema file: S2-PDGS-TAS-DI-PSD-V14.2_Schema\S2_PDI_Level-1C_Datastrip_Metadata.xsd
Details: Element ‘Image_Display_Order’: This element is not expected. Expected is ( Spectral_Information_List ).
Incorrect datastrip L1C xml format
Traceback (most recent call last):
File “C:\Users\prudente.snap\auxdata\Sen2Cor-02.08.00-win64\Lib\site-packages\sen2cor\L2A_Process.py”, line 534, in
sys.exit(main())
File “C:\Users\prudente.snap\auxdata\Sen2Cor-02.08.00-win64\Lib\site-packages\sen2cor\L2A_Process.py”, line 482, in main
L2A_TILES = config.updateTiles()
File “C:\Users\prudente.snap\auxdata\Sen2Cor-02.08.00-win64\Lib\site-packages\sen2cor\L2A_Config.py”, line 3669, in updateTiles
if self.create_L2A_Tile():
File “C:\Users\prudente.snap\auxdata\Sen2Cor-02.08.00-win64\Lib\site-packages\sen2cor\L2A_Config.py”, line 3694, in create_L2A_Tile
self.getEntriesFromDatastrip()
File “C:\Users\prudente.snap\auxdata\Sen2Cor-02.08.00-win64\Lib\site-packages\sen2cor\L2A_Config.py”, line 3635, in getEntriesFromDatastrip
self.spacecraftName = di.SPACECRAFT_NAME.text
AttributeError: ‘bool’ object has no attribute ‘SPACECRAFT_NAME’
(‘Process image 2 in 18.1499998569 seconds’, ‘/n’)
L2A_Process.bat --output_dir F:\RR_area\S2\Sen2Cor\2015 F:\RR_area\S2\SL1C\2015\S2A_MSIL1C_20151223T142942_N0201_R053_T20NQJ_20151223T143132\S2A_MSIL1C_20151223T142942_N0201_R053_T20NQJ_20200117T192033.SAFE

Same problem here after processing 2016 sentinel-2 image either with sen2coral 2.55 or 2.80. I also used iCOR - S2 processor and the procedure completed successfully but I never managed to open an rgb compose of the image. Did anyone else used iCOR as an alternative solution?

Could be an issue with the file system format on your harddrive.

I had the same problem (Ubuntu 16.04). I eventually discovered that the error dissapeared when I changed the output_dir to a different harddrive. The harddrive I was using for input and output was formatted with NTFS file system. When I reformated the harddrive to EXT4-format the error dissapeared, even when output_dir was on this harddrive.

Hey,
Worked for me!
Thank you!

Hi bleutner,
I got exactly the same error and I added an empty folder AUX_DATA, it worked!
Thank you

1 Like

I’ve been having the same issue with regards the SPACECRAFT_NAME issue.

I’ve identified that it seems to affect images prior to April 2016. For example, the image S2A_MSIL1C_20160327T114352_N0201_R123_T30VVH_20160327T114352.SAFE produces the error, but the image S2A_MSIL1C_20160403T113322_N0201_R080_T30VVH_20160403T113352.SAFE from a few days later completes with no error.

I’ve added the AUX_DATA folder, and I doubt it is anything to do with the format of the HD given I can get sen2cor to run on other images.

I can get sen2cor to work on the images that produce an error by replacing the datastrip MTD_DS.xml from an image that runs successfully. The result is obviously incorrect, however I think therefore there is an issue with the datastrip MTD_DS.xml in the images that fail. However, what the issue is I don’t know.

Has anybody got any ideas/thoughts how to solve this issue?

Try FORCE https://force-eo.readthedocs.io/en/latest/

Hi, it has been solved the same problem using Sen2Cor 2.5.5 for L1C older then 2017 and Sen2Cor 2.8 for L1C data newer than 2017 for me. Actually it all seems to be about PSD version only, which is writen in S2A_MSIL1C_…SAFE\DATASTRIP\DS_EPAE_…\MTD_DS.xml
like
<n1:Level-1C_DataStrip_ID xmlns:n1="https://psd-14.sentinel2.eo.esa.int
or
<n1:Level-1C_DataStrip_ID xmlns:n1=“https://psd-12.sentinel2.eo.esa.int
etc.
See: https://step.esa.int/main/third-party-plugins-2/sen2cor/
" Sen2Cor_v2.5.5 is the previous release and it is needed if the user intends to process old Sentinel-2 L1C data generated with the Products Specification Document older than 14.2 and not reprocessed by ESA.”

Hello, I am using the Sen2Cor 2.5.5 version for L1C to process data since 2016, but I find the following error. Do you know what it could be?

Operation mode PDGS is not supported for Product version 14.2.
Operation mode will be reset to TOOLBOX.

Sentinel-2 Level 2A Processor (Sen2Cor). Version: 2.5.5, created: 2018.03.19, supporting Level-1C product version <= 14.5 started …
Product version: 14.2. Operation mode: TOOLBOX.Syntax error in metadata, see report file for details.
[ERROR] L2A_XmlParse: 120 Schema file: L2A_GIPP.xsd
[ERROR] L2A_XmlParse: 120 Schema file: L2A_GIPP.xsd
[ERROR] L2A_XmlParse: 121 Details: Element ‘Nr_Threads’: This element is not expected. Expected is ( Operation_Mode ).
[ERROR] L2A_XmlParse: 121 Details: Element ‘Nr_Threads’: This element is not expected. Expected is ( Operation_Mode ).
Parsing error:
Schema file: L2A_GIPP.xsd
Details: Element ‘Nr_Threads’: This element is not expected. Expected is ( Operation_Mode ).
Traceback (most recent call last):
File “/home/urielm/sargazo_lage/Sen2Cor-02.05.05-Linux64/lib/python2.7/site-packages/sen2cor/L2A_Process.py”, line 354, in
sys.exit(main())
File “/home/urielm/sargazo_lage/Sen2Cor-02.05.05-Linux64/lib/python2.7/site-packages/sen2cor/L2A_Process.py”, line 301, in main
result = config.readPreferences()
File “/home/urielm/sargazo_lage/Sen2Cor-02.05.05-Linux64/lib/python2.7/site-packages/sen2cor/L2A_Config.py”, line 4140, in readPreferences
par = node.Nr_Processes
File “src/lxml/lxml.objectify.pyx”, line 229, in lxml.objectify.ObjectifiedElement.getattr (src/lxml/lxml.objectify.c:3837)
File “src/lxml/lxml.objectify.pyx”, line 450, in lxml.objectify._lookupChildOrRaise (src/lxml/lxml.objectify.c:6541)
AttributeError: no such child: Nr_Processes

thank you

Hi, @j08lue. I am encountering the exact same problem for 50 out of 100 scenes I am going to work with. Have you found the solution that actually worked?
Thanks!

Did you try adding empty AUX_DATA folders, as proposed above? Not sure whether / how I made this work…

Unfortunately, it didn’t work for me. Thanks anyway!

All products that I tried to process with sen2cor_2.8 and downloaded since March 30, 2021 generate the same error: AttributeError: ‘bool’ object has no attribute 'SPACECRAFT_NAME’

These products can be perfectly corrected when processed with sen2cor2.5.5

3 Likes

In my case, I still encountered an error:

Product version: 14.2. Operation mode: TOOLBOX. Processing baseline: 02.01.
[CRITICAL]  L2A_Config: 3181   Error in creating L2A User Product
[CRITICAL]  L2A_Config: 3181   Error in creating L2A User Product

Nice to hear that it works for some people, though

New version sen2cor 2.9.0 solved the problem. See also item New REFINED L1C tiles do not process with Sen2Cor 2.8

2 Likes

Thanks for your suggestion @vicencpala. The new sen2cor 2.9.0 worked better. I was able to get to a later step of the processing. However, when I tried implementing terrain correction, an error occurred. I posted this issue here. Basically a file (srtm data) access conflict was indicated by the error message. If you know a possible troubleshooting tips, please let me know.

For me 2.9 doesn’t work with new images, same problem… AttributeError: ‘bool’ object has no attribute ‘SPACECRAFT_NAME’

What about 2.10?
You can find it here: Sen2Cor 2.10

oh 2.10 works :slight_smile:

1 Like

Dear user,

We recommend using Sen2Cor 2.11 to process recent Sentinel-2 products.

Please be aware of point 7) of Sen2Cor FAQ if you plan to install Sen2Cor version 2.11 on Linux recent distributions.

Cheers,

@Sen2cor_dev_team